MySQL(十三)DDL之庫和表的管理

weixin_33895657發表於2018-05-29

DDL(Data Define Languge):資料定義語言

一、庫的管理

1.1、庫的建立

語法:create database  [if not exists]庫名;

案例:建立庫books

CREATE DATABASE IF NOT EXISTS books ;

1.2、庫的修改

更改庫的字符集

ALTER DATABASE books CHARACTER SET gbk;

1.3、庫的刪除

DROP DATABASE IF EXISTS books;

二、表的管理

2.1、表的建立

語法:create table 表名(列名 列的型別【(長度) 約束】,列名 列的型別【(長度) 約束】,...列名 列的型別【(長度) 約束】);

2058461-9b5fceac9a0d97fa.png

DESC book;

2058461-8ddbdb1b72916b1d.png
2058461-32b38a70e86890f6.png

2.2、表的修改

語法:alter table 表名 add|drop|modify|change column 列名 【列型別 約束】;

①修改列名

ALTER TABLE book CHANGE COLUMN publishdate pubDate DATETIME;

②修改列的型別或約束

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;

2.3、表的刪除

DROP TABLE IF EXISTS book_author;

檢視當前資料庫的表:SHOW TABLES;

2.4、表的複製

由於2.3已經把author表刪了,所以先根據2.1建立回該表,然後插入一些資料;

2058461-983cfaec331d27ca.png

(1)僅僅複製表的結構

CREATE TABLE copy LIKE author;

(2)複製表的結構+資料

CREATE TABLE copy2 SELECT * FROM author;

(3)只複製部分資料

CREATE TABLE copy3 SELECT id,au_name FROM author WHERE nation='中國';

(4)僅僅複製某些欄位

CREATE TABLE copy4 SELECT id,au_name FROM author WHERE 0;

三、通用的寫法

DROP DATABASE IF EXISTS 舊庫名;

CREATE DATABASE 新庫名;

DROP TABLE IF EXISTS 舊錶名;

CREATE TABLE  表名();


關注公眾號:Java後端生活,乾貨文章第一時間送達!

2058461-68c608a77a25c984.jpg

相關文章