一. 安装PyMySQL
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用 mysqldb
在PyCharm终端下载PyMySQL最新版,使用pip install PyMySQL
二. 连接数据库
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost', # 数据库的IP地址
user='root', # 用户名
password='654321', # 密码
database='pydb') # 连接的数据库
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print("数据库连接成功!")
# 关闭数据库连接
db.close()
运行程序,成功连接数据库
三. 创建数据表
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost', # 数据库的IP地址
user='root', # 用户名
password='654321', # 密码
database='pydb') # 连接的数据库
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 创建表
sql = """CREATE TABLE t_stu (
id INT NOT NULL,
name CHAR(20),
sex CHAR(1),
age INT )"""
# 使用 execute() 方法执行 SQL 查询
cursor.execute(sql)
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
# 关闭数据库连接
db.close()
四. 数据表插入操作
在执行插入,修改,删除语句的时候需要使用commit提交到数据库
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost', # 数据库的IP地址
user='root', # 用户名
password='654321', # 密码
database='pydb') # 连接的数据库
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 操作表
sql = """INSERT INTO t_stu(id,`name`,sex,age)
VALUES (1,'张三','男',20),
(2,'黄佳','女',18),
(3,'李莹','男',22)"""
try:
# 使用 execute() 方法执行 SQL 查询
cursor.execute(sql)
db.commit() # 提交到数据库
print('添加数据成功')
except:
db.rollback() # 回滚
# 关闭数据库连接
db.close()
五. 数据表修改操作
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost', # 数据库的IP地址
user='root', # 用户名
password='654321', # 密码
database='pydb') # 连接的数据库
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 操作表
sql = """update t_stu set name='李四' where id=1"""
try:
# 使用 execute() 方法执行 SQL 查询
cursor.execute(sql)
db.commit() # 提交到数据库
print('修改数据成功')
except:
db.rollback() # 回滚
# 关闭数据库连接
db.close()
六. 数据表删除操作
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost', # 数据库的IP地址
user='root', # 用户名
password='654321', # 密码
database='pydb') # 连接的数据库
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 操作表
sql = """delete from t_stu where id=1"""
try:
# 使用 execute() 方法执行 SQL 查询
cursor.execute(sql)
db.commit() # 提交到数据库
print('删除数据成功')
except:
db.rollback() # 回滚
# 关闭数据库连接
db.close()
七. 数据表查询操作
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost', # 数据库的IP地址
user='root', # 用户名
password='654321', # 密码
database='pydb') # 连接的数据库
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 操作表
sql = """select * from t_stu"""
try:
# 使用 execute() 方法执行 SQL 查询
cursor.execute(sql)
result = cursor.fetchall()
print('id\tname\tsex\tage')
for i in result:
id = i[0]
name = i[1]
sex = i[2]
age = i[3]
print(f'{id}\t{name}\t{sex}\t{age}')
print('查询数据成功')
except:
db.rollback() # 回滚
# 关闭数据库连接
db.close()