跳到主要内容

SQL

四种连接

IDNAME
1张三
2李四
3王五
IDJOBParentID
1231
2342
3344

内连接

包括相等连接和自然连接。内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。

select a.*,b.* from a inner join b on a.ID = b.ParentID
IDnamejobparentID
1张三231
2李四342

外连接

包括左向外连接,右向外连接和完整外部连接。

左连接

select a.*,b.* from a left join b on a.ID = b.ParentID
ID/anameID/bjobparentID
1张三1231
2李四2342
3王五NULL

右连接

select a.*,b.* from a right join b on a.ID = b.ParentID
ID/anameID/bjobparentID
1张三1231
2李四2342
NULL3344

完全连接

select a.*,b.* from a full join b on a.ID = b.ParentID
ID/anameID/bjobparentID
1张三1231
2李四2342
NULL3344
3王五NULL

交叉连接

对左表中的每一行和右表中的每一行进行笛卡尔积。

SQL语言

DQL数据查询语言

SELECT,WHERE,ORDER BY,GROUP BY,HAVING

执行顺序:

select → from → where → group by → having → order by

其中selectfrom是必须的,其他是可选的。

from:需要从哪个数据表检索数据

where:过滤表中的数据条件

group by:对上面过滤出的数据分组

having:对上面已经分组的数据进行过滤的条件

select:查看结果集中的哪个列,或列的计算结果

order by:按照什么样的顺序来查看返回的数据

count,sum

count算行数,sum算总和

DML数据操作语言

INSERT,UPDATE,DELETE

TPL事务处理语言

BEGIN TRANSACTION,COMMIT,ROLLBACK

确保被DML语句影响的表的所有行及时得到更新

DCL数据控制语言

GRANT,REVOKE确定单个用户和用户组对数据库对象的访问

DDL数据定义语言

CREATE,DROP数据库中创建新表或者删除表

drop truncate table [table_name]
--删除内容和定义,释放空间。truncate是清空表中的数据,drop将表一起删除
delete from [table_name] where ...
--delete和truncate一样只删除内容,释放空间但不删除定义;但是delte可以对行数据进行删除,也可以对整表数据进行删除

CCL指针控制语言

DECLARE CURSOR,FETCH INTO,UPDATE WHERE CURRENT

备份策略

完全备份:备份整个数据集

部分备份:备份部分数据集(比如一个表)

  1. 增量备份:节约空间,还原麻烦

  2. 差异备份:浪费空间,还原稍微简单

完整性和安全性

完整性防止数据库中存在不符合语义的数据,防止错误信息的输入输出造成的无效操作和错误结果。

安全性是指防止数据库被恶意的破坏和非法存取。

某一种机制可以用于安全性和完整性的保证。

Loading Comments...