SQL概述:
SQL是结构化查询语言(Structured Query Language)的简称,是一种关系型数据库操纵语言,是所有关系型数据库都采用的标准语言。
SQL语言可以氛围4类,分别是DML(数据操纵语言)、DDL(数据定义语言)、TCL(事务控制语言)、DCL(数据控制语言)
DML | 增删改查、使用率最高 |
DDL | 新建数据结构、修改已经存在的数据结构及删除不再使用的数据结构几种操作共同组成DDL.(可以使用可视化操作,可视化界面操作的最终运行底层依然是DDL命令的执行)。 |
TCL | DML只是用于数据的更改,TCL决定了DML对数据的更改是提交到数据库还是回滚到修改之前的状态。 |
DCL | 用于权限控制,复杂对要访问数据库和数据库中数据对象的用户进行授权或回收权限。 假如:第三方公司要访问我们的数据库,出于安全考虑,我们一般会创建一个只有部分全校的用户给第三方公司使用。权限的分配、收回均由DCL操作。 |
新增语句:
1.单行新增:一次只向表中插入一条记录。
两种方式:通过values完成和通过select完成
例:
insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno)
values(3030,'张振磊',‘ANALYST’, 7788, '2009.10.17', 1000, null, 10);
insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno)
select 3030,'张振磊',‘ANALYST’, 7788, '2009.10.17', 1000, null, 10;
2.建表新增:
select * into table_a from table_b; 注意:建表新增会创建一章列属性一样的新表,也会把查询结果的记录插入新表中。但是,查询表的键、约束、索引、触发器等表的附属对象是不会自动创建到新表中的。
3.查询结果新增:是将查询的结果插入已经存在的另一张表中。在进行历史数据转移的时候使用这个SQL语言十分方便。
4.常见误区分析:
历史数据转移引起的问题——实际项目中,往往会给业务表新增一张结构一样、表名带_his后缀的历史表,来实现历史数据的转移,以减少业务表的数据量,从而提升业务数据DML操作的效率。通常通过查询结果新增的方法结合删除命令来实现。(要保证列数相同,且列的顺序一致)
values单行新增不要省略列名——为了便于后期系统维护人员进行整体维护,建议values新增时加上列名,提高可维护性。