【MySQL笔记】数据定义语言DDL
1、创建基本表
create table <表名> (<列名><数据类型>[列级完整性约束条件]
[,<列名><数据类型>[列级完整性约束条件]
.........
[,<表级完整性约束条件>]);
例:
create table student(
Sno char(5) not null unique,
Sname char(20) unique,
Ssex char(1),
Sage int,
Sdept char(15)
);
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;