【DataBase】MySQL 20 DDL 数据定义语句
Data Define Language DDL 数据定义语言
- 数据库的管理
- 数据表的管理
创建 CREATE、修改 ALTER、删除DROP
库的管理
-- 创建库
-- CREATE DATABASE 'DB_NAME'; CREATE DATABASE BOOK; CREATE DATABASE IF NOT EXISTS BOOK; -- 不存在再创建 -- 修改库名 -- 该语句的执行将会导致数据丢失,非常危险 RENAME DATABASE BOOK TO NEW BOOK; -- 关闭SQL服务器 -- 实际更改库名直接进: MySQL version\data\找到这个库的目录名修改即可 -- 开启SQL服务器 -- 更改字符集设置 ALTER DATABASE books CHARACTER SET GBK; ALTER DATABASE books CHARACTER SET UTF8; -- 库的删除 DROP DATABASE BOOK; DROP DATABASE IF EXISTS BOOK;
表的管理
表的创建
/* -- CREATE TABLE 表名 CREATE TABLE TABLE_NAME( -- 字段 字段类型 (长度限制) 约束 COLUMN1 COLUMN_TYPE [(LIMIT_LENGTH) SCHEMA], COLUMN2 COLUMN_TYPE [(LIMIT_LENGTH) SCHEMA], COLUMN3 COLUMN_TYPE [(LIMIT_LENGTH) SCHEMA], COLUMN4 COLUMN_TYPE [(LIMIT_LENGTH) SCHEMA], COLUMN5 COLUMN_TYPE [(LIMIT_LENGTH) SCHEMA] ) */ CREATE TABLE BOOK( book_id INT(4), book_name VARCHAR(20), price DOUBLE, author_id INT(4),-- author VARCHAR(20) publishDate DATETIME ) DESC BOOK;
CREATE TABLE AUTHOR( author_id INT(4), author_name VARCHAR(20), author_nation VARCHAR(50) ) DESC AUTHOR;
表的修改
-- 修改列名 -- ALTER TABLE 表名 CHANGE COLUMN 原始列名,新列名,新数据类型; ALTER TABLE table_name CHANGE COLUMN original_column_name new_column_name new_data_type; DESC table_name;
-- 修改列的类型或约束 -- ALTER TABLE 表名 MODIFY COLUMN 原始列名 新数据类型; ALTER TABLE table_name MODIFY COLUMN original_column_name new_data_type; DESC table_name;
-- 添加新列 -- ALTER TABLE 表名 ADD COLUMN 新字段 数据类型; ALTER TABLE table_name ADD COLUMN new_column_name data_type; DESC table_name;
-- 删除列 -- ALTER TABLE 表名 DROP COLUMN 列名; ALTER TABLE table_name DROP COLUMN original_column_name; DESC table_name;
-- 修改表名 -- ALTER TABLE 表名 RENAME TO 新表名; ALTER TABLE original_table_name RENAME TO new_table_name; DESC table_name;
表的删除
-- 删除表 DROP TABLE table_name; DROP TABLE IF EXISTS table_name; -- 多表删除 DROP TABLE BOOK,AUTHOR; SHOW TABLES;
表的复制
-- 仅仅复制数据加入 INSERT INTO table_name VALUES (value1,value2,value3 ... ), (value1,value2,value3 ... ), (value1,value2,value3 ... ), (value1,value2,value3 ... ), (value1,value2,value3 ... ), -- 复制表的结构 CREATE TABLE new_table LIKE original_table; -- 结构 + 数据 CREATE TABLE new_table SELECT * FROM original_table; -- 复制部分数据 CREATE TABLE new_table SELECT * FROM original_table WHERE choose_condition; -- 复制部分字段[无数据] CREATE TABLE new_table SELECT * FROM original_table WHERE 0;[0,1]