一起学python(二)--python操作mysql数据库


开发工具及版本

  • PyCharm 2018.1.4 x64
  • python 3.6.3

查询操作

话不多说,直接上代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# python 操作mysql数据库
import pymysql

# 创建一个连接
conn = pymysql.connect("localhost", "root", "123", "blog", charset="utf8")

# 创建一个游标对象cursor进行数据的增删改查
cursor = conn.cursor()
sql = "select * from blogger b "
# 执行sql
try:
cursor.execute(sql)
# 获取查询结果data
data = cursor.fetchall()
for item in data:
print(item)
except:
print("查询有误")
conn.close()

这里需要注意的是,在创建数据库连接的时候必须指定charset=”utf8”,不然查出来的中文会乱码。fetchall()一般用来查询多条数据,如果是单条数据的话还可以用fetchone()

更新操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# python 操作mysql数据库
import pymysql

# 创建一个连接
conn = pymysql.connect("localhost", "root", "123", "blog", charset="utf8")

# 创建一个游标对象cursor进行数据的增删改查
cursor = conn.cursor()

sql = "update blogger b set b.signature =%s, b.userInfo = %s where b.id = 3 "
# 执行sql
try:
cursor.execute(sql, ('demo', '面朝大海'))
conn.commit()
print("更新成功")
except:
conn.rollback()

conn.close()

注意:这里传变量的方式sql里面用 %s 表示,在execute 的时候把变量增加进来。当然了,我们在执行更新操作的时候肯定会有事务的提交commit()和回滚rollback()。
添加和删除操作类似..

总结

感觉和java用jdbc来操作数据库很类似,代码更简洁,以上纯属个人见解,不喜勿喷…

-------------本文结束感谢您的阅读-------------