DDL
DDL:数据定义语言(库和表的管理)
- 库的管理:创建、修改、删除
- 表的管理:创建、修改、删除
使用到的关键字:
创建:create
修改(修改库或表的结构):alter
删除(删除库或表的结构):drop
注:前面的修改(update)和删除(delete)均指的是对表中的数据的修改和删除;
这里的alter和drop指的是对库或表结构的操作
库的管理
-
库的创建
create database 数据库名; //如果数据库存在则会报错;不存在则创建成功
create database if not exists 数据库名; //如果数据库存在则不创建;不存在则创建
-
库的修改
更改数据库的字符集
alter database 数据库名
character set gbk;
-
库的删除
drop database 数据库名;
drop database if exists 数据库名;
表的管理
-
表的创建
create table 表名(
列名 列类型【(长度) 约束】,
列名 列类型【(长度) 约束】,
…
列名 列类型【(长度) 约束】
);
-
表的修改
修改内容:修改表名或列名、修改列的类型或约束、列的删除和添加
修改表名
alter table 表名 rename to 新表名;
eg:alter table student rename to studentInfo;
修改列名
alter table 表名 change column 旧列名 新列名 新列类型;
eg:alter table student change column student_age age int;
修改列的类型或约束
alter table 表名 modify column 要修改的列名 新类型;
eg:alter table student modigy column age tinyint;
添加新列
alter table 表名 add column 列名 列类型;
eg:alter table student add column salary double;
删除列
alter table 表名 drop column 列名;
eg: alter table student drop column salary;
总结:
alter table 表名 add|drop|modify|change column 列名 列类型 约束;
-
表的删除
drop table 表名;
drop table if exists 表名;
show tables; //查看当前库的所有表
表的复制
-
复制表的结构
create table 新表名 like 旧表名
-
复制表的结构和数据
create table 新表名
select * from 旧表名;
-
仅仅复制表的某些列的字段,不复制任何数据
create table 新表名
select id,name from 旧表名
where 1=2;
案例练习
案例1:在mytest库中创建一个test表并将myemployees库中的departments表中的数据添加到表test中
CREATE TABLE test
SELECT id,name FROM myempoyees.departments;