Python数据库编程(MySQL)

Python进阶系列

Python数据库编程——MySQL

1.pymysql

  • python3 不再支持 mysqldb 而改用 pymysql
  • 安装pymysql:pip install pymysql
  • 官网
  • github

2.MySQL安装

要使用python连接mysql 首先得安装mysql
我这里已安装了mysql 并设置 账户 root 密码为 123456

1

3.测试 pymysql是否能使用

2

4.先创建测试数据

mysql 文件:
CREATE DATABASE stu;
USE stu;
CREATE TABLE students(
snum INT(6) NOT NULL,
sname VARCHAR(6) NOT NULL,
sage VARCHAR(4) NOT NULL
);
INSERT INTO students VALUES(1,’张三’,’16’);
INSERT INTO students VALUES(2,’李四’,’18’);

3

5.基本操作代码示例

  • 1. 数据库连接
import pymysql

# 数据库连接
myConnect = pymysql.connect(
    host="localhost",
    port=3306,
    user="root",
    password="123456",
    db="stu",
    charset="utf8")
  • 2.插入数据
# 获取游标
myCursor = myConnect.cursor()

# 插入数据
myInsert = "insert into students(snum,sname,sage) values(%i,'%s','%s')"
data1 = (3,"王五","19")
myCursor.execute(myInsert % data1)
myConnect.commit()
print("数据插入成功",myCursor.rowcount,'条数据')
4
  • 3.修改数据
# 修改数据
myUpdate = "update students set sage='%s' where sname='%s'"
data2 = ('30''王五')
myCursor.execute(myUpdate % data2)
myConnect.commit()
print("修改数据",myCursor.rowcount,'条')
5
  • 4.查询数据
# 查询数据
mySelect = "select * from students where sname = '%s'"
data3 = ('张三',)
myCursor.execute(mySelect % data3)

for row in myCursor.fetchall():
    print("snum:%i\tsname:%s\tsage:%s" % row)
print("共查出",myCursor.rowcount,"条数据")
6
  • 5.删除数据
# 删除数据
myDelete = "delete from students where sname = '%s'"
data4 = ('王五',)
myCursor.execute(myDelete % data4)
myConnect.commit()

5.pymysql的一些方法及参数说明

  • pymysql.connect()

host(str) mysql服务器地址
port(int) 服务器端口号
user(str) 用户名
password(str) 密码
db(str) 数据库名称
charset(str) 连接编码

  • connection对象支持的方法

cursor() 使用该连接创建并返回游标
commit() 提交当前事务
rollback() 回滚当前事务
close() 关闭连接

  • cursor对象支持的方法

execute(op) 执行一个数据库的查询命令
fetchone() 取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall() 获取结果集中的所有行
rowcount() 返回数据条数或影响行数
close() 关闭游标对象

欢迎关注我的微信公众号 zranfly,期待与你相遇

你可能感兴趣的:(Python进阶)