1.首先安装MySQLdb 这个是连接MySQL数据库的接口
安装 :
直接使用pip进行安装,在此之前需要安装一些系统依赖包。
- CentOS
yum install gcc python-devel mysql-devel zlib-devel openssl-devel
- Ubuntu
sudo apt-get install libmysqlclient-dev libmysqld-dev python-dev python-setuptools
安装完依赖,直接使用pip安装,MySQLdb模块的名字在pip上叫MySQL-python。
pip install MySQL-python
简单的例子
import MySQLdb as mydb
# 连接数据库 db 是数据库名字
conn = mydb.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='test', charset='utf8')
# 也可以使用字典进行连接
config = {
'host': '127.0.0.1',
'port': 3306,
'user': 'root',
'passwd': 'root',
'db': 'test',
'charset': 'utf8'
}
conn = mydb.connect(**config)
# 使用cursor()方法操作游标
cursor = conn.cursor()
# 可以使用execute("sql语句")操作比如创建数据库创建表
# 创建表
TABLE_NAME = 'user'
cursor.execute('CREATE TABLE %s(id int primary key,name varchar(30))' %TABLE_NAME)
# 创建库
DB_NAME = 'test'
cursor.execute('DROP DATABASE IF EXISTS %s' %DB_NAME)
cursor.execute('CREATE DATABASE IF NOT EXISTS %s' %DB_NAME)
# 如果使用事务引擎,可以设置自动提交事务,或者在每次操作完成后手动提交事务conn.commit()
conn.autocommit(1) # conn.autocommit(True)
# 插入数据
#插入一条数据
value = ('小明','1304567893')
# user 是表名 想要插入什么数据 在表后面加入相应的表字段名字
cursor.execute('INSERT INTO user(username,phone) values(%s,%s)', value)
# 如果没有设置自动提交事务,则这里需要手动提交一次
conn.commit()
# 批量插入
values = []
for i in range(3, 20):
values.append((i,'kk'+str(i)))
cursor.executemany('INSERT INTO user(username,phone) values(%s,%s)',values)
# 如果没有设置自动提交事务,则这里需要手动提交一次
conn.commit()
pymsql 的操作和MySQLdb几乎一样