Bootstrap

【python】操作mysql数据库

一、操作步骤

MySQL是一个开源的关系型数据库管理系统(RDBMS),它使用结构化查询语言(SQL)作为操作和管理数据的主要方式。MySQL具有以下特点:

  1. 开源:MySQL是开源软件,这意味着任何人都可以免费使用、修改和分发源代码。
  2. 关系型数据库:MySQL支持关系型数据库模型,允许用户创建表、定义关系和执行复杂的查询。
  3. 多用户支持:MySQL支持多个用户同时访问数据库,每个用户可以拥有自己的权限和访问级别。
  4. 高性能:MySQL经过优化,能够处理大量的并发连接和大型数据集。
  5. 可扩展性:MySQL可以通过分区、复制和集群等技术进行扩展,以满足不断增长的数据需求。
  6. 安全性:MySQL提供了多种安全机制,如用户认证、访问控制和加密,以确保数据的安全性。
  7. 跨平台:MySQL可以在各种操作系统上运行,包括Windows、Linux和macOS。
  8. 广泛的应用:MySQL被广泛应用于Web应用程序、企业级应用、移动应用和大数据处理等领域。

在Python中,要操作MySQL,需要依赖于第三方库:pymysql,pymySQL是一个Python库,用于连接和操作MySQL数据库。它提供了一种方便的方式来与MySQL数据库进行交互,使得开发者能够使用Python语言编写代码来执行各种数据库操作,如查询、插入、更新和删除数据等。

先安装:pip install pymysql

1、建立数据库连接 

2、执行SQL语句

3、关闭数据库连接 

二、操作过程

1.首先需要构造数据,构造完成的数据结果:

2.数据库连接,查询操作

import pymysql
# 建立连接
conn = pymysql.connect(host='127.0.0.1', user='root', password='root', database='learn', charset='utf8')
#操作数据库
#先定义一个游标对象(默认情况下,游标对象返回的结果是元组
cursor = conn.cursor()
#执行SQL语句
sq1 = "select id,username,password from users "
cursor.execute(sq1)
# 获取结果集
result = cursor.fetchall() # 以二维元组的格式返回
for row in result:
    print(row[0],row[1],row[2])
conn.close()

执行成功,获得结果:

3.使用列表+字典的方式查询数据

from pymysql.cursors import DictCursor
import pymysql
# 将游标对象定义为 字典 类型,进而通过 列表+字典 的格式获取结果集

conn = pymysql.connect(host='localhost',user='root',password='root',database='learn',charset='utf8')
cursor = conn.cursor(DictCursor)
sq1 = "select * from users"
cursor.execute(sq1)
result = cursor.fetchall()
print(result)
#通过建值取数据
for row in result:
    print(row['username'])
    print(row['password'])
conn.close()    

执行成功,获得结果:

 4.执行更新操作

from pymysql.cursors import DictCursor
import pymysql
# 更新的操作,必须确认提交,两种方式:一种是设置autocommit为True,另外则是在代码中显式提交
conn = pymysql.connect(host='localhost', user='root', password='root', database='learn', charset='utf8')
#conn = pymysql.connect(host='localhost', user='root', password='123456', database='learn', charset='utf8', autocommit=True) #自动提交不需要后面的commit
cursor = conn.cursor()
sq1 = "update users set username='zhangsan' where username='zs'"
cursor.execute(sq1)
# conn.commit() # 显式提交更新操作  
conn.close()

执行成功,获得结果:

5.使用函数的方式进行封装操作

from pymysql.cursors import DictCursor
import pymysql
def query_mysql(sql):
    conn = pymysql.connect(host='localhost',user='root',password='root',database='learn',charset='utf8')
    cursor = conn.cursor(DictCursor)
    cursor.execute(sql)
    result=cursor.fetchall()
    conn.close()
    return result
# 封装更新类操作
def update_mysq1(sql):
    conn = pymysql.connect(host='localhost',user='root',password='root',database='learn',charset='utf8')
    cursor = conn.cursor(DictCursor)
    cursor.execute(sql)
    conn.commit()
    conn.close()

sql1 = "select * from users"
sql2 = "update users set username='zhangsan' where username='zs'"

query_mysql(sql1)
update_mysq1(sq2)

每篇一言:每个人的心里,都有一个忘不记,却无法拥抱珍惜的人。

;