Python3 数据库连接

Python3 数据库连接

PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中使用mysqldb。

数据库连接

连接数据库前,请先确认一下事项:

  1. 已经创建数据库testdb。
  2. 在testdb数据库中已经创建表employee。
  3. employee表字段为first_name,last_name,age,sex,income。
  4. 连接数据库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插入记录: