1、外连接
(1)什么是外连接,外连接与内连接的区别?
(2)内连接:
①假如A和B表进行连接,使用内连接的话,凡是A表和B表能够匹配上的记录将被查询查来
②AB两张表没有主副之分,两张表是平等的。
(3)外连接:
①假如A和B表进行连接,使用外连接的话,AB两个表有一张是主表,一张是副表,主要查询的是主表中的数据,捎带会将副表中的数据进行查询,当副表中的数据没有与主表中的数据匹配上,副表自动模拟NULL与主表进行匹配
②分类:OUTER JOIN
1)左外连接(左连接)LEFT OUTER JOIN
a.表示左边的表是主表
2)右外连接(右连接)RIGHT OUTER JOIN
a.表示右边的表示主表
2、多表查询=》99版
Select
查询列表
From
A表
Inner Join
B表
Inner Join
C表
On
连接条件
Where
筛选条件
3、子查询
(1)概念
①出现在其他语句中的select语句,称为子查询或内查询,外部的查询语句,称为主查询或外查询
(2)子查询出现的位置
①Select 后面
1)结果集只是一行一列
②From 后面
1)结果集一般多行多列
③Where 后面
1)单行、多行 等
(3)Where 后面子查询
①后面:单行、多行
②特点:
1)子查询放在小括号中
2)单行单列,一般搭配:>、<、= 等
3)多行多列:in /not in 等
(4)Select后面子查询
①单行单列
(5)From 后面子查询
4、分页查询:limit
(1)应用
①当现实的数据,一页显示不全,需要分页提交sql语句
(2)语法
(3)整理
5、联合查询 union/union all
(1)合并:将多个查询语句的结果合并成一个结果
(2)使用场景:
①要查询的结果来自多个表,而且这些表之间没有任何的关系,但是查询的信息一致
(3)联合查询特点:
①要求多表查询语句的查询列数是一致的
②要求多条查询语句的查询列表的类型和顺序最好一致
③union关键字默认去重,如果使用union all 可以包含重复项
(4)联合查询 公式:
查询语句1
union【all】
查询语句2
union【all】
…
6、DML语句:数据库操作的语言
(1)增删改(insert、update、delete)
7、插入语句:insert
(1)语句格式:(第一种形式)
insert into 表名(列名,…)values(值1,…)
insert into 表名 values(…)
insert into 表名(列名,…) select 字段,… from 表名
(2)补充:插入公式(第二种形式)
insert into 表名 set 列名=值,列名=值,…
(3)两种方式的区别:
①第一种形式,可以进行批量插入,第二种形式不能进行批量插入
②第一种形式,可以进行复制插入,第二种形式不可以
8、修改:update
(1)修改的语法
update 表名 set 列=新值,列=新值,… where 筛选条件
9、删除数据:delete、truncate
(1)第一种形式:delete
①语法结构
delete from 表名 where 筛选条件
②多表删除
delete 别名1,别名2 from 表1 别名1,表2 别名2 where 筛选条件
(2)第二种形式:truncate (删除、截断)
①语法结构:
truncate table 表名
(3)delete 与 truncate 对比
①delete 可以和 where 筛选条件进行连用,truncate不可以
②delete将记录一条一条删除,truncate将表中的信息全部截断
③Truncate效率比delete高
④Delete删除之后的数据可以回滚,truncate不能回滚
⑤Delete删除之后,自增会继续。Truncate删除数据,之后,自增会从头开始计算。
10、DDL语言
(1)数据定义语言
(2)数据库与表的管理
(3)数据库管理
①创建、修改、删除
(4)表管理
①创建、修改、删除
(5)数据管理
①数据库创建:
1)create database [if not exists] 数据库名
②修改数据库的字符集
1)alter database 库名 character set 编码格式;
③删除数据库
1)drop database [if exists] 库名
(6)表管理:
①表的创建
②表修改
1)添加新列
Alter table 表名 add column 列名 类型;
2)修改列名称
alter table 表名 change column 旧列名 新列名 类型;
3)删除列
Alter table 表名 drop column 列名;
③表删除
drop table [if exists] 表名;