Python使用技巧之MySQL数据库增删改查操作
2023-06-13 09:13:11 时间
连接数据库
import pymysql
# 获取连接对象conn,建立数据库的连接
def get_conn():
conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='test') # db:表示数据库名称
return conn
插入操作
import pymysql
def get_conn():
conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='test')
return conn
def insert(sql):
conn = get_conn()
cur = conn.cursor()
result = cur.execute(sql)
print(result)
conn.commit()
cur.close()
conn.close()
if __name__ == '__main__':
sql = 'INSERT INTO test_table VALUES(1,\'dzy\',12);''
insert(sql)
在写sql语句的时候,需要避免直接写sql语句,而是采用占位符的方式来,防止sql的注入。
sql占位符形式实现
import pymysql
def get_conn():
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test')
return conn
def insert(sql, args):
conn = get_conn()
cur = conn.cursor()
result = cur.execute(sql, args)
print(result)
conn.commit()
cur.close()
conn.close()
if __name__ == '__main__':
sql = 'INSERT INTO test_table VALUES(%s,%s,%s);'
insert(sql, (2, 'dzy', 13))
插入多条语句实现
import pymysql
def get_conn():
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test')
return conn
def insert_many(sql, args):
conn = get_conn()
cur = conn.cursor()
result = cur.executemany(query=sql, args=args)
print(result)
conn.commit()
cur.close()
conn.close()
if __name__ == '__main__':
sql = 'insert into test_table VALUES (%s,%s,%s)'
args = [(3, 'd', 11), (4, 'z', 12), (5, 'y', 13)]
insert_many(sql=sql, args=args)
更新操作
import pymysql
def get_conn():
conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='test')
return conn
def update(sql,args):
conn = get_conn()
cur = conn.cursor()
result = cur.execute(sql,args)
print(result)
conn.commit()
cur.close()
conn.close()
if __name__ == '__main__':
sql = 'UPDATE test_table SET NAME=%s WHERE id = %s;'
args = ('dzy', 1)
update(sql, args)
删除操作
import pymysql
def get_conn():
conn = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='test')
return conn
def delete(sql,args):
conn = get_conn()
cur = conn.cursor()
result = cur.execute(sql,args)
print(result)
conn.commit()
cur.close()
conn.close()
if __name__ == '__main__':
sql = 'DELETE FROM test_table WHERE id = %s;'
args = (1,) # 单个元素的tuple写法
delete(sql,args)
查询操作
import pymysql
def get_conn():
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test')
return conn
def query(sql,args):
conn = get_conn()
cur = conn.cursor()
cur.execute(sql,args)
results = cur.fetchall()
print(type(results)) # 返回<class 'tuple'> tuple元组类型
for row in results:
print(row)
id = row[0]
name = row[1]
age = row[2]
print('id: ' + str(id) + ' name: ' + name + ' age: ' + str(age))
pass
conn.commit()
cur.close()
conn.close()
if __name__ == '__main__':
sql = 'SELECT * FROM test_table;'
query(sql,None)
版权属于:。。。源 本文链接:https://www.findmyfun.cn/the-operation-of-adding-deleting-modifying-and-querying-mysql-database.html 转载时须注明出处及本声明。我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2py75w7904qok
相关文章
- mysql decimal 空,MySQL DECIMAL数据类型
- 用Python机器学习模型预测世界杯结果靠谱吗?附代码数据集
- MySQL锁机制:保证数据安全可靠性(mysql锁命令)
- MySQL数据库批量替换:让您的记录更新更轻松(mysql数据库批量替换)
- MySQL循环遍历 —— 实现无缝执行(mysql循环遍历)
- MySQL选择压缩优化数据库性能(mysql压缩)
- MySQL的API接口:快速、便捷的数据库访问方式(mysql的api接口)
- MySQL构建数据库:一步步构建成功(mysql构建数据库)
- 导入MySQL数据表:简单而快速的方法(导入mysql数据表)
- 改变MySQL数据库IP地址变更记录(mysql数据库ip地址)
- 使用易语言操作MySQL数据库(易语言调用mysql)
- MySQL中文在线手册:助你更轻松上手数据库管理(mysql中文在线手册)
- MySQL自动日期:轻松管理时间数据(mysql自动日期)
- 解决MySQL数据库连接乱码问题(mysql数据库连接乱码)
- MySQL:创建数据库的步骤(mysql创建数据库)
- MySQL GUI:操作更便捷的数据库管理工具(mysql的图形界面)
- MySQL如何启动数据库,详细步骤解析(mysql如何启动数据库)
- MySQL 数据结构:给开发加速度(mysql 数据结构)
- MySQL数据库密码修改:安全优先(mysql数据库密码修改)
- C语言环境下如何实现MySQL数据库的删除(c mysql 删除)
- 借助BAE,轻松连接MySQL数据库(bae连接mysql)
- 轻松实现MySQL去重简单方法详解(mysql中去除重复值)
- MySQL删除操作失效如何解决(mysql一键删除不了)
- MySQL使用GROUP BY进行一列求和的函数(mysql一列求和函数)
- 强大的数据库清理工具MySQL Zap(mysql_zap)
- 简明易懂的MySQL重启命令操作指南(mysql下重启命令)