DDL语句(数据定义语言)
主要涉及库和表的管理操作
一、库的管理:
1. 库的创建
create database(if not exists)库名;
例如:
2.库的修改
库一般不修改,容易导致数据出现问题
可以更改库的字符集
ALTER DATABASE books CHARACTER SET gbk;
3.库的删除
drop database if exists 库名;
原始表:
二、表的管理:
1. 表的创建:
语法:
create table 表名(
列名 列的类型【(长度)约束】,
列名 列的类型【(长度)约束】,
……
列名 列的类型【(长度)约束】;
)
案例1:创建表book
注:
Name是关键字,易混淆,用bName排除歧义;
varchar(20) 这个长度是必须的,这里的20代表书名的最大长度;
autho假如写的作者不多,可以单独建个作者表;这里写authorId作者编号,从而实现分类存储,减少数据冗余
案例2:创建表author
2. 表的修改:
语法:
alter table表名add /drop /modify/change column 列名【列类型 约束】;
①修改列名
其中column可以省略
在新列名的后面要求加上类型
②修改列的类型或约束
③添加新列
④删除列
这里可以不用加类型,因为通过名字就可以找到它
⑤修改表名
3. 表的删除:
已经删除之后,再去执行删除会报错,那么如果加上if exists就不会报错
创建通用的写法:
drop databases if exists 旧库名;
create database 新库名;
drop table if exists 旧表名;
create table 表名 ( ) ;
4. 表的复制
1》仅仅复制表的结构
注:表的复制仅仅只能复制表的结构,所复制的表中是没有数据的
2》复制表的结构+(全部)数据
只复制部分数据
仅仅复制某些字段 (不含数据)
where 1=2这里的条件恒不成立(数据都不满足),因此是复制了两个空列
还可以直接写0,因为0代表false;1代表true