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

posted on 2016-06-03 16:59  miranda_tang  阅读(932)  评论(0编辑  收藏  举报