IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库基本增删改查语法和多表链接查的方式 -> 正文阅读

[大数据]数据库基本增删改查语法和多表链接查的方式

文章目录

SQL语句的分类

一、DML数据操作语句

二、使用步骤

1.增加数据(INSERT语句)

?2.修改数据(UPDATE语句)

?3.删除数据(DELETE语句)

?4.删除数据(TRUNCAT语句)

?5.DELETE、DROP、TRUNCAT的区别

一、DQL数据操作语句和基本的DQL语句

二、使用步骤

1.单表查询

1.多表联查

1.内联查询? ? ?inner join on?

2.外联查询? ? --? 主表和从表

3.子查询

4.any some 子查询:

5.all子查询:

总结


SQL语句的分类

????SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一
种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。

一、DML数据操作语句

1.?增加数据的INSERT语句

2. 修改数据的UPDATE语句

3. 删除数据的DELETE语句

4. 删除数据的TRUNCAT语句

5. DELETE、DROP、TRUNCAT的区别

二、使用步骤

1.增加数据(INSERT语句)

语法:INSERT INTO `表名` [(`字段1`,`字段2`,...`字段n`)]

???????????VALUES/VALUE ('值1','值2',...'值n')[,('值1','值2',...'值n')...];

?示例:方式一

??示例:方式二

?

其中:
? [] ” 包含的内容可以省略;
? 字段或值之间用英文逗号隔开;
? 可同时插入多条数据,values 后用英文逗号隔开;
? values和value的方式均可。

?2.修改数据(UPDATE语句)

语法:UPDATE 表名 SET `字段名1` = '值1' [ , `字段名2` = '值2', …. ]

???????????[ WHERE 条件];

示例1:整表修改

?示例2:带条件的修改

示例3:多条件的修改(要用连接符号 and 或者or)

?示例4:范围型的多条件

?示例5:范围型的多条件(between and)

其中:
? [] ” 包含的内容可以省略;
? `字段名`为要更改数据的字段,'值'表示字段改后的值,注意字段和值的对应;
? 可同时修改多个字段,多个字段后用英文逗号隔开;
? “WHERE”是where子句,可以给修改增加条件;
? 条件:为筛选条件,如不指定则修改该表的所有列数据。

3.删除数据(DELETE语句)

语法:DELETE FROM 表名 [ WHERE 条件];

?示例1:整表删除

?示例2:带条件的删除(delete 不能清除主键自增的序号

其中:
? [] ” 包含的内容可以省略;
? WHERE ”可以通过where子句增加删除的条件。

?4.删除数据(TRUNCAT语句)

语法:TRUNCATE [TABLE] 表名

示例1:清空表(将整张表的数据还有索引【主键的自增】全部清空,保留表结构)
其中:
? TRUNCATE 是一个特殊的删除语句,又叫做清空语句;
? [] ”包含的内容可以省略;
? 功能:清空某一张表内的全部数据,重置自增计数器;
? 特点:由于没有条件约束,所以速度快,而且效率高。

?5.DELETE、DROP、TRUNCAT的区别

定义:

-- delete只删除数据,表结构还在,属于DML
-- truncate 删除数据,清除索引,表结构还在属于DML
-- drop 数据,索引一起删除,表结构不在属于DDL

区别:

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语句

DQL(Data Query Language 数据查询语言)。用途是查询数据库数据,如 SELECT 语句。是SQL语句中最核心、最重要的语句,也是使用频率最高的语句。其中,可以根据表的结构和关系分为单表查询和多 表联查。

1.?单表查询:针对数据库中的一张数据表进行查询,可以通过各种查询条件和方式去做相关的优化。

2. 多表联查:针对数据库中两张或者两张以上的表同时进行查询,依赖的手段有复杂查询和嵌套查询。

二、使用步骤

1.单表查询

语法:

SELECT [DISTINCT]
{*|表1.*|[ 表1.字段1 [as 字段别名1]
[, 表1.字段2[as 字段别名2]][, …]]}
FROM 表1 [ as 表别名 ]
[ left|right|inner join 表2 on 表之间
的关系 ]
[ WHERE ]
[ GROUP BY ]
[ HAVING]
[ ORDER BY]
[ LIMIT {[ 位置偏移量,] 行数 }] ;
DISTINCT : 设定DISTINCT可以去掉重复记录。
AS: 表名或者字段名过长时,可以用AS关键字起别名,方便操作。
GROUP BY: 按组分类显示查询出的数据。
HAVING: GROUP BY分组时依赖的分组条件。
ORDER BY: 将查询出来的结果集按照一定顺序排序完成。
LIMIT: 限制显示查询结果的条数。

?示例1:最简单的查询

?示例2:对基本表的查询,全字段的查询

?示例3:部分字段查询(虚拟表,不在磁盘上)

??示例4:增加数据


?示例5:给表头起别名?AS

语法:
SELECT 表别名.字段名1 AS 字段别名1, 表别名.字段名2 AS 字段别名2
FROM 表名 AS 表别名
其中:
? . ” 当前表存在的字段;
? AS ”可忽略不写,“ AS ”的功能如下:
? 给字段取一个新别名;
? 给表取一个新别名;
? 把经计算或总结的结果用另外一个新名称来代替。

?示例6:去除重复的数据 DISTINCT(后面的字段的值要完全相同时才会去除重复)

?语法:

SELECT DISTINCT 字段名1, 字段名2...
FROM 表名

其中:
? 去掉SELECT查询返回的记录结果中重复的记录(所有返回列的值都相同),
只返回一条。

?示例7:带条件的查询

语法:
SELECT * FROM 表名 [ WHERE 条件];
其中:
? WHERE条件子句不是必须的;
? WHERE子句,可以给查询增加条件;
? 条件:为筛选条件,如不指定则修改该表的所有数据。

?示例8:like 模糊查询

?语法:

SELECT * FROM 表名 WHERE 字段 LIKE 条件;

其中:
? 在WHERE子句中,使用LIKE关键字进行模糊查询;
? 与“%”一起使用,表示匹配0或任意多个字符;
? 与“_”一起使用,表示匹配单个字符。

?示例9:GROUP BY和?HAVING分组

GROUP BY

1、对所有的数据进行分组统计;
2、分组的依据字段可以有多个,并
依次分组。
HAVING
与GROUP BY结合使用,进行分组
后的数据筛选。

where 和having的区别:
-- where 后的筛选是针对表中的每一条数据进行
-- having 分组之后的数据进行筛选,不能单独出现,必须要有group by。

?示例10:LIMIT

语法:
SELECT * FROM 表名 LIMIT [n , m ]
其中:
? LIMIT关键字是MySQL特有关键字;
? LIMIT限制SELECT返回结果的行数;
? n 表示第一条记录的偏移量,m 表示显示记录的数量;
? [ ] ”包含的内容可以省略

?示例11:ODER BY排序

?语法:

SELECT * FROM 表名 ORDER BY 字段名 [DESC|ASC]

其中:
? ORDER BY 表示对SELECT语句查询得到的结果,按字段名进行排序;
? DESC表示排序的顺序为降序,ASC表示排序的顺序为升序;
? [ ] ”包含的内容可以省略。


1.多表联查

  • 等值查询和非等值查询

  • ?连接查询

?示例1:非等值查询

?示例2:非等值查询


1.内联查询? ? ?inner join on?

示例1:


2.外联查询? ? --? 主表和从表

left join on? --? 左外联 主表先写用left
right join on --? 右外联?? ?主表后写用right

示例1:


?3.子查询

1.where 子查询

示例1:

2.from子查询:把内层的查询结果当成临时表,供外层sql再次查询。查询结果集可以当成表看待。

示例1:

3. exists 型子查询 : 把外层 sql 的结果,拿到内层 sql 去测试,如果内层的 sql 成立,则该行取出。内层查询是 exists 后的查询。

示例1:

4.any some 子查询:表示满足其中任意一个条件,some any的别名,所以用法是一样的,可以替代使用

示例1:

?5.all子查询:表示满足其中所有条件条件,ALL关键字与any关键字类似,只不过上面的or改成and


总结

最后,测试过程中,最常用到的就是查询语句,主要是看接口调用的数据传输是否正常,其中多表关联查询和子查询是用的比较多的;这些只是初级的使用。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 02:04:35  更:2022-09-15 02:06:05 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码