SQL语句的分类
SQL是数据库的核心语言,共分为三大类:数据操纵语言DML,数据定义语言DDL,数据控制语言DCL
数据操纵语言DML:他主要是对已经存在的表或视图进行select查询、insert插入、update更新、delete删除等操纵。
数据定义语言DDL:他主要在数据库中创建create、删除drop、alter修改表、视图、索引等的操作。如:
create/drop database 数据库名:创建/删除数据库
create/drop table 数据表名:创建/删除数据表
create/drop view 视图名:创建/删除视图
create/drop index 索引名:创建/删除索引
alter table 数据表名:修改数据表的表结构
数据控制语言DCL:他主要用来授予或回收数据库的某些权限,并控制数据库操纵事务发生的时间及效果,对数据库实时监视等。如:
grant:授予权限
revoke:取消/回收权限
rollback:回滚(即使数据库状态回到上一次最后提交的状态)
commit/work:提交事务
数据库提交事务的方式
显示提交:用commit命令直接完成的提交
隐式提交:用SQL命令间接完成的提交,这些命令有:alter、create、drop、exit、quit、grant、comment、connect等
自动提交:autocommit设置为on,则在插入、修改、删除语句执行后,系统将自动就行提交。(set autocommit on)
三大范式
第一范式:字段具有原子性,数据库表中的字段都是单一属性的,不可再分,并且每个属性只能有一个内容。
第二范式:必须满足第一范式,并且数据库表中的每个实例或行必须可以被惟一地区分。
第三范式:必须满足第二范式,并且每一个表都不包含其他表已经包含的非主关键字信息,确保数据不存在冗余。