首页 专题 文章 代码 归档
Mysql DDL简介
2020.03.09 13:49 2020.03.09 13:49

1. DDL简介

DDL:数据定义语言;

包括两大部分:

1、库的管理

  • 创建
  • 修改
  • 删除

2、表的管理

  • 创建
  • 修改
  • 删除

创建:create

修改:alter

删除:drop

2. 库的管理

2.1. 创建

语法:

create database 库名;

如:

create database books;

重复执行会报错,因为已经存在该库,那么创建时可以添加if not exists

create database if not exists books;

2.2. 修改

由于安全问题,已经禁止修改库名;

可以更改库的字符集:

alter database books character set gbk;

2.3. 删除

drop database books;

同样,可以加上if exists

drop database if exists books;

3. 表的管理

3.1. 创建

语法:

create table table_name(
    column_name column_type [(length) 约束],
    column_name column_type [(length) 约束],
    column_name column_type [(length) 约束],
    column_name column_type [(length) 约束],
    column_name column_type [(length) 约束]
)

其中约束要理解的东西很多,我们专门有一章节来写;

如,下面创建一个book表:

create table book
(
    `id`         int,        # id
    `name`       varchar(20),#图书名
    price        double,
    author_id    int,
    publish_date datetime
);

create table author
(
    id     int,
    name   varchar(20),
    nation varchar(10)
);

3.2. 修改

1、修改列名;

alter table book
    change column publish_date publishDate datetime; -- 必须将类型也加上

必须要将类型也加上;

2、修改列的类型或约束;

alter table book
    modify column publishDate timestamp;

3、添加列

alter table book
    add column annual double;

4、删除列

alter table book
    drop column annual;

5、修改表名

alter table author rename to `authors`;

总结:

alter table book add|drop|modify|change column [类型|约束]

3.3. 删除

drop table authors;

当然,也可以加:if exists

drop table if exists authors;

4. 通用的写法

drop database if exists book;
create database book;

drop table if exists book;
create table book(...);

5. 表的复制

1、复制表的结构:

create table copy_book like book;

copy_book就是新表名;

2、复制结构和数据:

create table copy2
select *
from book;

这里也用到了子查询;


仅仅复制部分结构:

create table copy3
select id, price
from book
where 1 = 2;
本节阅读完毕! (分享
二维码图片 扫描关注我们哟