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