Python之MySQL使用指南

一、入门引导

1、Python 需要 安装MySQL 驱动程序来访问 MySQL 数据库。

pip命令下载并安装装 “MySQL Connector”

pip install mysql-connector

2、创建与数据库的连接

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  port=3306,
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"   #mydatabase为数据库名
)

3、执行数据库的增删改查等操作

在Python中如果要使用数据库执行操作,不管是MySQL、SQL Server、PostgreSQL亦或是SQLite,使用时都是采用游标的方式。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"   #mydatabase为数据库名
)

mycursor = mydb.cursor()  #创建游标对象

mycursor.execute("CREATE DATABASE mydatabase")  #使用execute()方法,执行SQL语句

使用fetchone()或fetchall()获取数据

二、一般操作流程

  1. 建立数据库连接
  2. 通过 cursor() 创建游标对象
  3. 执行sql
  4. 关闭游标
  5. 关闭连接

在这里插入图片描述

完整demo如下:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="yourpassword",
  database="mydatabase"   #mydatabase为数据库名
)

mycursor = mydb.cursor()  #创建游标对象

#创建表
mycursor.execute("CREATE TABLE user (name VARCHAR(255), address VARCHAR(255))")

mycursor.execute("SELECT * FROM `faq_custom_scene` where id = 9501;")  #查询
myresult01= mycursor.fetchone()  #提取查询数据
myresult02= mycursor.fetchall() #提取查询数据
myresult03= mycursor.fetchmany(5) #提取5条查询数据
print(myresult01)  #打印显示查询数据
print(myresult02) #打印显示查询数据
print(myresult03) #打印显示查询数据
'''
当开启游标功能执行这个SELECT  SQL语句后,系统并不会将结果直接打印到频幕上,而是将上述得到的结果,找个地方存储起来
提供一个游标接口给我们,当你需要获取数据的时候,就可以从中拿数据。
'''

#插入单条数据:
mycursor.execute("INSERT INTO `user`(`name`、`address`) VALUE ('cc','cui');")#插入一条数据

# 插入多条数据时,可以使用"%s"占位符
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
  ('William', 'Central st 954'),
  ('Chuck', 'Main Road 989'),
  ('Viola', 'Sideway 1633')
]

mycursor.executemany(sql, val)
# executemany(sql,val)
# sql 要执行的命令
# val元组列表,为要插入的数据

mycursor.execute("UPDATE `faq_custom_scene` SET name = "cc" where `id` = 9501;") #修改

mycursor.execute("DELETE FROM `faq_custom_scene` WHERE `id` = 9502;")#删除

mydb.commit() # 提交事务
mycursor.close() # 关闭游标
mydb.close() # 关闭数据库连接

三、数据库操作方法

数据库层层级操作:

close() 关闭数据库连接, 关闭后无法再进行操作,除非再次创建连接,如:my.db.close()
cursor() 创建游标对象。一个游标允许用户执行数据库命令和得到查询结果,如:my.db.cursor()
commit() 提交当前事务,执行游标对象的所有更新操作,如:my.db.commit()
rollback() 取消当前事务,回滚当前游标的所有操作,如:my.db.cursor()

游标层级操作:
close():关闭此游标对象,如:mycursor.close()
excute(sql[, args]):执行sql命令,如:mycursor.excute()
executemany():执行多条数据,如:mycursor.executemany() ,executemany() 方法的第二个参数是元组列表,包含要插入的数据
fetchone():获取结果集中的数据,该方法一次获取一条记录,每一条记录是一个元组形式的数据,如:mycursor.fetchone()
fetchall():一次性获取结果集中的所有数据,该方法返回的是一个元组列表。,如:mycursor.fetchall()
fetchmany(n):获取结果集中的n条数据:返回结果的size条数据,并以元组的形式返回,如:mycursor.fetchmany()
callproc(func[,args]): 调用一个存储过程,如:mycursor.callproc()

四、游标

1、什么是游标:

游标,通俗的解释就是"游动的标志",这是数据库中一个很重要的概念。

有时候,我们执行一条查询语句的时候,会得到N条返回结果,系统会一次性将所有记录返回到界面中,因为没有选择具体的数据记录,无法做其他操作。当我们开启了游标功能,系统会先帮你找到这些行,先给你存放起来,然后提供了一个游标接口。当你需要数据的时候,就借助这个游标去一行行的取出数据,你每取出一条记录,游标指针就朝前移动一次,一直到取完最后一行数据。

执行sql语句取出这些返回结果的接口,就是游标。

2、使用游标的好处

如果不使用游标功能,直接使用select查询,会一次性将结果集打印到屏幕上,你无法针对结果集做第二次编程。使用游标功能后,我们可以将得到的结果先保存起来,然后可以随意进行自己的编程,得到我们最终想要的结果集。

猜你喜欢

转载自blog.csdn.net/baidu_24752135/article/details/129619244