PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中使用mysqldb。
数据库连接
连接数据库前,请先确认一下事项:
- 已经创建数据库testdb。
- 在testdb数据库中已经创建表employee。
- employee表字段为first_name,last_name,age,sex,income。
- 连接数据库testdb使用的用户名为"testuser",密码为“test123”,你可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令。
实例:
以下实例链接Mysql的testdb数据库:
1 import pymysql 2 3 # 打开数据库连接 4 db = pymysql.connect("localhost", "testuser", "test123", "TESTDB") 5 # 使用cursor()方法创建一个游标对象cursor 6 cursor = db.cursor() 7 # 使用execute()方法执行SQL查询 8 cursor.execute("SELECT VERSION()") 9 # 使用fetchone()方法获取单条数据 10 data = cursor.fetchone() 11 12 print("Darabase version: %s" % data) 13 14 # 关闭数据库连接 15 db.close()
执行以上脚本输出结果:
Database version : 5.5.20-log
创建数据库表
如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表employee:
import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "testuser", "test123", "TESTDB") # 使用cursor()方法创建一个游标对象cursor cursor = db.cursor() # 使用execute()方法执行SQL,如果表存在则删除 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") # 使用使用预处理语句创建表 sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )""" cursor.execute(sql) # 关闭数据库连接 db.close()
数据库插入操作
以下实例使用执行SQL INSERT语句向表EMPLOYEE插入记录: