码迷,mamicode.com
首页 > 数据库 > 详细

利用Python访问Mysql数据库

时间:2015-09-10 22:27:39      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

  首先要明确一点,我们在Python中需要通过第三方库才能访问Mysql。

  有这样几种方式:Mysql-python(即MySQLdb)、pymysql、mysql-connector。Mysql-python是用C写的,速度最快,而后两者是用纯python写的,相对来说速度慢一点。可惜的是Mysql-python只支持到python 2.7,对python 3.X都没有支持。如果你用的是python3,就用不了Mysql-python了。本文章使用的是python 3.4,用的第三方库是pymysql。

  Pymysql的安装

  安装好pip之后。在CMD中输入命令pip install pymysql即可安装。有关于pip的安装和使用请自行百度。

  安装好pymysql后,其使用跟一般的第三方库一样,需要事先import,下面我直接给一个例子,大家可以从IDLE中实验。

  

>>> import pymysql
>>> conn=pymysql.connect(host=localhost,user=root,passwd=password,charset=utf8,port=3306)
#port一般都是3306,charset要写utf8,不然可能会出现乱码
>>> cur=conn.cursor()
#查看有哪些数据库
>>> cur.execute(show databases) 9 >>> databases=[] >>> for i in cur: databases.append(i) >>> databases [(information_schema,), (firstdb,), (hive,), (jeesite,), (mysql,), (school,), (test,), (test1,), (test2015,)] >>> conn.select_db(test) >>> cur.execute(show tables) 7 >>> tables_list=cur.fetchall() >>> tables_list ((user,), (user2,), (user3,), (user4,), (user5,), (user6,), (user7,)) >>> cur.execute(select * from user) 7 >>> user_select_result=cur.fetchall() >>> user_select_result ((1, Michael), (11, ozil), (12, Giroud), (2, Henry), (Alexis, 17), (Ramsey, 16), (Walcott, 14)) >>> cur.execute(select * from user) 7 >>> user_select_result=cur.fetchone() >>> user_select_result (1, Michael) >>> cur.execute(select * from user) 7 >>> user_select_result=cur.fetchmany(4) >>> user_select_result ((1, Michael), (11, ozil), (12, Giroud), (2, Henry)) >>> insert_value=(3,gibbs) >>> cur.execute(insert into user(id,name) values(%s,%s),insert_value) 1 >>> cur.execute(select * from user) 8 >>> user_select_result=cur.fetchall() >>> user_select_result ((1, Michael), (11, ozil), (12, Giroud), (2, Henry), (3, gibbs), (Alexis, 17), (Ramsey, 16), (Walcott, 14)) insert_value_list=[(22,debucy),(33,cech)] >>> cur.executemany(insert into user(id,name) values(%s,%s),insert_value_list) 2 >>> cur.execute(select * from user) 10 >>> user_select_result=cur.fetchall() >>> user_select_result ((1, Michael), (11, ozil), (12, Giroud), (2, Henry), (22, debucy), (3, gibbs), (33, cech), (Alexis, 17), (Ramsey, 16), (Walcott, 14)) >>> conn.commit() >>> cur.execute(update user set name="Ozil" where id="11") 1 >>> user_select_result=cur.fetchall() >>> user_select_result () >>> cur.execute(select * from user) 10 >>> user_select_result=cur.fetchall() >>> user_select_result ((1, Michael), (11, Ozil), (12, Giroud), (2, Henry), (22, debucy), (3, gibbs), (33, cech), (Alexis, 17), (Ramsey, 16), (Walcott, 14))
#修改后一定要comiit,不然删除、更新、添加的数据都不会被写进数据库中。
>>> conn.commit() >>> cur.close() >>> conn.close()

 

利用Python访问Mysql数据库

标签:

原文地址:http://www.cnblogs.com/ArsenalfanInECNU/p/4799261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!