【MySQL笔记】数据定义语言DDL

时间:2024-07-04 08:05:37

1、创建基本表

    create table <表名> (<列名><数据类型>[列级完整性约束条件]
                                                     [,<列名><数据类型>[列级完整性约束条件]
                                                     .........
                                                     [,<表级完整性约束条件>]);
例:
  1. create table student(
  2. Sno char(5) not null unique,
  3. Sname char(20) unique,
  4. Ssex char(1),
  5. Sage int,
  6. Sdept char(15)
  7. );

2、修改基本表

             alert  table  <表名>
                                  [add <新列名> <数据类型> [完整性约束]]
                                  [drop <完整性约束名>]
                                  [modify <列名><数据类型>];
1)add: 用于向表中增加新列及新列相关的完整性约束条件,新的列增加成功后不带任何数据

        alert table student add Scome date;

2)drop:用于删除指定的完整性约束条件
    
        alert table student drop unique(Sname);
3)modify:用于修改原来的列定义,包括修改列名和数据类型,列数据类型修改后可能会丢失原有的数据
        alert table student modify Sage smallint;
注:SQL中没有提供删除属性列的功能,若需要删除列,必须间接通过select语句来实现,将需要的列的内容复制到另一个表中,再删除原表,然后将新表的名字命名为原表名

3、删除基本表

              drop table <表名>

4、建立与删除索引

5.1创建

            create [unique] [cluster] index <索引名> on <表名> (<列名> [<次序][,<列名>[<次序]].....);
例: 
            create unique index studentIndex on student (sno);
注:
1)unique:表明此索引的每个索引值只对应惟一的一个记录
2)cluster:表时要建立的索引是聚簇索引,即按某一列建好索引后,硬盘上的数据存储顺序也调整为按这个列的顺序存储,索引的顺序和存储顺序是一致的。

5.2删除

             drop index <索引名>;
例:
             drop index studentIndex;