课题/模块 :
Python - MySQL
内容记录 :
1-运行环境
操作系统:Anolis OS 8 (Linux系统)
开发工具:Python (ver. 3.6.8)、mysql(ver. 5.7.44)
验证工具:pypmyadmin(ver. 5.2.1)
2-安装
pip install pymysql # 安装mysql库
3-基本用法
import pymysql # 导入模块
conn = pymysql.connect(host='localhost', user='root', password='password', database='test', port=3306) # 数据库连接
cursor = conn.cursor() # 创建游标对象
sql = *** # ***代表不同的操作指令
cursor = conn.execute(sql) # 执行sql语句,见文章下方
result = cursor.fetchall() # 获取查询结果(读取数据库时使用)
con.commit() # 提交修改
conn.close() # 关闭连接
SQL创建表时涉及每个元素的约束:
e.g.
CREATE TABLE students (
id INT PRIMARY KEY, # 主key唯一标识符
name VARCHAR(50) NOT NULL, # 不为空
age INT CHECK (age >= 18), # 大于18
email VARCHAR(50) UNIQUE, # 值唯一
major_id INT,
FOREIGN KEY (major_id) REFERENCES majors(id) # 确保值与majors表中的id匹配
);
# 创建表
sql = "CREATE TABLE `bbb` (`tab_1` INT(20) NOT NULL , `tab_2` TEXT NOT NULL , `tab_3` DATE NOT NULL , `tab_4` FLOAT(1) NOT NULL )"
cursor.execute(sql)
# 插入数据
sql = "INSERT INTO `bbb` (`tab_1`, `tab_2`, `tab_3`, `tab_4`) VALUES ('1', 'asasasasasas', '2023-11-01', '0.1')"
cursor.execute(sql)
# 查询数据
sql = "SELECT * FROM `bbb` WHERE `tab_2` = 'asasasasasas'"
# 如涉及变量替换 可使用%
# word = "asasasasasas"
# sql = "SELECT * FROM `bbb` WHERE `tab_2` = '%s'" % (word)
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
tab1= row[0]
tab2= row[1]
tab3= row[2]
tab4 = row[3]
print("tab1=%d,tab2=%s,tab3=%s,tab4=%f" % (tab1, tab2, tab3, tab4))
#修改表定义-> 添加
sql = "ALTER TABLE `bbb` ADD `index` INT(20) NOT NULL FIRST, ADD PRIMARY KEY (`index`)"
cursor.execute(sql)
当数据库中无主键时,进行删除、编辑操作会报警告,所以这里在添加了表定义后进行操作
# 更新数据
sql = "UPDATE `bbb` SET `tab_2` = 'bbbbbbbb' WHERE `bbb`.`index` = 0"
cursor.execute(sql)
# 删除数据
sql = "DELETE FROM bbb WHERE `bbb`.`index` = 0"
cursor.execute(sql)
成果/结论 :
通过pypmyadmin可视化的观察数据库变化: