DDL :数据定义语言,库和表的管理
创建 : create
修改 : alter
删除 : drop
一、库的管理
1. 库的创建
语法
create database 【if not exists】库名;
- 创建库 books
create database if not exists books ; //如果不存在该库就创建(容错性)
2. 库的修改
- 修改库
rename database 原库名 to 新库名; //现在不允许修改,可找到库路径,对库名进行修改
- 更改库的字符集
alter database books character set gbk; //创建时一般是默认 utf-8 字符集
3. 库的删除
- 删除库
drop database 【if exists】 库名; //如果存在该库就删除
二、表的管理
1. 表的创建
语法:
create table 【if not exists] 】表名(
列名 列的类型【(长度) 列的约束】,
列名 列的类型【(长度) 列的约束】,
....
列名 列的类型【(长度) 列的约束】
)
- 创建book表
create table book(
id int, #编号
bName varchar(20), #名字
price double, #价格
authorId int, #作者编号
publishDate datetime #出版日期
);
- 创建author表
create table author(
id int,
au_name varchar(20),
nation varchar(10)
);
2. 表的修改
语法:
alter table 表名 add | drop | modify | change | column 【列名、列类型 、约束】
① 修改列名
② 修改列的类型或约束
③ 添加新列
④ 删除列
⑤ 修改表名
- 修改列名
//将book表中的 publishdate 列修改成 pubDate
alter table book change column publishdate pubDate datetime;
- 修改列的类似或约束
//将book表中的 pubDate 的类型修改成 timestamp
alter table book modify column pubDate timestamp;
- 添加新列
//在author表中增加一列 年薪
alter table author add column annual double;
- 删除一列
//在author表中删除一列 年薪
alter table author drop column annual;
- 修改表名
alter table author rename to book_author;
3. 表的删除
- 删除表;
drop table 【if exists】 表名 ; //如果存在就删除
新建库通用写法
drop database if exists 旧库名; create database 新库名; drop table if exists 旧表名; create table 表名();
4. 表的复制
- 仅仅复制表的结构(可以跨库复制表)
create table 新表名 like 被复制的表名;
- 复制表的结构和表中全部数据
create table 新表名 select * from 被复制的表名;
- 复制表的结构和表中的部分数据
create table 新表名 select id,au_name from 被复制的表名 where nation = "中国";
- 仅仅复制表的某些字段
create table 新表名 select id,au_name from 被复制的表名 where 0;