MySQL 基础篇 四【DDL:数据库定义语言】

一、定义

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;

猜你喜欢

转载自blog.csdn.net/Kukeoo/article/details/114273490