前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python操作MySQL数据库01

Python操作MySQL数据库01

原创
作者头像
软件架构师Michael
修改2022-03-10 09:57:30
4560
修改2022-03-10 09:57:30
举报
文章被收录于专栏:软件工程师Michael

Python这门万能语言,做什么都能做到简洁明了,就连操作数据库也不例外。这里以MySQL数据库为例,直接上代码吧!

代码语言:javascript
复制
查询
# 1.导包
import pymysql
# 2.创建连接对象
# host,port,user,password,database,charset
conn = pymysql.connect(host="localhost",
                       port=3306,
                       user="root",
                       password="Abcd_1234",
                       database="test2",
                       charset="utf8")
# 3.获取游标,目的就是执行SQL语句
cursor = conn.cursor()
# 准备sql语句,具体写法与workbench里面的写法一样
#sql = "SELECT * FROM student where name = '%s'; " % "黄蓉' or 1=1 or '"
# 准备sql语句,防止sql注入
sql = "SELECT * FROM student where name = %s;"
# 4.执行sql语句
cursor.execute(sql)
# 获取查询结果,返回的数据类型是一个元组
# row = curor.fetchone()
# print(row)
# 返回的数据类型是一个元组,其中元组里面的每条数据还是元组
result = cursor.fetchall()
for row in result:
    print(row)
print(sql)
# 5. 关闭游标
cursor.close()
# 6.关闭连接
conn.close()

增删改操作
# 1.导包
import pymysql
# 2.创建连接对象
# host,port,user,password,database,charset
conn = pymysql.connect(host="localhost",
                       port=3306,
                       user="root",
                       password="Abcd_1234",
                       database="test2",
                       charset="utf8")
# 3.获取游标,目的就是执行SQL语句
curor = conn.cursor()
# 准备sql语句,具体写法与workbench里面的写法一样
#插入
# sql = "insert into student values(4,'Peter', '男',29); "
# 修改
# sql = "update student set age=33 where id =4;"
# 修改
sql = "delete from  student  where id =3;"
# 4.执行sql语句
try:
    curor.execute(sql)
    # 提交修改的数据到数据库
    conn.commit()
except Exception as e:
    # 数据回滚
    conn.rollback()
finally:
    # 5. 关闭游标
    curor.close()
    # 6.关闭连接
    conn.close()

参数化操作(插入)
# 1.导包
import pymysql
# 2.创建连接对象
# host,port,user,password,database,charset
conn = pymysql.connect(host="localhost",
                       port=3306,
                       user="root",
                       password="Abdd_1234",
                       database="test2",
                       charset="utf8")
# 3.获取游标,目的就是执行SQL语句
curor = conn.cursor()
# 准备sql语句,具体写法与workbench里面的写法一样
sql = "insert into student(id ,name,gender,age) values(%s, %s, %s, %s); "
# sql = "update student set age=33 where id =2;"
# sql = "delete from  student  where id =3;"
# 4.执行sql语句
try:
  curor.execute(sql, [5, '司马懿', '男', 76])
    # 提交修改的数据到数据库
    conn.commit()
except Exception as e:
    # 数据回滚
    conn.rollback()
finally:
    # 5. 关闭游标
    curor.close()
    # 6.关闭连接
    conn.close()

小结:

以上是Python操作数据库的传统方式,我暂且把它叫做原生态方式。有点类似于.NET里面的ADO.NET,直接传入SQL语句作为参数,任何执行语句,完事。下一小节将介绍Python的ORM框架。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档