python连接数据库(1)——mysql
mysql是世界上应用最广的免费数据库,python当然也提供了对它的调用。
首先pip install pymysql,当然自己要知道数据库的用户名和密码,本地数据库的host就是localhost.
基本顺序就是 先建立python和数据库的连接,就是像平常我们使用账号和密码登录网站一样,然后建立一个游标cursor,如果要查询数据,只需要一个包含select的sql语句,可以通过
values = cursor.fetchall()
获取返回的结果数据,格式是一个列表。
如果需要往数据库插入数据,则还要准备一个数据list,就像下面的代码一样。
删除数据只需要一个SQL,既不需要准备数据,也不需要获取返回数据。
import pymysql
db_params = {'host':'localhost', 'user':'****', 'passwd':'*******', 'db':'yiche', 'charset':'utf8'} conn = pymysql.connect(**db_params) cursor = conn.cursor() bn_sql='''insert into basename.tablename(time,bn1,bn2,bn3,bn4,bn5,bn6,bn7,bn8,bn9) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)''' temp_list=[] cursor.execute(bn_sql,temp_list) conn.commit() cursor.close() conn.close()
SQL执行结束之后要先提交,就是conn.commit(),然后关闭游标cursor.close(),最后再关闭连接conn.close().
下面附一个从前写的mysql调用接口。
#!/usr/bin/env python # -*- coding: UTF-8 -*- import pymysql def mysql_select(sql): db_params = {'host':'****', 'user':'****', 'passwd':'****', 'db':'f_pangolin_ticket', 'charset':'utf8'} conn = pymysql.connect(**db_params) cursor = conn.cursor() cursor.execute(sql) data=cursor.fetchall() conn.close() return data def mysql_insert(sql,list): db_params = {'host':'****', 'user':'****', 'passwd':'****', 'db':'yiche', 'charset':'utf8'} conn = pymysql.connect(**db_params) cursor = conn.cursor() cursor.execute(sql,list) conn.commit() cursor.close() conn.close() def mysql_many_insert(sql,list): db_params={'host':'****', 'user':'****', 'passwd':'****', 'db':'f_pangolin_ticket', 'charset':'utf8'} conn = pymysql.connect(**db_params) cursor = conn.cursor() cursor.executemany(sql,list) cursor.close() conn.commit() conn.close() if __name__ == '__main__': testMysql(sql)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程