MySQL笔记-DDL语句

本节涉及MySQL关键字:create、drop、alter、truncate、change、modify等。

 

一、常见数据库对象介绍

数据表是最基本的数据库对象,也是存储数据的逻辑单元。但数据库里不只包含数据表,通常包含以下几种常见数据库对象:

1、数据表:table,存储数据的逻辑单元,行为记录,列为字段。

2、视图:view,一个或多个数据表里数据的逻辑显示。视图并不存储数据。

3、索引:index,用于提高查询性能,相当于书的目录。

4、函数:fuction,用于完成一次特点的计算,具有一个返回值。

5、存储过程:procedure,用于完成一次完整的业务处理,无返回值,但可通过传出参数将多个值传给调用环境(?)。

6、触发器:trigger,相当于一个事件监听器,当数据库发生特定事件后,被触发,完成相应处理。

7、约束:constraint,用于保证数据完整性的规则。

注:关于view、index、function等的使用方法与作用,后面单独学习讨论。

create、drop与alter等关键字后可紧跟不同的数据库对象关键字,表示具体操作哪种数据库对象,如create table table1,create view ,……

 

二、DDL 语法

1、create创建

*创建并使用数据库:

create database dbName;

use dbName;

*创建表,基本语法:

create table [模式名.]表名(

columnName1 dataType [default value1],

……

);

注:default关键字可指定默认值;最后一列不用逗号结尾!

MySQL笔记-DDL语句_第1张图片

*此外,可通过从其他表中的查询结果创建新表:

create table tableName as subQuery;

如:create table newInfo as SELECT * FROM student; 将创建一个与student一样的表newInfo。

注:MySQL支持的数据类型,小节单独讨论。

2、drop删除

*删除数据库:drop database dbName;

*删除表:drop table tableName;

说明:删除表或数据库后,对应的对象不再存在,相关联的索引、约束也被删除。

3、alter修改表结构

alter关键字通常可用于添加字段、删除字段、修改字段、修改表名。

1)、添加字段(add)。语法:

alter table 表名 add(

columnName dataType [default value],

……

);

MySQL笔记-DDL语句_第2张图片

注意:添加字段不可指定非空约束,除非给新增的字段添加了默认值,因为原来表中的记录该行是NULL。

2)、删除字段(drop)。语法:

alter table 表名 drop columnName;

3)、修改字段(modify)。语法:

alter table 表名 modify columnName dataType [default value] [first|after column_name];

说明:MySQL的modify只能同时修改一个字段,而Oracle等数据库的modify可同时修改多个字段,语法同add增加字段相似。

4)、修改表名(rename)。语法:

alter table 表名 rename to newName;

例:alter table student rename to students;

5)、修改字段(change)。语法:

alter table 表名 change oldColumnName newColumnName dataType [default value] [first|after column_name];

注:modify与change都能修改字段,但change比modify多一个修改字段名的能力,故change关键字后接旧与新的字段名。

4、truncate截断表

大多数数据库将truncate归为DDL 处理,被称为“截断”某个表——删除表里的全部数据,但保留表结构,比DML里的delete命令快许多,因为delete是删除指定的记 录,还需要查找。 

语法:

truncate 表名;

 

 

 

你可能感兴趣的:(数据库)