一、定义
DDL(Data Definition Language):数据定义语句,用于库和 表的创建、修改、删除。
DDL用于定义数据库的结构,比如创建、修改或删除 数据库对象,包括如下SQL语句:
CREATE TABLE:创建数据库表
ALTER TABLE:更改表结构、添加、删除、修改列长度
DROP TABLE:删除表
CREATE INDEX:在表上建立索引
DROP INDEX:删除索引
二、数据库
库:
1.库的创建
语法:
CREATE DATABASE 库名;
案例 创建BOOKS库
CREATE DATABASE IF NOT EXISTS books;
库的修改
库一般来说不修改。
更改库的字符集
ALTER DATABASE books CHARACTER SET gbk;
库的删除
DROP DATABASE books;
三、表
二 表的管理
1.表的创建
CREATE TABLE 表名
(
列名 列的类型(长度) 约束,
列名 列的类型(长度) 约束,
...
列名 列的类型(长度) 约束
)
案例 创建表Book
CREATE TABLE book(
id INT,
bname VARCHAR(20),
price DOUBLE,
authorId INT,
publishDate DATETIME
)
CREATE TABLE author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10)
)
DESC author;
2.表的修改
1 修改列名
ALTER TABLE book CHANGE COLUMN publishDate pubDate DATETIME;
2 修改列的类型或约束
ALTER TABLE book MODIFY COLUMN pubDate TIMESTAMP;
3 添加列
ALTER TABLE author ADD COLUMN annual DOUBLE;
4 删除列
ALTER TABLE author DROP COLUMN annual;
5 修改表名
ALTER TABLE author RENAME TO book_author;
总结:
ALTER TABLE 表名 ADD DROP MODIFY CHANGE COLUMN 列名 列类型 约束;
6.表的删除
DROP TABLE book_author;
列不写 IF EXISTS
通用的写法:
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;
DROP DATABASE IF EXISTS 旧表名;
CREATE DATABASE 表名();
7.表的复制
INSERT INTO author VALUES(1,'村上春树','日本'),
(2,'莫言','中国');
这种表的复制仅仅只能复制表的结构
CREATE TABLE copy LIKE author;
SELECT * FROM author;
复制结构加数据:
只复制部分数据
CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation = '中国';
仅仅复制部分结构 某些字段
CREATE TABLE copy4
SELECT id,au_name
FROM author
WHERE 1 = 2;