第二阶段-第二章 SQL入门和实战

目录


  说明:该文章是学习 黑马程序员在B站上分享的视频 黑马程序员python教程,8天python从入门到精通而记录的笔记,笔记来源于本人。 若有侵权,请联系本人删除。笔记难免可能出现错误或笔误,若读者发现笔记有错误,欢迎在评论里批评指正。此笔记对应的doc文件的百度网盘下载链接为 Python入门(黑马)的学习笔记,提取码:1b3k。另外,本次笔记加了 gif动图,使用免费的potplayer播放器可以控制gif的播放进度。

在这里插入图片描述在这里插入图片描述

引、为什么要学习SQL

在这里插入图片描述

  1. 为什么要学习SQL

在这里插入图片描述在这里插入图片描述

  2.需学习到什么程度

在这里插入图片描述在这里插入图片描述

一、数据库介绍

  1.学习目标

  理解数据库的作用;了解常见的数据库软件。

  2.无处不在的数据库

在这里插入图片描述

  3.数据库如何存储数据

在这里插入图片描述在这里插入图片描述

  4.数据库管理系统(数据库软件)

在这里插入图片描述

  5.数据库和SQL的关系

在这里插入图片描述

  6.本小节的总结

在这里插入图片描述

二、MySQL的安装

  1.学习目标

  掌握在Windows系统中安装MySQL数据库。

  2. MySQL的介绍

在这里插入图片描述

  3. MySQL的版本

在这里插入图片描述

  4. MySQL的安装

在这里插入图片描述

  (1)安装包的下载

  安装包的下载方法如下(如果觉得下载太慢,可以到百度网盘上下载):
  如下图,首先打开浏览器,进入MySQL的官网,点击“DOWNLOADS”。
在这里插入图片描述
  如下图,选择社区版下载(即“MySQL Community (GPL) Downloads”),选择Windows版(即“MySQL Installer for Windows”),然后选择最新的版本的离线安装包进行下载(这里有两个下载链接,靠上的那个是联网安装包,靠下那个是离线安装包),然后点击只需要下载(即“No thanks, just start my download.”)。如果需要下载其他版本,请点击“Archives”,然后选择需要的版本进行下载。
在这里插入图片描述
  等待安装包的下载,直到下载完成(放任浏览器下载实在太慢,可选择使用迅雷或IDM下载直接起飞。个人不建议用迅雷,用了还要清理一堆垃圾)。

  (2)安装的流程

  双击安装包,在弹出的两个弹窗中点击“是”(gif图片可能录不到),然后选择“Custom”,点击“Next”。然后选择安装的MySQL的版本,点击向右的箭头,然后在右侧点击一下所选的版本,点击“Advanced Options”。
在这里插入图片描述
  如下图,选择软件的安装路径以及数据的存储路径,
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  之后,连点两个“Next”,在弹出的警告中点击“Yes”,再连点两个“Next”。再如图所示,安装一下MySQL Workbench。
在这里插入图片描述
  之后,如图所示,点击“Execute”,连续点击“Next”。
在这里插入图片描述
  然后输入MySQL Root Password,在Repeat Password中再输一次该密码,接着一直点击“Next”或者“Execute”或者“Finish”。
在这里插入图片描述
  接着将快捷键拖到桌面上。
在这里插入图片描述

  (3)配置MySQL

  如下图所示,找到MySQL的安装路径,然后点击上方的文件路径,使用快捷键Ctr+C进行复制。之后,在此电脑处右击,点击“属性”,选择“高级系统设置”。
在这里插入图片描述
  点击“环境变量”,双击“Path”进行编辑,点击“新建”,然后使用快捷键Ctr+V将刚刚复制的路径粘贴进来,然后一直“确定”就行了。
在这里插入图片描述

  (4)验证MySQL是否安装成功

  然后,如图所示,搜索“cmd”,打开命令提示符。
在这里插入图片描述
  如下图,输入“mysql -uroot -p”,输入刚刚安装时的root密码,成功进入mysql,说明安装成功。
在这里插入图片描述

三、MySQL的入门使用

  1.学习目标

  掌握使用图形化工具操作MySQL数据库软件。

  2.在命令提示符内使用MySQL

在这里插入图片描述
  可以,如下图所示,去简单使用以下。(命令有“mysql -uroot -p”,“show databases;”,“use sys;”, “show tables;”,“exit”)
在这里插入图片描述在这里插入图片描述

  3.使用图形化工具操作MySQL——DBeaver

在这里插入图片描述

  4.DBeaver的安装

  如下图所示,输入DBeaver的官方网址“dbeaver.io”,点击“Download”,在“DBeaver Community”下面选择“Windows (installer)”(community是社区版,是免费的),然后软件就开始下载了。
在这里插入图片描述
  安装包下载完成后,如下图所示,双击安装包,选择语言,点击“OK”,点击“下一步”、“我接受”、“下一步”。
在这里插入图片描述
  如下图所示,点击“下一步”,选择安装路径,点击“下一步”。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
  如下图所示,点击“安装”,安装完后勾选创建桌面快捷方式“Create Desktop Shorteut”,点击“完成”。
在这里插入图片描述

  5.熟悉一下软件DBeaver

  为了大致熟悉一下软件,软件安装完成后,打开软件,选择“No”。选择本次使用的数据库“MySQL”,点击“Next”,输入安装MySQL时填写的root密码,点击“编辑驱动设置”。(不要像视频那样直接点击“测试连接”,可能会报错。可能是MySQL安装的步骤跟视频不一样的缘故,也可能是为了做gif图片时点错了,不小心退出了重进,需要重新操作一遍的缘故)
在这里插入图片描述在这里插入图片描述在这里插入图片描述
  如下图,点击“库”,“下载/更新(D)”,下载以“com”开头的那个文件。
在这里插入图片描述
  如下图,点击“OK”,点击“测试连接”,发现 DBeaver可以连接到数据库MySQL,点击“OK”, 点击“Finish”。
在这里插入图片描述
  点击打开“数据库”的目录,发现数据库不全,这是因为上面三个库(即“information_schema”、“mysql”、“performance_schema”)是MySQL自己使用的内置库,所以在当前这个图形化软件DBeaver里面,它为了怕你误操作,可能把这内置的3个库搞出问题,进而可能导致整个MySQL软件不能用,所以直接就给隐藏了,不给显示了。
在这里插入图片描述
  如下图所示操作,即可看到sys库中的表sys_config中的里有什么内容。这种表格不再是excel那种表格,而是数据库中提供的表格。
在这里插入图片描述

四、SQL基础与DDL

  1.学习目标

  对SQL语言有基础的认知;掌握SQL语言的分类;掌握基础的DDL语法。

  2. SQL的概述

在这里插入图片描述

  3. SQL语言的分类

在这里插入图片描述

  4.SQL的语法特征

在这里插入图片描述

  5.DDL-库管理

在这里插入图片描述

  6.DDL-表管理

在这里插入图片描述

  7.本节的代码演示

  打开软件DBeaver,点击SQL,会弹出一个编辑区。输入代码,并点击三角形符号运行,展示MySQL提供给我们使用的库。
在这里插入图片描述在这里插入图片描述

show databases;

在这里插入图片描述
  SQL对大小写不敏感,如下图修改代码后,运行结果不变。

SHOW databases;

在这里插入图片描述
  SQL可以单行或多行书写,最后以“;”号结束。如下图修改代码后,运行结果不变。

SHOW 
databases;

在这里插入图片描述
  为了熟悉SQL的注释方式,如下图修改代码后,运行结果不变。

SHOW 
-- 我是单行注释的方式1
# 我是单行注释的方式2
databases;
/*
 * 我是
 * 多行注释
*/

在这里插入图片描述
  为了演示使用数据库和查看数据库的语法,如下图修改代码后运行。

USE sys;# 使用sys库

SELECT DATABASE();# 查看当前使用的库

在这里插入图片描述
  为了演示创建库的语法,如下图修改代码后运行。

create database test charset utf8;
/*
 * "create database test charset utf8;":创建一个字符集的编码为UFT-8,名称为test的库
 * "create database test;":创建一个名称为test的库
 * b站弹幕:MySQL的UFT-8只支持3字节,建议使用代替UTF-8且无限制的UTF8MB4
 */
SHOW DATABASES;

在这里插入图片描述
  为了演示删除库的语法,如下图修改代码后,运行前后都更新一次MySQL里的内容。

DROP  database test;# 删除库

SHOW DATABASES;# 显示MySQL中的库

在这里插入图片描述
  为了演示查看表格的语法,如下图修改代码后运行。

USE sys;# 选择库

SHOW tables;# 显示库sys中的表格

在这里插入图片描述
  为了演示创建表格的语法,如下图修改代码后运行,并刷新,然后在对应目录里查看表student。

CREATE database test;# 创建库test

USE test;# 使用库test

CREATE table student(
	id int,
	name varchar(10),	# 文本长度最长为10,varchar()最长可设成255
	age int
);# 在库test中创建表student

在这里插入图片描述

  8.本小节的总结

在这里插入图片描述在这里插入图片描述

五、SQL-DML

  1.学习目标

  掌握DML:INSERT数据插入;掌握DML:DELETE数据删除;掌握DML:UPDATE数据更新。

  2.DML

在这里插入图片描述

  3.数据插入INSERT

在这里插入图片描述

  4.数据删除DELETE

在这里插入图片描述

  5.数据更新UPDATE

在这里插入图片描述

  6.本节的代码演示

  (1).数据插入INSERT的演示

  打开软件DBeaver,输入代码后,将之前创建的表student删除,然后运行代码,代码细节请阅读注释。
在这里插入图片描述

USE test;# 1.使用库test

# 2.在库test中创建一个名为student的表
CREATE table student(	
	id int,
	name varchar(10),	# 文本长度最长为10,varchar()最长可设成255
	age int
);# 在库test中创建表student

# 3.给名为student的表的id所在列添加数据
insert into student(id) values(1),(2),(3);

# 4.给名为student的表的id、name、age所在列添加数据
insert into student(id,name,age) values(4,'周杰轮',31),(5,'林俊节',33);	# MySQL中只支持单引号
/*
 * 上一句代码可改为insert into student values(4,'周杰轮',31),(5,'林俊节',33);
 * 这种省略变量名的写法,要求一行中每个数据都有对应的一个值,而且变量赋值的顺序和定义时保持一致
 */

在这里插入图片描述

  (2).数据删除DELETE的演示

  如下图,首先,看到上次生成的表student中存在“id=1”的行,为了删除这一行数据,如下编程并运行,运行后点击student表,再按F5刷新,可看到“id=1”的行的数据被删除。

DELETE FROM student WHERE id=1; # 删除“id=1”的行的数据

在这里插入图片描述
  如果想将“id<4”的行的数据删除,如下编程并运行,运行后点击student表,再按F5刷新,即可看到“id<4”的行的数据被删除。

DELETE FROM student WHERE id<4; # 删除“id<4”的行的数据

在这里插入图片描述
  如果想将student整张表的数据删除, 如下编程并运行,运行后点击student表,再按F5刷新,即可看到整张表的数据被删除,但是表还在。

DELETE FROM student; # 删除student整张表

在这里插入图片描述

  (3).数据更新UPDATE的演示

  如图,先使用如下代码给表student添两行数据。

insert into student(id,name,age) values(4,'周杰轮',31),(5,'林俊节',33);	# MySQL中只支持单引号

在这里插入图片描述
  如图,如果想将“id=4”的行的“name”改成“张学油”,如下编程并运行,运行后点击student表,再按F5刷新。

UPDATE student SET name='张学油' WHERE id=4; # 将“id=4”的行的“name”改成“张学油”

在这里插入图片描述
  如果想将整张student表的“name”改成“王力鸿”,如下编程并运行,运行后点击student表,再按F5刷新。

UPDATE student SET name='王力鸿'; # 将整张student表的“name”改成“王力鸿”

在这里插入图片描述

  7.本小节的总结

在这里插入图片描述

六、SQL-DQL

  6.1 基础查询(SELECT)

  1.学习目标

  掌握DQL:SELECT语句进行基础的数据查询。

  2. 基础数据查询SELECT(支持过滤查询)

在这里插入图片描述在这里插入图片描述

  3.本节的代码演示

  打开软件DBeaver,发现存在旧表student,输入代码删除旧表,并重新建表添加数据,然后运行代码,代码细节请阅读注释。
在这里插入图片描述

DROP table student;# 1.删去存在的旧表student

# 2.创建一个名为student的表
CREATE table student(
	id int,
	name varchar(10),
	age int,
	gender varchar(4)
);

# 3.给名为student的表添加数据
INSERT INTO student values(10001,'周杰轮',31,'男'),(10002,'王力鸿',33,'男'),
(10003,'蔡依琳',35,'女'),(10004,'林志灵',36,'女'),(10005,'刘德滑',33,'男'),
(10006,'张大山',10,'男'),(10007,'刘志龙',11,'男'),(10008,'王潇潇',33,'女'),
(10009,'张一梅',20,'女'),(10010,'王一倩',13,'女'),(10011,'陈一迅',31,'男'),
(10012,'张晓光',33,'男'),(10013,'李大晓',15,'男'),(10014,'吕甜甜',36,'女'),
(10015,'曾悦悦',31,'女'),(10016,'刘佳慧',21,'女'),(10017,'项羽凡',23,'男'),
(10018,'刘德强',26,'男'),(10019,'王强强',11,'男'),(10020,'林志慧',25,'女');

在这里插入图片描述
  如图,为了熟悉SELECT的语法,编写代码并运行,代码细节请阅读注释

select id,name FROM student; # 查看表student的id和name所在的列

select * FROM student; # 查看student表

select * FROM student WHERE age > 20; # 查看student表中满足“age>20”的数据

select * FROM student WHERE gender = '女'; # 查看student表中满足“gender = '女'”的数据

在这里插入图片描述

  4.本小节的总结

在这里插入图片描述

  6.2 分组聚合(加GROUP BY)

  1.学习目标

  掌握DQL:GROUP BY进行分组聚合查询。

  2.分组聚合的定义与语法(聚合函数SUM、AVG、MIN、MAX、COUNT)

在这里插入图片描述
  注:GROUP BY用于分组,聚合函数用于聚合,聚合函数可单独使用。

  3.本节的代码演示

  打开软件DBeaver,本次使用的表还是上次的表。
在这里插入图片描述在这里插入图片描述
  如图,编写代码练习分组聚合的语法,并运行。

# 计算不同性别的平均年龄,不同姓别的两组中各自的年龄和、最小值、最大值、人数
SELECT gender,avg(age),sum(age),min(age),max(age),count(*) 
FROM student GROUP BY gender; 

在这里插入图片描述

  4.本小节的总结(含分组聚合的注意事项)

在这里插入图片描述
  例如:“SELECT gender,avg(age) FROM student GROUP BY gender;”。

  6.3 排序分页

  1.学习目标

  掌握DQL:对查询结果进行排序分页。

  2.结果排序(加ORDER BY)

在这里插入图片描述

  3.结果分页限制(加LIMIT)

在这里插入图片描述

  4.本节的代码演示

  打开软件DBeaver,本次使用的表还是上次的表。
在这里插入图片描述
在这里插入图片描述
  如图,编写代码练习分组聚合的语法,并运行。

# 将20岁以上的人挑选出来,并按升序进行排序
SELECT * FROM student WHERE age > 20 
ORDER BY age ASC; # 排序默认升序,ASC可以不写

# 将20岁以上的人挑选出来,并按降序进行排序
SELECT * FROM student WHERE age > 20 ORDER BY age DESC; 

# 最多只展示5条数据
SELECT * FROM student LIMIT 5;
# 从第10条(不包括第10条)开始向后,最多只展示5条数据
SELECT * FROM student LIMIT 10,5;

# 将大于20岁的人按年龄进行分组,并统计各组人数,然后按升序进行排序
select age,count(*) from student where age>20 group by age order by age;
# 将大于20岁的人按年龄进行分组,并统计各组人数,然后按升序进行排序,且最多展示3条
select age,count(*) from student where age>20 group by age order by age LIMIT 3;

在这里插入图片描述

  5.本小节的总结

在这里插入图片描述

七、Python & MySQL

  7.1 基础使用

  1.学习目标

  掌握Python执行SQL语句操作MySQL数据库软件。

  2. pymysql及安装

在这里插入图片描述
  安装过程:如图所示,搜索“cmd”,打开命令提示符。然后,输入“pip install pymysql”并等待安装完成。
在这里插入图片描述在这里插入图片描述

  3.创建到MySQL的数据库链接

在这里插入图片描述

  4.执行SQL语句

在这里插入图片描述在这里插入图片描述

  5.本节的代码演示

  在进入演示前,如下图,首先使用命令“pip install --upgrade cryptography pymysql”安装或更新两个Python包,即“cryptography”密码包与“pymysql”两个包。
在这里插入图片描述在这里插入图片描述
  打开软件PyCharm,创建一个名为“02_SQL入门”的文件夹,创建一个名为“01_pymysql入门”的py文件。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
  首先,编写如下代码并运行,如果出现MySQL的版本号即可说明能够正常连接上MySQL。

"""
演示Python pymysql库的基础操作
"""

from pymysql import Connection

# 构建到MySQL数据库的链接
conn = Connection(
    host="localhost",  # 主机名(IP地址)
    port=3306,  # MySQL端口默认3306
    user="root",  # 账户
    password="887thdewiq8@"  # 安装MySQL时所填的root密码
)

print(conn.get_server_info())  # 拿到MySQL库的基础信息后,打印

# 关闭链接
conn.close()

在这里插入图片描述
  如下图,继续编写代码,执行后会在库test中创建表test_pymysql。在展示现象时,需来回打开DBeaver进行查看。

"""
演示Python pymysql库的基础操作
"""

from pymysql import Connection

# 构建到MySQL数据库的链接
conn = Connection(
    host="localhost",  # 主机名(IP地址)
    port=3306,  # MySQL端口默认3306
    user="root",  # 账户
    password="887thdewiq8@"  # 安装MySQL时所填的root密码
)

# print(conn.get_server_info())  # 拿到MySQL库的基础信息后,打印    # 测试代码
# 执行非查询性质SQL
cursor = conn.cursor()  # 获取到游标对象
conn.select_db('test')  # 选择数据库

# 执行sql
cursor.execute("create table test_pymysql(id int);")  # 在python端的SQL语句的“;”可省略

# 关闭链接
conn.close()

在这里插入图片描述
  在执行查询的SQL语句时会使用代码“.fetchall()”,如下编程,看看它的效果,可见这是一个双层嵌套的元组。

"""
演示Python pymysql库的基础操作
"""

from pymysql import Connection

# 构建到MySQL数据库的链接
conn = Connection(
    host="localhost",  # 主机名(IP地址)
    port=3306,  # MySQL端口默认3306
    user="root",  # 账户
    password="887thdewiq8@"  # 安装MySQL时所填的root密码
)

# print(conn.get_server_info())  # 拿到MySQL库的基础信息后,打印    # 测试代码
# 执行非查询性质SQL
cursor = conn.cursor()  # 获取到游标对象
conn.select_db('test')  # 选择数据库

# 执行sql
# cursor.execute("create table test_pymysql(id int);")  # 在python端的SQL语句的“;”可省略
# 执行查询性质SQL
cursor.execute("select * from student")  # 在python端的SQL语句的“;”可省略

# 获取查询结果
results: tuple = cursor.fetchall()
print(results)

# 关闭链接
conn.close()

在这里插入图片描述
  然后,略微改动代码即可得到查询结果。

"""
演示Python pymysql库的基础操作
"""

from pymysql import Connection

# 构建到MySQL数据库的链接
conn = Connection(
    host="localhost",  # 主机名(IP地址)
    port=3306,  # MySQL端口默认3306
    user="root",  # 账户
    password="887thdewiq8@"  # 安装MySQL时所填的root密码
)

# print(conn.get_server_info())  # 拿到MySQL库的基础信息后,打印    # 测试代码
# 执行非查询性质SQL
cursor = conn.cursor()  # 获取到游标对象
conn.select_db('test')  # 选择数据库

# 执行sql
# cursor.execute("create table test_pymysql(id int);")  # 在python端的SQL语句的“;”可省略
# 执行查询性质SQL
cursor.execute("select * from student")  # 在python端的SQL语句的“;”可省略

# 获取查询结果
results: tuple = cursor.fetchall()  # 得到一个嵌套元组,内层元组存的是某一行的数据
# print(results)  # 测试代码
for r in results:
    print(r)

# 关闭链接
conn.close()

在这里插入图片描述

  6.本小节的总结

在这里插入图片描述

  7.2 数据插入

  1.学习目标

  掌握Python执行SQL语句插入数据到MySQL。

  2. commit确认及自动commit确认

在这里插入图片描述在这里插入图片描述

  3.本节的代码演示

  打开软件PyCharm,创建一个名为“02_pymysql数据输入”的py文件。
在这里插入图片描述在这里插入图片描述
  在软件DBeaver使用代码清空student的数据,但保留表格student。

delete from student;

在这里插入图片描述
  python中如果不编写确认的代码,只编写插入数据的代码是无法插入数据的。如下编写代码并运行,根本没有插入数据。

"""
演示使用pymysql库进行数据插入的操作
"""

from pymysql import Connection

# 构建到MySQL数据库的链接
conn = Connection(
    host="localhost",  # 主机名(IP地址)
    port=3306,  # MySQL端口默认3306
    user="root",  # 账户
    password="887thdewiq8@"  # 安装MySQL时所填的root密码
)

# 执行非查询性质SQL
cursor = conn.cursor()  # 获取到游标对象
conn.select_db('test')  # 选择数据库
# 执行sql
cursor.execute("insert into student values(10001,'周杰轮',31,'男');")  # 向表里添加数据

# 关闭链接
conn.close()

在这里插入图片描述
  如下图所示,加上一句确认代码后,就可以成功插入数据。
在这里插入图片描述
  每次都手动commit确认比较麻烦,故如下图所示,将上述代码改成自动commit(即在类Connection中加“autocommit=True”)后再运行。

"""
演示使用pymysql库进行数据插入的操作
"""

from pymysql import Connection

# 构建到MySQL数据库的链接
conn = Connection(
    host="localhost",  # 主机名(IP地址)
    port=3306,  # MySQL端口默认3306
    user="root",  # 账户
    password="887thdewiq8@",  # 安装MySQL时所填的root密码
    autocommit=True  # 自动提交确认(即自动commit)
)

# 执行非查询性质SQL
cursor = conn.cursor()  # 获取到游标对象
conn.select_db('test')  # 选择数据库
# 执行sql
cursor.execute("insert into student values(10002,'林俊节',32,'男');")  # 向表里添加数据
# # 通过commit确认
# conn.commit()
# 关闭链接
conn.close()

在这里插入图片描述

  4.本小节的总结

在这里插入图片描述

八、Python & MySQL综合案例

  1.学习目标

  使用SQL语句和pymysql库完成综合案例的开发。

  2.案例需求

在这里插入图片描述在这里插入图片描述

  3.一些提示

在这里插入图片描述在这里插入图片描述

  4.本节的代码演示

  首先,按照前面的提示,打开软件DBeaver,创建一个名为“py_sql”的库,再在下面创建一个名为“orders”的表。
在这里插入图片描述

CREATE DATABASE py_sql charset utf8; # 创建库

USE py_sql; # 使用库

CREATE TABLE orders(
	order_date date,
	order_id varchar(255),
	money int,
	province varchar(18)
);

在这里插入图片描述
  如下图所示,先创建一个名为“03_综合案例”的文件夹,然后将面向对象的综合案例的代码文件复制过来,再仅仅保留其中读取数据的代码(删少了点,在阅读后文时可以看出来,就不改gif图了)。
在这里插入图片描述
  如下编写“main.py”中的文件,先去DBeaver中确定表oders没有数据,然后运行PyCharm中的代码后,去DBeaver中查看表orders,并刷新,发现数据已经写入。

"""
SQL综合案例,读取文件,写入MySQL数据库中
"""

from file_define import FileReader, TextFileReader, JsonFileReader
from data_define import Record
from pymysql import Connection

# --------------------------数据处理-----------------------------
text_file_reader = TextFileReader("D:/test/2-1/2011年1月销售数据.txt")
json_file_reader = JsonFileReader("D:/test/2-1/2011年2月销售数据JSON.txt")

jan_data: list[Record] = text_file_reader.read_data()  # 1月份的数据
feb_data: list[Record] = json_file_reader.read_data()  # 2月份的数据

# 将2个月份的数据合并1个list来存储
all_data: list[Record] = jan_data + feb_data  # all_data中是包含一个个Record变量的列表

# for record in all_data:  # 测试代码
#     print(i)

# 构建MySQL链接对象
conn = Connection(
    host="localhost",
    port=3306,
    user='root',
    password="887thdewiq8@",
    autocommit=True
)
# 获得游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db('py_sql')
# 组织SQL语句
for record in all_data:
    sql = f"insert into orders(order_date,order_id,money,province) " \
          f"values('{record.date}','{record.order_id}',{record.money},'{record.province}')"
    # print(sql)  # 测试代码,用来检测数据是否正确
    # 执行SQL语句
    cursor.execute(sql)


# 关闭MySQL链接对象
conn.close()

在这里插入图片描述

  5.课后作业

在这里插入图片描述
  好了,本章的笔记到此结束,谢谢大家阅读。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知乎云烟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值