说在前面,本文假设读者有了一定的python基础和mysql基础。
文档操作环境是mac + python3.5 + mysql5.6
1、工具选择与安装
1.1 在此我们选择python3.x 版本进行mysql操作,支持比较好的工具即pymysql。
1.2 安装pymysql
$ pip install PyMySQL
如果系统不支持pip3命令,则离线安装:
$ git clone https://github.com/PyMySQL/PyMySQL
$ cd PyMySQL/
$ python3 setup.py install
1.3 测试
->python
Python 3.5.2 |Anaconda 4.2.0 (x86_64)| (default, Jul 2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymysql
>>> pymysql.
pymysql.BINARY pymysql.__getattribute__(
pymysql.Binary( pymysql.__gt__(
2、pymysql连接数据库
2.1 准备工作
测试数据库能否联通
> mysql -uroot -pmysql
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database learn;
Query OK, 1 row affected (0.01 sec)
2.2 连接mysql
注意输入你自己的数据库地址和密码。本例中直接输出数据库的版本号。
#!/usr/bin/python3
import pymysql
# 打开数据库连接
db = pymysql.connect(**{
'host':'localhost',
'port':3306,
'user':'root',
'password':'mysql',
'db':'learn',
'charset':'utf8mb4',
'cursorclass':pymysql.cursors.DictCursor,
})
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print ("Database version : %s " % data)
# 关闭数据库连接
db.close()
2.3 创建数据库
我们可以使用cursor.execute() 执行任意sql 语句。
#!/usr/bin/python3
import pymysql
# 打开数据库连接
db = pymysql.connect(**{
'host':'localhost',
'port':3306,
'user':'root',
'password':'mysql',
'db':'learn',
'charset':'utf8mb4',
'cursorclass':pymysql.cursors.DictCursor,
})
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
# 使用预处理语句创建表
sql = """CREATE TABLE IF NOT EXISTS EMPLOYEE(
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""
cursor.execute(sql)
# 关闭数据库连接
db.close()
3、pymysql 执行sql语句并获取结果
3.1 数据库插入操作
4、事务的回滚