python 连接mysql数据库
一。Windows下
1.下载mysqldb
下载地址:https://sourceforge.net/projects/mysql-python/?source=typ_redirect
2.安装
安装时有一步是选择python的安装位置,因为我的python安装在d盘,但是默认为安装在c盘的,所以我就直接把安装在c盘的文件复制到D盘了。
3.连接数据库
import MySQLdb
conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable")
二。Ubuntu下
1.安装mysql
2.更改mysql默认编码:
ubuntu执行下列语句:
** sudo vim /etc/mysql/my.cnf **
然后在里面插入语句:
[client]
default-character-set = utf8
[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci
退出 vim
重新启动mysql:
** sudo service mysql restart **
重启MySQL后,可以通过MySQL的客户端命令行检查编码:
# mysql -u root -p
3.下载驱动并安装
http://dev.mysql.com/downloads/connector/python/
4.连接测试:
三。演示如何连接到MySQL服务器的test数据库:
>>> cursor = conn.cursor()
# 创建user表:
>>> cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
# 插入一行记录,注意MySQL的占位符是%s:
>>> cursor.execute('insert into user (id, name) values (%s, %s)', ['1', 'Michael'])
>>> cursor.rowcount
1
# 提交事务:
>>> conn.commit()
>>> cursor.close()
#多行插入
其中,有一个很cooooooooooool的功能就是批量操作executemany,可以进行多行插入
先写sql语句。要注意的是里面的参数,不管什么类型,统一使用%s作为占位符
例如,向user表(username,salt,pwd)插入数据
sql = 'INSERT INTO 表名 VALUES(%s,%s,%s)'
对应的param是一个tuple或者list
param = ((username1, salt1, pwd1), (username2, salt2, pwd2), (username3, salt3, pwd3))
这样就包含了三条数据,通过executemany插入
n=cursor.executemany(sql,param)
此处参考:http://blog.csdn.net/colourless/article/details/41444069
# 运行查询:
>>> cursor = conn.cursor()
>>> cursor.execute('select * from user where id = %s', ('1',))
>>> values = cursor.fetchall()
>>> values
[(u'1', u'Michael')]
# 关闭Cursor和Connection:
>>> cursor.close()
True
>>> conn.close()
可参考:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001391435131816c6a377e100ec4d43b3fc9145f3bb8056000
作者:Miranda.Tang
出处:http://www.cnblogs.com/miranda-tang/
本作品采用署名-非商业性使用 3.0协议进行许可。欢迎转载,演绎,但是必须保留本文的署名Miranda.Tang,且不能用于商业目的。
posted on 2016-06-03 16:59 miranda_tang 阅读(932) 评论(0) 编辑 收藏 举报