【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]

 

posted @ 2020-04-29 17:15  emdzz  阅读(82)  评论(0)    收藏  举报