DDL语言
– 数据定义语言
– 库和表的管理
一:库的管理:创建,修改,删除
– 创建 create
– 修改 alter
– 删除 drop
1.库的创建:
– 语法:
– create database 库名;
案例:
CREATE DATABASE books;
CREATE DATABASE IF NOT EXISTS books;
2.库的修改:
– 无法更改库的名字
– rename database 旧库名 to新库名(现在已经不支持,存在风险)
– 可以更改库的字符集
ALTER DATABASE books CHARACTER SET utf8;
3.库的删除:
DROP DATABASE books;
DROP DATABASE IF EXISTS books;
二:表的管理:创建,修改,删除
– 创建 create
– 修改 alter
– 删除 drop
1.表的创建
– create table 表名(
– 列名 列名类型[(长度)约数],
– 列名 列名类型[(长度)约数],
– …
– )
案例:
CREATE TABLE book(
id INT,
bName VARCHAR(20),
price DOUBLE,
author INT,
publishDate DATETIME
);
DESC book;
CREATE TABLE author(
id INT,
au_Name VARCHAR(20),
nation VARCHAR(20)
);
DESC author;
2.表的修改
– 语法:
– alter table 表名 add|drop|change|modify column(为change时可以省略) 列名 [列类型 约束];
①.修改列名
ALTER TABLE book CHANGE COLUMN publishDate pubDate DATETIME;
– column可以省略
②.修改列的类型或约数
ALTER TABLE book MODIFY COLUMN pubDate TIMESTAMP;
③.添加新列
ALTER TABLE book ADD COLUMN annual DOUBLE;
④.删除列
ALTER TABLE book DROP COLUMN annual;
– 删除列时用alter而不是drop 下面那个会报错
DROP TABLE book DROP COLUMN annual;
⑤.修改表名
ALTER TABLE author RENAME TO book_author;
3.表的删除
DROP TABLE IF EXISTS book_author;
SHOW TABLES;
通用写法
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;
DROP TABLE IF EXISTS 旧表名;
CREATE TABLE 新表名();
4.表的复制
INSERT INTO author
SELECT 1,'莫言','中国' UNION
SELECT 2,'村上春树','日本' UNION
SELECT 3,'金庸','中国';
①仅仅复制表的结构
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;