库的管理
库的创建(create)
语法:
create database [if not exists]库名;
- 添加if not exists是为了增加容错率
库的修改(alter)
- 更改库的字符集
alter database 库名 character set 字符集(如:utf-8,gbk等)
库的删除(drop)
drop database [if exists] 库名;
表的管理
要与上一节DML中的添加,修改,删除区分开来,上一节数据管理语言的操作是针对数据,此处是数据定义语言,针对表的结构。
创建(create)
语法:
create table 【if not exists】 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
...
列名 列的类型【(长度) 约束】
);
例:创建表Book
CREATE TABLE book(
id INT,#编号
bName VARCHAR(20),#书名
price DOUBLE,#价格
authorId INT,#作者编号
publishDate DATETIME#出版日期
);
修改(alter)
语法
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;
- 修改列名
ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;
#column可以省略
- 修改列的类型或者约束
ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;
- 添加新列
ALTER TABLE book ADD COLUMN annual DOUBLE;
- 删除列
ALTER TABLE book DROP COLUMN annual;
- 修改表名
ALTER TABLE book RENAME TO books;
删除(drop)
drop table [if exists] 表名;
复制
语法:
- 仅复制表结构
create table 新表 like 旧表;
- 复制表的结构+数据
create table 新表
select * from 旧表
- 若要复制部分,则在select语句中添加一些约束即可
- 仅复制部分结构
create table 新表
select 列名1, 列名2, ...
from 旧表
where 1=2;
即通过在筛选条件出填入不会成立的条件,仅将部分结构复制过来