Python连接MySQL数据库
PyMysql模块
使用代码的方式操作数据库称为数据库编程。
安装方式
sudo pip3 install pymysql
使用步骤
- 导入pymysql包:
import pymysql
- 创建连接对象:
- 调用pymysql模块中的connect()函数来创建连接对象,
conn = connect(参数列表)
- 参数host: 连接的mysql主机,如果本机是’localhost’
- 参数port: 连接的mysql主机的端口,默认是3306
- 参数user: 连接的用户名
- 参数password: 连接的密码
- 参数database: 数据库的名称
- 参数charset: 通信采用的编码方式,推荐使用utf8
- 连接对象conn的相关操作
- 关闭连接
conn.close()
- 提交数据
conn.commit()
- 撤销数据
conn.rollback()
- 关闭连接
- 调用pymysql模块中的connect()函数来创建连接对象,
- 获取游标对象: 获取游标对象的目的就是要执行sql语句,完成对数据的增、删、改、查操作。代码为:
cur = conn.cursor()
- 使用游标执行SQL语句:
execute(operation []parameter)
执行SQL语句,返回受影响的行数,主要用于执行insert、update、delete、select等语句 - 获取查询结果集中的一条数据:
cur.fetchone()
返回一个元素,如(1,'张三')
- 获取查询结果集中的所有数据:
cur.fetchall()
返回一个元组,如((1,'张三'),(2,'李四'))
- 关闭游标:
cur.close()
, 表示和数据库操作完成
- 使用游标执行SQL语句:
- pymysql完成数据的增删改查操作
- 增删改查的sql语句。
sql = select * from 数据表
- 执行sql语句完成相关数据操作。
cur.execute(sql)
- 增删改查的sql语句。
- 关闭游标和连接
- 先关闭游标:
cur.close()
- 后关闭连接:
conn.close()
- 先关闭游标:
示例
pymysql查询操作
# 导入pymysql包
import pymysql
# 创建连接对象
conn = pymysql.connect(host='localhost', port=3306, user='root', password='1234',database='python_test_1', charset='utf8')
# 获取游标对象
cur = conn.cursor()
# pymysql完成数据的查询操作
sql = 'select * from students;'
cur.execute(sql) # 受影响的行数
content = cur.fetchone() # 获取一条数据
print(content)
content = cur.fetchall() # 从上一次读取数据的位置开始读
print(content)
# 关闭游标和连接
cur.close()
conn.close()
pymysql增删改操作
# 导入pymysql包
import pymysql
# 创建连接对象
conn = pymysql.connect(host='localhost', port=3306, user='root', password='1234',database='python_test_1', charset='utf8')
# 获取游标对象
cur = conn.cursor()
# 增加数据, 默认开启了事务
# sql = 'insert into students(name) VALUES("老王")'
# cur.execute(sql)
# 删除数据
# sql = 'delete from students where id=6'
# cur.execute(sql)
# 修改数据
sql = 'update students set name="老王" where id=1'
cur.execute(sql)
# pymysql完成数据的查询操作
sql = 'select * from students;'
cur.execute(sql) # 受影响的行数
content = cur.fetchall() # 从上一次读取数据的位置开始读
for i in content:
print(i)
# 提交操作, 凡是增删改都需要提交
conn.commit()
# 关闭游标和连接
cur.close()
conn.close()