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)
复制代码

 

posted @   Mars.wang  阅读(299)  评论(0编辑  收藏  举报
编辑推荐:
· 基于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保姆级教程
点击右上角即可分享
微信分享提示