DDL:Data Define Lanuage,数据定义语言
一、库的管理
库的创建
【语法】:CREATE DATABASE [IF NOT EXISTS] 库名
库的修改
1、修改库名
【语法】:RENAME DATABASE 库名 TO 新库名(已废弃)
2、修改字符集
【语法】:ALTER DATABASE 库名 CHARACTER SET 字符集(如:GBK);
库的删除
【语法】:DROP DATABASE [IF EXISTS] 库名;
二、表的管理
表的创建
【语法】:
CREATE TABLE [IF NOT EXISTS] 表名 (
列名 列的类型 [(长度)约束],
列名 列的类型 [(长度)约束],
列名 列的类型 [(长度)约束],
......
)
【例】:
CREATE TABLE book (
id int,
name varchar(20),
price double
)
表的修改
1、修改表名
【语法】:ALTER TABLE 表名 RENAME TO 新表名
【例】:ALTER TABLE book RENAME TO books;
2、修改列名
【语法】:ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 类型
【例】:ALTER TABLE book CHANGE COLUMN pubDate publishDate DATETIME;
3、修改列的类型或约束
【语法】:ALTER TABLE 表名 MODIFY COLUMN 列名 类型
【例】:ALTER TABLE book MODIFY COLUMN publishDate TIMESTAMP;
4、新增列
【语法】:ALTER TABLE 表名 ADD COLUMN 列名 类型 [first|after 列名]
【例】:ALTER TABLE book ADD COLUMN salary DOUBLE after id;--在列 id 的后面新增一个 salary 列
5、删除列
【语法】:ALTER TABLE 表名 DROP COLUMN 列名
【例】:ALTER TABLE book DROP COLUMN salary;
【语法】:
表的删除
【语法】:DROP TABLE [IF EXISTS] 表名
【例】:DROP TABLE [IF EXISTS] book;
表的复制
1、仅复制表结构
【语法】:CREATE TABLE 新表 LIKE 旧表;
2、复制表结构+数据
【语法】:CREATE TABLE 新表 SELECT * FROM 旧表 ;
3、复制表结构+部分数据
将 (SELECT * FROM 旧表)改成 (SELECT 查询的列 FROM 旧表 WHERE 筛选条件......)
4、仅复制某些字段,不要数据
【语法】:CREATE TABLE 新表 SELECT 列名 FROM 旧表 WHERE 1=2;
通过 WHERE 1=2 来实现对数据的过滤