Python - MySQL使用记录

课题/模块 :

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可视化的观察数据库变化:

1-添加表

在这里插入图片描述

2-修改表定义

在这里插入图片描述

3-更新数据

在这里插入图片描述

4-删除数据

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值