回顾上篇
import mysql.connector
try:
#调用connect()配置连接详细信息
connection = mysql.connector.connect(
host="数据库名称",
user="用户名",
password="数据库密码",
database="需要连接的数据库",
)
status = connection.is_connected()
if status:
print('连接成功')
cursor = connection.cursor() #连接成功时创建游标,方便后面执行sql获取结果
print(cursor)
except mysql.connector.Error as err:
print(err)
finally:
if status:
print("连接成功,可以进行后面的操作")
开始实际操作
在操作之前可以把需要操作表的结构(没有实际操作纯好看)
CREATE TABLE `操作表的名称`(
`数据1` int(7) NOT NULL AUTO_INCREMENT COMMENT '学号',
`数据2` int(2) NOT NULL AUTO_INCREMENT COMMENT '科目',
`数据3` varchar(5) DEFAULT NULL COMMENT '姓名',
`数据4` int(3) NOT NULL AUTO_INCREMENT COMMENT '总分',
PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=2025006 DEFAULT CHARSET=utf8
默认字符集为utf-8
添加
#向 需要操作表的 `数据1`, `数据2`, `数据3` 字段插入数据
# add_sql = "INSERT INTO `需要操作的表` (`数据1`, `数据2`, `数据2`) VALUES ( %s, %s, %s) "
# cursor.execute(add_sql,('添加的数据1','添加到数据2','添加的数据3'))
# connection.commit()
#对于 INSERT, UPDATE, DELETE 等修改数据库的操作(DML),你必须显示地调用 connection.commit() 来保存更改。如果发生错误,可以使用 connection.rollback()来撤销所有未提交的更改
# print(cursor.rowcount)
#cursor.rowcount判断是否成功
修改
#根据一个值来修改他的其他值
#edit_sql = "update 表明 set 被修改的值(zf=%) where 根据此值查找(uname=%s")
# edit_sql = "update ksxq set 修改的值=%s where 查找的值=%s"
# cursor.execute(edit_sql,('修改的值','查找的值'))
# connection.commit()
#
# print(cursor.rowcount)
# if cursor.rowcount == 1:
# print('修改成功')
# else:
# print('修改失败')
删除
#删除 delete from
#del_sql = "delete from 操作表的名称 where 需要删除值的数据名=%s"
#cursor.execute(del_sql,['具体要删除的值(必须是上面数据名中的值)'])
#cursor.execute(del_sql,('同上面一条',))
#connection.commit()
#if cursor.rowcount > 0 :
# print('删除完成')
#else:
# print('删除失败')