MySQL 模块五、模块六复习笔记
模块五
一、添加与更新MySQL数据表数据
a、复制命令的方式创建数据表
例如:用现有的数据表“用户信息”创建数据表“user”
create table user like 用户信息;
5.1向mysql数据表中添加数据
5.1.2数据导入时的特殊情况
1.导入用户表 (源表和目标表名不一样,而且字段名也不一样)
2.主从表导入,必须先导入主数据,再导入从表数据(因为不导入主表数据,从表参照主表的字段就没有可参照数据)
5.1.3使用mysqlimport命令导入文本文件
1.使用mysqlimport命令导入数据时不需要登录MySQL客户端
语法:
mysqlimport -u root -p [--local] 数据库名 导入的文本文件[参数可选项]
例如:将D盘中的user.txt文本文件导入malldb数据库中,字段间使用半角逗号“,”隔开,字符类型字段值使用半角双引号,将转义字符定义为"\",每行记录以回车换行符“\r\n”结尾
Mysqlimport -u root -p MallDB D:\user.txt --fields-terminated-by=, --fields-optionally-enclosed-by=\" --fields-escaped-by=\ --lines-terminated-by=\r\n ;
出现错误时解决步骤:
1)停止MySQL服务
net stop mysql80
2)找到“my.ini”文件,复制备份(其中“my.ini”文件在隐藏文件programDate-MySQL-MySQL server8.0-my.ini)
3)打开my.ini文件找到secure-file-priv设置为空,保存不了时用管理员身份运行txt
[ 修改C:\ProgramData\MySQL\MySQL Server 8.0\my.ini文件
把secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
改为
secure-file-priv=""
存盘时编码为ANSI.]
4)再重启MySQL
net start mysql80
5)再一次执行导入
5.1.4使用Insert语句向数据表中添加数据
一、插入记录时应注意
(1)、插入字符型(char和varchar)和日期时间型(Date)数据时,必须在数据前后加半角单引号,只有数值型(int、float)的值前后不加半角单引号
(2)date类型的数据,插入时,必须使用“YYYY-MM-DD”的格式,且日期数据必须用半角单引号
1.一次插入一条完整的记录
1)不指定字段,按默认顺序插入数据
lnsert lnto 数据表名称 values(字段值1,2,3.....,字段值n);
2.)指定字段名,按指定顺序插入数据
lnsert lnto 数据表名称(字段名1,2,3.....,字段名n)
values(字段值1,2,3.....,字段值n);
2.插入多条记录
lnsert lnto 数据表名称(字段名1,2,3.....,字段名n),
values(字段值1,2,3.....,字段名n),
(字段值1,2,3.....,字段名n),
(字段值1,2,3.....,字段名n);
3.将一张数据表中的数据添加到另一张数据表中
Insert Into 目标数据表名称 Select * | 字段列表 from 源数据表名称;
4.插入查询语句的执行结果
Insert Into 数据表名称 [字段列表] select语句;
5.2修改数据表中的数据
5.2.2使用Update语句更新新数据表中的数据
1、updste 数据表名称 set <字段名1>=<字段值1> [,<字段名2>=<字段值2>,......,<字段名n>=<字段值n>] [where<条件表达式>];
5.3删除数据表中的记录数据
5.3.2使用Delete语句删除数据表中的记录数据
1.delete语句删除数据表记录语法格式
delete from 数据表名称 [where<条件表达式>];
5.4从MySQL数据表中导出数据
数据备份
1.使用MySQL命令将数据表导出到文本文件
语法:
MySQL -u root -p -e "select 语句" 数据库名称 > 路径\文本文件名
1)使用MySQLdump命令将数据表导出到文本文件
MySQLdump -t <导出路径> <数据库名称> [<数据表名称>] -u <用户名称> -p [<参数可选项>]
a、使用不带参数的“MySQLdump”命令导出数据
例如:将数据库“malldb”中的数据表“student”的所有记录导出到文件夹“数据备份”中
Mysqldump -T E:\MySQL\数据备份 MallDB student -u root -p
b、使用带参数的“MySQLdump”命令导出数据
Mysqldump -T E:\MySQL\数据备份 MallDB student -u root -p --fields-terminated-by=, --fields-optionally-enclosed-by=\" --fields-escaped-by=\ --lines-terminated-by=\r\n
模块六
6.1创建单表基本查询
1)select:根据where子句条件表达式,从from子句指定的数据表中找出满足条件的记录,再按select子句选出记录中的字段值,把查询结果以表格的形式返回。
2)from:是select语句必须的子句,用于标记从中检索数据的一张或多张数据表或视图。
3)where:用于设定查询条件
4)group by:用于将查询结果按指定的一个字段或多个字段进行分组统计,分组字段或表达式的值相等的被分为同组
5)having:与group by 子句配合使用,用于进一步筛选
6)order by:用于将查询结果按指定的字段进行排序(排序包括asc按升序排序,desc按降序排序)
6.2 查询时选择与设置字段
6.2.1数据表中所有的字段
例如:查询student表的所有字段
select * from student;
6.2.2查询指定的字段
例如:查看订单信息表的订单编号和送货方式
select 订单编号,送货方式 from 订单信息;
6.2.3查询经过计算后的字段
例如:
6.2.4查询时为查询结果指定别名
例如:
select userid as 用户编号,name as 名字 from 用户信息;
6-3查询时选择行
1. 比较运算符:
= :等于 <>、!>:不等于 <=:小于或等于
<:小于 !<:不小于 >=:大于或等于
>:大于 !>:不大于
2.逻辑运算符:(and或&&、or或||、not或!、Xor)
1)and语法格式:......where 条件表达式1 and 条件表达式2 [and 条件表达式n]
2)or语法格式:......where 条件表达式1 or件表达式2 [and 条件表达式n]
3)not语法格式:.....where not 条件表达式
3.模糊匹配运算符:(like、not like)
1)语法格式:[not] ike '带通配符的字符串'
字符串中可以包括:“%”、"_"
%:0~n个任意字符
_:单个任意字符
4.范围运算符(between and、not between and、in、not in)
1)between and:表示指定范围内
2)not between and:表示指定范围外
5.空值运算符:(is null、is not null)
is null:查询某字段值为空的记录
is not null:查询某字段值不为空的记录
6.子查询比较运算符(all、any、some)
6.3.2查询时去除重复项(distinct)
例如:
select distinct 送货方式 from 订单信息;
6.3.3使用limit关键字查询限定数量的记录
1.不指定初始位置(从第一条开始显示)
格式:limit <记录数量>
例如:select 订单编号,送货方式 from 订单信息 limit
3;
2.指定初始位置
格式:limit <初始位置>,<记录数量>;
例如:select 订单编号,送货方式 from 订单信息 limit 2,6
;
6-3-4用between and创建范围查询
例如:select 商品编号,图书名称,出版日期 from 图书信息 where 出版日期 between '2019-10-01' and '2021-05-01';
6-3-5用in关键字创建查询
例如:select 订单编号,客户,收货人 from 订单信息 where 收货人 in ('金元','高首','文云');
6-3-6用like创建模糊查询
例如:select 订单编号,客户,收货人 from 订单信息 where 收货人 like '廖%';
6-3-7创建搜索空值的查询
例如:select 订单编号,客户,收货人 from 订单信息 where 付款方式 is not null;
6-3-8用聚合函数查询(distinct:保证计算时不包含重复的行)
count(*) 统计总记录、count(字段名称) 统计记录数,忽略空值
avg(字段名称) 平均值、sum(字段名称) 总和、max(字段名称) 最大值、min(字段名称) 最小值
例如:1)select count(*) as 图书种数 from 图书信息 where 价格 between 20 and 45;
2)select count(distinct(商品编号)) as 商品种类 from 订购商品;
3)select max(价格) as 最高价格,min(价格) as 最低价格,avg(价格) as 平均价格 from 图书信息;
4)select sum(购买数量) as 总购买数量 from 订购商品;
6-3-9用and创建多条件查询
例如:select 商品编号,图书名称,出版日期 from 图书信息 where 作者='陈承欢' and year(出版日期)>2020;
6-3-10用or创建多条件查询
例如:select 商品编号,图书名称,出版日期 from 图书信息 where 作者='陈承欢' or 出版日期>'2020-05-01';
6-3-11将查询结果保存到另一张数据表中
创建一张数据表“图书汇总信息”:
create table 图书汇总信息1(
出版社名称 varchar(16),
数量合计 int,
金额合计 decimal(10,2),
图书名称列表 varchar(100)
);
向“图书汇总信息1”中插入查询语句的执行结果
insert into 图书汇总信息1
select 出版社信息.出版社名称,
sum(订购商品.购买数量),
sum(订购商品.购买数量*订购商品.优惠价格-优惠金额),
group_concat(图书信息.图书名称)
from 订购商品,图书信息,出版社信息
where 订购商品.商品编号=图书信息.商品编号
and 图书信息.出版社=出版社信息.出版社ID
group by 出版社信息.出版社名称;
6-4对查询结果进行排序 order by
order by 字段名称1,....,字段名称n [asc|desc]
6-5分组进行数据查询 group by (havinig 进一步筛选)
group_concat():把每个分组中指定指定值都显示出来
group by 字段名称 [having<条件表达式>][with rollup]
6.2创建多表连接查询
格式一:
select <输出字段或表达式列表> from <数据表1>,<数据表2> [where <数据表1.列名> <连接操作符> <数据表2.列名>]
格式二:
select <输出字段或表达式列表>
from <数据表1> <连接类型> <数据表2> [on(<连接条件>)]
内连接:inner join
外连接:out join
交叉连接:cross join
MySQL 模块五、模块六复习笔记相关推荐
- 郑莉老师c++第五版 复习笔记
本文是郑莉老师c++第五版的复习笔记 文章目录 第0章:学习怎么学习 先修正下之前关于学习的错误认识 1.理科一定要学系统课,不要零零碎碎的学.零零碎碎就算学几十个小时反而也是浪费时间还会误入歧途. ...
- Julia 学习笔记(五) | 模块开发 - 保姆级教程
唠唠闲话 今年参与了 OSPP'22 的 Julia 开源项目,期间学习了 Julia 模块从开发到测试的完整过程.借这个机会,整理这段时间学习到的知识.Julia 在开发提供的工具便捷丰富,且对新人 ...
- OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast
OpenCV学习笔记(五十六)--InputArray和OutputArray的那些事core 看过OpenCV源代码的朋友,肯定都知道很多函数的接口都是InputArray或者OutputArray ...
- 《信息与编码》考试复习笔记6----第六章连续信源熵和信道容量(考点在连续信道容量)
系列文章链接目录 一.<信息与编码>考试复习笔记1----第一章概论 二.<信息与编码>考试复习笔记2----第二章离散信息源 三.<信息与编码>考试复习笔记2-- ...
- MySQL复习笔记【上】
对MySQL语法的总结,适合[复习使用] 参考视频B站尚硅谷MySQL教程,同时也很大程度上是这位小伙伴笔记的浓缩,笔记链接https://blog.csdn.net/m0_46153949/arti ...
- nodejs学习巩固笔记-nodejs基础,Node.js 高级编程(核心模块、模块加载机制)
目录 Nodejs 基础 大前端开发过程中的必备技能 nodejs 的架构 为什么是 Nodejs Nodejs 异步 IO Nodejs 事件驱动架构 全局对象 全局变量之 process 核心模块 ...
- 第二百七十九节,MySQL数据库-pymysql模块操作数据库
MySQL数据库-pymysql模块操作数据库 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数 使用方式: 模块名称.conne ...
- STM32复习笔记(五) —— GPIO锁定机制
STM32复习笔记(五) -- GPIO锁定机制 1.GPIO 锁定机制 锁定机制可以锁定 IO 口的配置,锁定一个端口位之后,直至下一次复位之前,将不能再更改端口位的配置 2.本例程软件设计思路 1 ...
- Python基础语法(五)—常用模块和模块的安装和导入
Python基础语法(五)-常用模块的使用和模块的安装和导入,本文介绍的Python模块有:os.sys.time.datetime.random.pickle.json.hashlib.shutil ...
最新文章
- Redis源码解析——前言
- 「查缺补漏」巩固你的 RocketMQ 知识体系
- 她是数学奇女子,巴贝奇的好友,却没能等到计算机的辉煌时刻
- 腾讯面试题:岛屿数量
- windows中的oracle12SE后启动的系统服务的列表
- mysql 的select语句_MYSQL SELECT语句新手
- 账号解锁_WOW正式服:周四新CD,解锁账号精华共享的正确姿势
- vue2.0版本指令v-if与v-show的区别
- Sentinel2A影像监测家乡油菜长势!!
- Spring的一种拦截器SimpleUrlHandlerMapping
- 2018年4月计算机组成原理试题,全国2018年4月自考(02318)计算机组成原理试题及答案.pdf...
- 人脸识别最全综述:详解人脸识别技术、人才、趋势
- 帧动画和骨骼动画 本质的理解
- MATLAB2016a启动慢
- 从外包、互联网到国有企业,再到研究生拟录取,三年时间让我悟出了自己人生的意义
- MATLAB 基本操作
- GBase XDM 模型概要
- POI导出读取Excel表格讲解
- 健身与不健身五年后的差别?你可不能轻易忽视!
- Google Map 开发笔记——基础篇(Javascript )