python操作数据库

软硬件环境

在开发中经常涉及到数据库的使用,而mysql是使用最为广泛的关系型数据库,因为它开源、免费。本文就来使用python语言来操作mysql数据库。

安装mysql

来到mysql的官方网站下载安装包 https://dev.mysql.com/downloads/installer/,目前的版本已经到了8.0.20,下载完成后,双击`msi`文件进行安装,选择自定义安装

img

在左侧选择需要安装的,点击向右的箭头,右侧的框中是要安装的组件,这里我们只安装server和管理工具workbench

img

img

img

img

默认使用的端口号是3306,保持默认

img

设置超级用户root的密码,如果需要添加普通用户,选择下方的Add User

img

img

img

img

img

安装完毕后,使用workbench创建一个数据库连接,填上ip、端口和用户名

img

使用root账户登录数据库

img

创建一个数据库,名称是testdb,字符编码是utf8

img

接下来,新建一张表,表名是testtable,有三个字段

  • id,数据类型是INT(11),设为主键、唯一、非空、UNSIGNEDAUTO INCREMENT
  • name,数据类型是VARCHAR(45),设为非空
  • sex,数据类型是VARCHAR(45),设为非空

img

img

实例源码

这里我们使用pymysql这个库来操作数据库,首先通过pip来安装

pip install pymysql

数据库的基本操作就是增(Create)、查(Retrieve)、改(Update)、删(Delete),就是所谓的CRUD,下面通过实例一个一个的来操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import pymysql

# 数据库连接
db = pymysql.connect("localhost", "root", "toor", "testdb")
cursor = db.cursor()

# 插入操作
try:
# 执行sql语句
cursor.execute("INSERT INTO testtable(name, sex) VALUES('xgx', 'male')")
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()

# 查询操作
try:
# 执行SQL语句,返回的是满足查询条件的记录数量
cursor.execute("SELECT * FROM testtable")
# 获取所有记录列表,除了fetchall方法,pymysql还提供了fetone()、fetchmany()
results = cursor.fetchall()
for row in results:
name = row[1]
sex = row[2]

# 打印结果
print("name: {}, sex: {}".format(name, sex))
except:
print ("Error: unable to fetch data")


# 更新记录
try:
# 执行sql语句
cursor.execute("UPDATE testtable SET sex='female' WHERE id=4")
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()

# 删除操作
try:
# 执行SQL语句
cursor.execute("DELETE FROME testtable WHERE id=4")
# 提交修改
db.commit()
except:
# 发生错误时回滚
db.rollback()

# 关闭数据库连接
db.close()

ubuntu安装mysql

如果你的系统 系统是ubuntu,可以参考 ubuntu安装mysql 进行安装

This is Tab 1.

This is Tab 2.

This is Tab 3.

2022

01-02

这是测试页面

01-05

这是测试页面2

01-08

这是测试页面3