SQL语句主要可以分为三个类别:DDL、DML、DCL,细分也可以分为六类:DDL、DML、DQL、TPL、DCL、DCL、CCL。不同的分发只是分类的粒度不同。
这里先按三类说明
DDL(Data Definition Language)数椐定义语言:这些语言定义了不同的数据段、数据库、表、列、索引等数据对象,主要用于操作数据库本身的数据或者说数据结构。DDL包括create、drop、alter等,更多的是数据库管理员使用。
创建库:create database 库名 default character set utf8;;
删除库:drop database 库名;
创建表:create table 表名(字段列表);
删除表:drop table 表名;
增加列:alter table 表名 add column 列名 类型;
删除列:alter table 表名 drop column 列名;
增加主键:alter table 表名 add primary key (列名);
建表后增加外键:alter table 表名 add constraint 约束名 foreign key(列名) references 表名(列名);
表建好后自增:alter table 表名 change id id int not null auto_increment;
删除主键约束:alter table 表名 drop primary key;
删除外键约束:alter table 表名 drop foreign key 外键约束名;
DML(Data Manipulation Language)数据操作语句:用于增加、删除、修改、查询数据库中记录的数据,主要为操作数据本身。DML包括insert、delete、update、select,主要为开发人员使用,对数据进行操作管理。
增加数据:insert into 表名 (列名列表) values (对应列值);
删除数据:delete from 表名 where 列名=值;
修改数据:update 表名 set 列名=值 where 列名=值
查询数据:select * from 表名
DCL(Data Control Language)数据控制语句:用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。DCL包括grant、revoke,是DBA用来管理系统中的对象权限时使用,确保相应的用户拥有相应的权限。
增加用户同时赋予相应权限:grant select,insert,update,delete on 数据库.* to 用户名@localhost identified by "password"
按六类说明:
DDL数据定义语言:create、drop
DML数据操作语言:insert、delete、update
DCL数据控制语言:grant、revoke
DQL数据查询语言:select、where、order by、group by、having
TPL数据处理语言:确保被DML影响的表的所有行及时得以更新,begin transaction、commit、rollback
CCL指针控制语言:declare cursor,fetch into和update where current 用于对一个或多个表单独的操作。
参考:《深入浅出MySQL数据库开发、优化与管理维护》
相关博文:SQL查询执行过程:http://zuohao1990.blog.51cto.com/6057850/1720116
MySQL优化:http://zuohao1990.blog.51cto.com/6057850/1710726