| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 数据库基本增删改查语法和多表链接查的方式 -> 正文阅读 |
|
[大数据]数据库基本增删改查语法和多表链接查的方式 |
文章目录SQL语句的分类
????SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一
种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。
一、DML数据操作语句1.?增加数据的INSERT语句 2. 修改数据的UPDATE语句 3. 删除数据的DELETE语句 4. 删除数据的TRUNCAT语句 5. DELETE、DROP、TRUNCAT的区别 二、使用步骤1.增加数据(INSERT语句)
?
其中:
?
“
[]
” 包含的内容可以省略;
?
字段或值之间用英文逗号隔开;
?
可同时插入多条数据,values 后用英文逗号隔开;
?
values和value的方式均可。
?2.修改数据(UPDATE语句)
其中:
?
“
[]
” 包含的内容可以省略;
?
`字段名`为要更改数据的字段,'值'表示字段改后的值,注意字段和值的对应;
?
可同时修改多个字段,多个字段后用英文逗号隔开;
?
“WHERE”是where子句,可以给修改增加条件;
?
条件:为筛选条件,如不指定则修改该表的所有列数据。
3.删除数据(DELETE语句)
其中:
?
“
[]
” 包含的内容可以省略;
?
“
WHERE
”可以通过where子句增加删除的条件。
?4.删除数据(TRUNCAT语句)
其中:
?
TRUNCATE
是一个特殊的删除语句,又叫做清空语句;
?
“
[]
”包含的内容可以省略;
?
功能:清空某一张表内的全部数据,重置自增计数器;
?
特点:由于没有条件约束,所以速度快,而且效率高。
?5.DELETE、DROP、TRUNCAT的区别
区别:
1、delete一般用来删除表中的某一条或者一行数据,在不设置WHERE条件下可以删除表中的所有信息,将该操作保存在事务日志中在以后需要的时候还可以进行回滚操作。对表执行delete之后,该表不会减少表或者索引所占用的空间。
2、truncate是清空的意思,从字面就可以理解为一次删除就可以将表里的数据全部清除,没有回滚操作。对表执行truncate之后,表和索引就会恢复到初始的大小。 3、drop可以将表的结构和数据内容都删除。对表执行drop之后,该表所占用的空间全部释放。 4、delete和truncate都是对数据进行操作,区别是范围不同。delete可以针对数据中的table、view两种类型。而truncate只能针对table类型。 5、速度上:drop>truncate>delete; 6、 在没有备份的时候,尤其小心使用drop和truncate ,删除部分数据行用delete带上where子句,回滚段要足够大。删除表用drop。想要保留表而将所有数据删除,如果和事务无关,用truncate即可,如果和事务有关,或者想触发trigger,还是用delete。如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。 7、delete是DML(数据操作语言)语句,执行后不会自动提交;drop、truncate都是DDL(数据定义语言)语句,执行后会自动提交。 一、DQL数据操作语句和基本的DQL语句
1.?单表查询:针对数据库中的一张数据表进行查询,可以通过各种查询条件和方式去做相关的优化。 2. 多表联查:针对数据库中两张或者两张以上的表同时进行查询,依赖的手段有复杂查询和嵌套查询。 二、使用步骤1.单表查询
DISTINCT :
设定DISTINCT可以去掉重复记录。
AS:
表名或者字段名过长时,可以用AS关键字起别名,方便操作。
GROUP BY:
按组分类显示查询出的数据。
HAVING:
GROUP BY分组时依赖的分组条件。
ORDER BY:
将查询出来的结果集按照一定顺序排序完成。
LIMIT:
限制显示查询结果的条数。
其中:
?
“
.
” 当前表存在的字段;
?
“
AS
”可忽略不写,“
AS
”的功能如下:
?
给字段取一个新别名;
?
给表取一个新别名;
?
把经计算或总结的结果用另外一个新名称来代替。
其中:
?
去掉SELECT查询返回的记录结果中重复的记录(所有返回列的值都相同),
只返回一条。
其中:
?
WHERE条件子句不是必须的;
?
WHERE子句,可以给查询增加条件;
?
条件:为筛选条件,如不指定则修改该表的所有数据。
其中:
?
在WHERE子句中,使用LIKE关键字进行模糊查询;
?
与“%”一起使用,表示匹配0或任意多个字符;
?
与“_”一起使用,表示匹配单个字符。
where 和having的区别:
-- where 后的筛选是针对表中的每一条数据进行
-- having 分组之后的数据进行筛选,不能单独出现,必须要有group by。
其中:
?
LIMIT关键字是MySQL特有关键字;
?
LIMIT限制SELECT返回结果的行数;
?
n 表示第一条记录的偏移量,m 表示显示记录的数量;
?
“
[ ]
”包含的内容可以省略
其中:
?
ORDER BY 表示对SELECT语句查询得到的结果,按字段名进行排序;
?
DESC表示排序的顺序为降序,ASC表示排序的顺序为升序;
?
“
[ ]
”包含的内容可以省略。
1.多表联查
1.内联查询? ? ?inner join on?
2.外联查询? ? --? 主表和从表left join on? --? 左外联 主表先写用left
?3.子查询1.where 子查询
2.from子查询:把内层的查询结果当成临时表,供外层sql再次查询。查询结果集可以当成表看待。
3.
exists
型子查询
:
把外层
sql
的结果,拿到内层
sql
去测试,如果内层的
sql
成立,则该行取出。内层查询是
exists
后的查询。
4.any some 子查询:表示满足其中任意一个条件,some 是 any的别名,所以用法是一样的,可以替代使用
?5.all子查询:表示满足其中所有条件条件,ALL关键字与any关键字类似,只不过上面的or改成and。总结最后,测试过程中,最常用到的就是查询语句,主要是看接口调用的数据传输是否正常,其中多表关联查询和子查询是用的比较多的;这些只是初级的使用。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 11:10:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |