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;

DDL(Data Define Languge):数据定义语言

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

列名 类型[长度] 约束1 约束2 ……,
[表级约束]
) [www.350.vip ,engine=Innodb default charset=utf-8 存储引擎 和 字符集];
创建表 book
Create table book(
id int,
bName varchar(20),
price double,
authorId INT,
rDate datetime
);
www.350.vip 1
www.350.vip 2
2.表的修改
语法:
Alter table 表名 add | drop | modify | change column 列名 [列类型
约束];
①修改列名
Alter table book change column rDate rQi datetime;
www.350.vip 3
②修改列的类型和约束
Alter table book modify column rQi TIMESTAMP;
www.350.vip 4
③修改添加新列
Alter table book add column chen varchar(20);
注意:添加新列到指定位置
first 和 after,first 表示添加列到表的第一列,after
表示添加在某个列之后。
语法:alter table book add column 字段名 类型 约束 [first | after
列名]
默认添加到最后一列。
www.350.vip 5
④删除列
Alter table book drop column chen;
www.350.vip 6
⑤修改表名
Alter table book rename to book_chen;
www.350.vip 7
www.350.vip 8
3.表的删除
Drop table if exists book_chen;
Show tables;
www.350.vip 9
4.表的复制
表1是已存在的表,表2不存在的表
①只复制表的结构
Create table 表2 like 表1;
www.350.vip 10
②复制数据+内容
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;

语法:create database [if not exists]库名;

案例:创建库books

CREATE DATABASE IF NOT EXISTS books ;

更改库的字符集

ALTER DATABASE books CHARACTER SET gbk;

DROP DATABASE IF EXISTS books;

语法:create table 表名(列名 列的类型,列名 列的类型,…列名
列的类型;

www.350.vip 11

DESC book;

www.350.vip 12www.350.vip 13

语法:alter table 表名 add|drop|modify|change column 列名 ;

①修改列名

ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;

②修改列的类型或约束

ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;

③添加新列

ALTER TABLE author ADD COLUMN annual DOUBLE;

发表评论

电子邮件地址不会被公开。 必填项已用*标注