Mysql--数据定义语言(DDL)

时间:2018-08-19
本文章向大家介绍Mysql--数据定义语言(DDL),需要的朋友可以参考一下

DDL(Data Definition languages)数据定义语言,这些语句主要定义了不同的数据段,数据表、列、索引等操作,主要关键字有create、drop、alter。
一、 数据库的操作
1.数据库的创建
CREATE DATABASE IF NOT EXISTS chens;
2.数据库的修改
CREATE DATABASES BOOKS TO 新库名;
注意:一般不更改库的名字,因为这样修改的话可能会使库中的数据变化。
3.更改数据库的字符集
ALTER DATABASE chens character set gbk;
4.删除库
DROP DATABASE IF EXISTS chens;

二、 表的管理
1.表的创建
Create table 表名(
列名 类型[长度] 约束1 约束2 ……,
列名 类型[长度] 约束1 约束2 ……,

列名 类型[长度] 约束1 约束2 ……,
[表级约束]
) [engine=Innodb default charset=utf-8 存储引擎 和 字符集];
创建表 book
Create table book(
id int,
bName varchar(20),
price double,
authorId INT,
rDate datetime
);


2.表的修改
语法:
Alter table 表名 add | drop | modify | change column 列名 [列类型 约束];
①修改列名
Alter table book change column rDate rQi datetime;

②修改列的类型和约束
Alter table book modify column rQi TIMESTAMP;

③修改添加新列
Alter table book add column chen varchar(20);
注意:添加新列到指定位置
first 和 after,first 表示添加列到表的第一列,after 表示添加在某个列之后。
语法:alter table book add column 字段名 类型 约束 [first | after 列名]
默认添加到最后一列。

④删除列
Alter table book drop column chen;

⑤修改表名
Alter table book rename to book_chen;


3.表的删除
Drop table if exists book_chen;
Show tables;

4.表的复制
表1是已存在的表,表2不存在的表
①只复制表的结构
Create table 表2 like 表1;

②复制数据+内容
Create table 表2 like select * from 表1;
③复制部分数据
Create table 表2 like select * from 表1 where 条件;
④仅仅复制某些字段
Create table 表2 like select 字段1 ,字段2 from 表1 where 0;