Python MySQL增删改查
程序员文章站
2022-05-30 12:29:03
...
安装第三方包
使用前需安装第三包,安装命令如下,或者下载离线包安装:下载地址 : https://pypi.org/project/PyMySQL/#files
pip install PyMySQL
创建数据库
我看到很多人都有些增删改查等,但很少有人写怎么创建数据库的,如下就是创建、删除数据的
def ceartDatabase():
db = pymysql.connect(host='localhost',user='root', password='root', port=3306, charset='utf8')
cursor = db.cursor()
# 检查数据库py_test,如果存在则删除
cursor.execute("drop database if exists py_test")
# 创建数据库py_test
cursor.execute("create database py_test")
# 关闭游标链接
cursor.close()
# 关闭数据库服务器连接,释放内存
db.close()
print('已创建数据库py_test')
创建MySQL表
def ceartTable(cursor):
sql = '''CREATE TABLE IF NOT EXISTS fy_test(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(45) NOT NULL,
age VARCHAR(45) NULL
)'''
cursor.execute(sql)
print('已创建表fy_test')
增删改查
commit()方法,在对数据进行 增 删 改 的时候使用,。
# 增加数据
def insertData(db, cursor):
sql = '''INSERT INTO fy_test(name, age) VALUES
('张三1', '17'),
('李四', '42'),
('李四1', '28'),
('李四2', '21'),
('李四3', '24'),
('张三2', '52');'''
try:
# 执行sql语句
cursor.execute(sql)
# 提交更新
db.commit()
print('成功添加数据')
print("第一次插入数据的ID是 ",cursor.lastrowid)
except:
# 发生错误时回滚
db.rollback()
# 删除数据
def deleteRecord(db,cursor, table, key, value):
#sql = 'delete from ' + table + 'where ' + kry + '=' + value
sql = 'delete from {} where {}="{}"'.format(table, key, value)
cursor.execute(sql)
db.commit()
print('成功删除%d条数据' %cursor.rowcount)
# 修改数据
def updateRecord(db, cursor, table, key1, value1, key2, value2):
sql = 'update {} set {}="{}" where {}="{}"'.format(table, key1, value1, key2, value2)
cursor.execute(sql)
db.commit()
print('成功修改%d条数据!' %cursor.rowcount)
# 查找数据
def findRecord(cursor, table):
sql = 'select * from {}'.format(table)
num = cursor.execute(sql)
result = cursor.fetchall()
print('查找到%d条数据!' %num)
for row in result:
print(row[0], row[1], row[2])
return result
如下是主函数
if __name__ == '__main__':
# 创建数据库
ceartDatabase()
db = pymysql.connect(
host='localhost',
user='root',
password='root',
db='py_test',
port=3306,
charset='utf8')
cursor = db.cursor()
# 创建表
ceartTable(cursor)
# 增加
insertData(db, cursor)
# 删除
deleteRecord(db,cursor, 'fy_test', 'name', '张三2')
# 修改
updateRecord(db, cursor, 'fy_test', 'name', '王麻子', 'name', '张三1')
# 查询
findRecord(cursor, 'fy_test')
# 关闭游标链接
cursor.close()
# 关闭数据库服务器连接,释放内存
db.close()
本文只介绍了基本的增删改查,跟多的用法及实例待以后分享给大家。
转载于:https://www.jianshu.com/p/ba08dae75bc9