Python与MySQL(已经完成数据库连接开始操作)

113 阅读2分钟

回顾上篇


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('删除失败')