python操作mysql数据库

因为Python和MySQL是2套软件,所以在互相交互的时候需要一个 “桥梁”。

这个“桥梁”就是驱动!

mysqldb 又叫 MySQL-python
优点:基于 C 开发的库,速度快
缺点:在 Windows 平台安装非常不友好,经常出现失败的情况,多年不更新了,只兼容
python2
mysqlclient
优点:基于 C 开发的库,速度快,兼容 python3
缺点:编译安装可能会导致报各种错误
pymysql
优点:纯 Python 实现的驱动,兼容 python3 ,使用简单
缺点:速度不如 mysqldb

 

pymysql 模块中的函数
连接数据库函数
connect 函数:连接数据库,根据连接的数据库类型不同,该函数
的参数也不同。 connect 函数返回 Connection 对象。
import pymysql
#获取连接
con =
pymysql.connect(host="localhost",port=3306,us
er="root",password="root",db="test06",charset
='utf8')

获取游标
cursor 方法:获取操作数据库的 Cursor 对象 , 包含了很多操作数据的
方法。 cursor 方法属于 Connection 对象。
执行 sql 语句
执行单条 sql 语句
函数作用:执行单条的 sql 语句,执行成功后返回受影响的行数
参数说明:
query :要执行的 sql 语句,字符串类型
args :嵌套的序列或映射,用于 query 的参数值
提交事务
commit 方法:在修改数据库后,需要调用该方法提交对数据库的修
改。
rollback 方法:如果修改数据库失败,一般需要调用该方法进行数
据库回滚,也就是将数据库恢复成修改之前的样子。
创建数据库和表
import pymysql
【示例】创建数据表
# 链接数据库
con =
pymysql.connect(host='localhost',port=3306,u
ser='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 pymysql 模块,如果需要操作 DML 语句 , 需要手动提
交事务 con.commit()
插入数据
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)
    # 提交事务
9
    con.commit()
    # 关闭Cursor
    cursor.close()
    # 关闭链接
    con.close()

Python 操作 DML 语句 - 更新删除数据
#将id=2的年龄修改为18
sql='update t_user set age=%s where id=%s'
cursor.execute(sql,(18,2))

【示例】删除数据
#导入模块
import pymysql
#创建连接
con =
pymysql.connect(host='localhost',user='root'
,password='root',db='db_test',charset='utf8'
)
                    
#创建游标对象cursor
cursor=con.cursor()
#删除id=2
sql='delete from t_user where id=2'
#执行sql
cursor.execute(sql)
con.commit()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值