MySQL_DDL語言(庫與表的創建、修改、刪除)

# DDL語言
/*

數據定義語言

庫和表的管理

一、庫的管理
創建、修改、刪除
二、表的管理
創建、修改、刪除

創建:create
修改:alter
刪除:drop
*/

# 一、庫的管理
# 1.庫的管理
/*
語法:
create database 庫名;
*/

# 案例:創建庫BOOKs;

CREATE DATABASE IF NOT EXISTS books; # IF NOT EXISTS 增加容錯性

# 2.庫的修改
# 更改庫的字符集
ALTER DATABASE books CHARACTER SET gbk;

# 3.庫的刪除

DROP DATABASE IF EXISTS books;

# 二、表的管理
# 1.表的創建
/*
create table 表名(
		列名 列的類型【(長度)約束】,
		列名 列的類型【(長度)約束】,
		列名 列的類型【(長度)約束】,
		...
		列名 列的類型【(長度)約束】
)
*/


# 案例:創建表Book

CREATE TABLE book(
		id INT, # 編號
		bName VARCHAR(20), # 圖書名
		price DOUBLE, # 價格
		author_id INT, # 作者編號
		publishDate DATETIME # 出版日期
		
)

DESC book;

# 案例:創建表author
CREATE TABLE author(
	id INT,
	au_name VARCHAR(20),
	nation VARCHAR(10)
)

# 2.表的修改
/*
①修改列名
②修改列的類型或約束
③添加新列 
④刪除列
⑤修改表名

添加add column
ALTER TABLE 表名 ADD COLUMN 列名 列的類型 【first|after 字段名】;
刪除drop column
修改modify column
改列名change column
改表名rename to
*/

# 改列名
ALTER TABLE book
CHANGE COLUMN publishdate pubDate DATETIME; # column可省略

# 改數據類型
ALTER TABLE book 
MODIFY COLUMN pubDate TIMESTAMP;

# 添加新列
ALTER TABLE author 
ADD COLUMN annual DOUBLE;

# 刪除列
ALTER TABLE author 
DROP COLUMN annual;

# 改表名
ALTER TABLE author 
RENAME TO book_author;

# 3.表的刪除
DROP TABLE IF EXISTS book_author;

SHOW TABLES;

# 通用的寫法:
/*
drop database if exists 舊庫名;
create database 新庫名;

drop database if exists 舊錶名;
create database 表名();
*/

# 4.表的複製
INSERT INTO author VALUES
(1,'村上春樹','日本'),
(2,'莫言','中國'),
(3,'馮唐','中國'),
(4,'金庸','中國');

# ①僅僅複製表的結構
CREATE TABLE copy LIKE author

# ②複製表的結構+數據
CREATE TABLE copy2 
SELECT * FROM author;

# ③僅僅複製某些字段(不要數據)
CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE 0;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章