DDL语言
数据定义语言:用来对库和表进行管理
一、库的管理
1、库的创建
语法:
CREATE DATABASE [IF NOT EXISTS] 库名;
案例1:创建库books
CREATE DATABASE IF NOT EXISTS books;
2、库的修改
一般不修改,不过可以修改库的字符集:
ALTER DATABASE books CHARACTER SET gbk;
3、库的删除
DROP DATABASE IF EXISTS books;
二、表的管理
1、表的创建
语法:
CREATE TABLE 表名(
列名 列的类型[(长度) 约束],
列名 列的类型[(长度) 约束],
列名 列的类型[(长度) 约束],
...
列名 列的类型[(长度) 约束],
);
案例1:创建表Book
CREATE TABLE Book(
id, INT, #编号
bName, VARCHAR(20), #书名
price DOUBLE, # 价格
authorId VARCHAR(20), # 作者
publishDate DATETIME # 出版日期
);
案例2:创建表author
CREATE TABLE author(
id INT,
au_name, VARCHAR(20),
nation, VARCHAR(10)
);
2、表的修改
语法:
ALTER TABLE 表名 ADD|DROP|MODIFY|CHANGE COLUMN 列名[列类型 约束];
案例1:修改列名
ALTER TABLE book CHANGE COLUMN publishDate pubDate DATETIME;
案例2:修改列的类型或约束
ALTER TABLE book MODIFY COLUMN pubDate TIMESTAMP;
案例3:添加新列
ALTER TABLE author ADD COLUMN salary DOUBLE [FIRST|AFTER 列名];
案例4:删除列
ALTER TABLE author DROP COLUMN salary;
案例5:修改表名
ALTER TABLE author RENAME TO book_author;
3、表的删除
DROP TABLE book_author;
通用的写法:
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE IF NOT EXISTS 新库名;
DROP TABLE IF EXISTS 旧表名;
CREATE DATABASE IF NOT EXISTS 新表名;
4、表的复制
先往表中添加数据
INSERT INTO author VALUES
(1, "村上春树", "日本"),
(2, "莫言", "中国"),
(3, "冯唐", "中国"),
(4, "金庸", "中国");
①仅仅复制表的结构
CREATE TABLE copy LIKE author;
②复制表的结构加数据
CREATE TABLE copy2
SELECT * FROM author;
③复制部分数据
CREATE TABLE copy3
SELECT * FROM author
WHERE nation="中国";
④复制部分结构
CREATE TABLE copy4
SELECT id, au_name
FROM author
WHERE 0;
⑤复制部分结构和部分数据
CREATE TABLE copy5
SELECT id, au_name
FROM author
WHERE au_name="莫言";