mysql的DML与DDL语句

DML: Data Manipulation Language, 数据操纵语言;数据库

DDL: Data Definition Language,数据定义语言;spa

另外,DCL:Data Control Language,数据控制语言,下节详细讲解.对象

DML,用于查询和修改数据,包括:索引

        insert :新增记录ip

        update:更新原有记录it

        delete:删除原有记录io

        select:查询innodb

DDL,用于定义数据库的结构,好比建立,修改删除数据库对象,包括:table

    create table ... 建立表
ast

    drop table... 删除表

    create index...建立索引

    drop index ...删除索引

    alter table..更改表结构,增长,删除列,修改列的数据类型,长度等;

1.新增列

     ALTER TABLE t_mytable ADD [COLUMN] 列名称 数据类型,默认插入到最后一列;

     ALTER TABLE t_mytable ADD COLUMN SEX CHAR(2) AFTER age,在指定列后新增一列;

     ALTER TABLE t_mytable ADD COLUMN SEX CHAR(2) FIRST,插入到第一列;

     ALTER TABLE t_mytable ADD COLUMN SEX CHAR(2),ADD COLUMN last_name VARCHAR(30),增长多列;

2.删除一列

    ALTER TABLE t_mytable DROP sex;

3.  修改一列

    ALTER TABLE t_mytable change sex gender int;,能够更更名称和类型

3.修改一列的数据类型

    ALTER TABLE t_mytable modify gender varchar(2);

4.从新命名表的名称

    RENAME TABLE t_before_name TO t_new_name;

    ALTER TABLE t_mytable RENAME t_mynewtable;

5.建立索引

    ALTER TABLE tbl_name ADD PRIMARY KEY (column_list)
    主键自动添加索引,该语句添加一个主键,这意味着索引值必须是惟一的,且不能为NULL。

    ALTER TABLE tbl_name ADD UNIQUE index_name ON (column_list):
    这条语句建立索引的值必须是惟一的(除了NULL外,NULL可能会出现屡次)。
    ALTER TABLE tbl_name ADD INDEX index_name ON  (column_list):

    添加普通索引,索引值可出现屡次。

   ALTER TABLE tbl_name ADD FULLTEXT index_name ON (column_list):
   该语句指定了索引为 FULLTEXT ,用于全文索引。

   注: 旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引

6.删除索引

    DROP INDEX idx_name[索引名称] ON t_mytable;

    ALTER TABLE   t_mytable  DROP primary key,删除主键索引

7     查询索引

show index from t_mytable;

8.索引的分类

    单值索引:即一个索引只包含单个列.一个表能够由多个单列索引

    主键索引: 设定为主键后数据库会自动创建索引,innodb为聚簇索引

    复合索引:即一个索引包含了多个列