Python操作MySQL

因为Python和MySQL是2套软件,所以在互相交互的时候需要一个"桥梁"。这个"桥梁"就是驱动!

  • mysqldb又叫MySQL-python

    • 优点:基于C开发的库,速度快
    • 缺点:在 Windows 平台安装非常不友好,经常出现失败的情况,多年不更新了,只兼容python2
  • mysqlclient

    • 优点:基于C开发的库,速度快,兼容python3
    • 缺点:编译安装可能会导致报各种错误
  • pymysql

    • 优点:纯 Python 实现的驱动,兼容python3,使用简单
    • 缺点:速度不如mysqldb
    【示例】创建数据库
    python 复制代码
    import pymysql
    
    
    # 链接数据库
    con = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',charset='utf8')
    # 获取一个和数据库交互的工具cursor
    coursor = con.cursor()
    # 编写SQL
    sql = '''
    CREATE DATABASE sxt
       DEFAULT CHARACTER SET = 'utf8mb4';
    '''
    # 执行SQL
    coursor.execute(sql)
    # 关闭cursor
    coursor.close()
    # 关闭链接
    con.close()


    *

    python 复制代码
    def add_one():
      # 链接数据库
      con = pymysql.connect(host='localhost',port=3306,user='root',passwd='root',db='sxt',charset='utf8')
      # 获取操作数据的对象 cursor
      cursor = con.cursor()
      # 编写SQL-DML
      # sql = "INSERT INTO t_user VALUES (0,'貂的蝉',18,'女');"
      sql = "INSERT INTO t_user VALUES (0,%s,%s,%s);"
      args = ('刘备',22,'男')
      # 执行SQL
      cursor.execute(sql,args)
      # 提交事务
      con.commit()
      # 关闭Cursor
      cursor.close()
      # 关闭链接
      con.close()
    python 复制代码
    #导入模块
    import pymysql
    #创建连接
    con = pymysql.connect(host='localhost',user='root',password='root',db='db_test',
    charset='utf8')      
    #创建游标对象cursor
    cursor=con.cursor()
    sql='select * from t_user'
    #执行sql
    cursor.execute(sql)
    #获取结果集
    # result = cursor.fetchall()
    # result = cursor.fetchmany(2)
    result = cursor.fetchone()
    print(result)
    # print(cursor.rowcount)
相关推荐
草履虫建模12 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
naruto_lnq14 小时前
分布式系统安全通信
开发语言·c++·算法
fen_fen14 小时前
Oracle建表语句示例
数据库·oracle
学嵌入式的小杨同学15 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
Re.不晚15 小时前
Java入门17——异常
java·开发语言
精彩极了吧15 小时前
C语言基本语法-自定义类型:结构体&联合体&枚举
c语言·开发语言·枚举·结构体·内存对齐·位段·联合
好家伙VCC16 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
砚边数影16 小时前
数据可视化入门:Matplotlib 基础语法与折线图绘制
数据库·信息可视化·matplotlib·数据可视化·kingbase·数据库平替用金仓·金仓数据库
南极星100516 小时前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言
baidu_2474386116 小时前
Android ViewModel定时任务
android·开发语言·javascript