关键字
- 创建:CREATE
- 修改:ALTER
- 删除:DROP
库的管理
库的创建
- 语法
CREATE DATABASE 库名;
- 创建students库
CREATE DATABASE students;
#更安全的做法
CREATE DATABASE IF NOT EXISTS students;
库的修改
- 更改默认字符集
ALTER DATABASE students CHARACTER SET gbk;
库的删除
- 删除students库
DROP DATABASE students;
#更安全的做法
DROP DATABASE IF EXISTS students;
表的管理
表的创建
- 语法
CREATE TABLE 表名(
列名 类型
...
列名 类型
约束
);
- 案例
#建立一个account表
CREATE TABLE account (
account_number char(10),
branch_name char(30) NOT NULL,
balance numeric(12.2),
PRIMARY KEY (account_number),
FOREIGN KEY (branch_name)
REFERENCES branch(branch_name),
CONSTRAINT chk_balance CHECK (balance >= 0 )
) ;
==不加约束默认值为NULL,任意值都可以为NULL==
表的修改
修改列名
- 语法
ALTER TABLE 表名 CHANGE COLUMN(可忽略) 原列名 新列名 新类型;
- 示例
ALTER TABLE book CHANGE COLUMN publishdate pubdate DATETIME;
修改列的类型或约束
- 语法
ALTER TABLE 表名 MODIFY 列名 新类型或约束;
- 示例
ALTER TABLE book MODIFY pubdate DATETIME;
添加新列
- 语法
ALTER TABLE 表名 ADD COLUMN 新列名 类型;
- 示例
ALTER TABLE book ADD COLUMN author VARCHAR(20);
删除列
- 语法
ALTER TABLE 表名 DROP COLUMN 列名;
- 示例
ALTER TABLE book DROP COLUMN author;
修改表名
- 语法
ALTER TABLE 表名 RENAME TO 新表名;
- 示例
ALTER TABLE book RENAME TO books;
表的删除
DROP TABLE IF EXISTS 表名;
表的复制
- 结构复制
#创建copy表,copy表和author表结构相同
CREATE TABLE copy LIKE author;
- 完整复制
CREATE TABLE copy
SELECT * FROM author;