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
图片 1

3.下载驱动并设置

http://dev.mysql.com/downloads/connector/python/

4.总是测试:

图片 2

 

 

老三。演示如何连接到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

网站地图xml地图