DDL語言
- 前言
- 一、庫的管理
- 1.庫的創建
- 2.庫的查詢
- 3.庫的修改
- 4.庫的洗掉
- 二、表的管理
- 1.表的創建
- 2.表的查詢
- 3.表的修改
- 4.表的洗掉
- 5.表的復制
前言
??前面簡單對這四大語言做了基本了解,今天來講解一下DDL語言,DDL 是資料定義語言的縮寫,簡單來說,就是對資料庫內部的物件進行創建、洗掉、修改的操作語言,它和 DML 語言的最大區別是 DML 只是對表內部資料的操作,而不涉及到表的定義、結構的修改,更不會涉及到其他物件,DDL 陳述句更多的被資料庫管理員(DBA)所使用,至于DML語言,請參考DML鏈接
一、庫的管理
1.庫的創建
??創建資料庫:
create database 資料庫名稱;
??創建資料庫,判斷不存在,再創建:
create database if not exists 資料庫名稱;
??創建資料庫,并指定字符集
create database 資料庫名稱 character set 字符集名;
??#案例:創建庫Books
??CREATE DATABASE IF NOT EXISTS books ;
2.庫的查詢
??查詢所有資料庫的名稱:
show databases;
??查詢某個資料庫的字符集:查詢某個資料庫的創建陳述句
show create database 資料庫名稱;
??查詢當前正在使用的資料庫名稱
select database();
??使用資料庫
use 資料庫名稱;
3.庫的修改
語法: RENAME DATABASE books TO 新庫名;
??修改資料庫的字符集
alter database 資料庫名稱 character set 字符集名稱;
4.庫的洗掉
??洗掉資料庫
drop database 資料庫名稱;
??判斷資料庫存在,存在再洗掉
drop database if exists 資料庫名稱;
二、表的管理
1.表的創建
語法:
create table 表名(
列名 列的型別【(長度) 約束】,
列名 列的型別【(長度) 約束】,
列名 列的型別【(長度) 約束】,
...
列名 列的型別【(長度) 約束】
);
??注意 :最后一列,不需要加逗號( , )
??#案例:創建表Book
CREATE TABLE book(
id INT,#編號
bName VARCHAR(20),#圖書名
price DOUBLE,#價格
authorId INT,#作者編號
publishDate DATETIME#出版日期
);
2.表的查詢
??查詢當前資料庫中所有的表
show tables;
??查詢某個資料庫中所有的表
show tables from 資料庫名稱;
??查詢表結構
desc 表名;
3.表的修改
??對于已經創建好的表,尤其是已經有大量資料的表,如果需要對表做一些結構上的改變,我們可以先將表洗掉(drop),然后再按照新的表定義重建表,這樣做沒有問題,但是必然要做一些額外的作業,比如資料的重新加載,而且,如果有服務在訪問表,也會對服務產生影響,因此,在大多數情況下,表結構的更改一般都使用 alter table陳述句,以下是一些常用的命令和語法,
語法:
alter table 表名 add|drop|modify|change column 列名 【列型別 約束】;
??a.修改表名
??alter table 表名 rename to 新的表名;
??b.修改表的字符集
??alter table 表名 character set 字符集名稱;
??c.添加一列
??alter table 表名 add 列名 資料型別;
??d.修改列名稱 型別
??alter table 表名 change 列名 新列別 新資料型別;
??alter table 表名 modify 列名 新資料型別;
??e.洗掉列
??alter table 表名 drop 列名;
4.表的洗掉
語法:
drop table 表名;
drop table if exists 表名;
5.表的復制
??關于表的復制,在這里我們直接上案例,
??案例:創建表author
CREATE TABLE IF NOT EXISTS author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10)
)
DESC author;
INSERT INTO author VALUES
(1,'村上春樹','日本'),
(2,'莫言','中國'),
(3,'馮唐','中國'),
(4,'金庸','中國');
查詢兩個表 :
??SELECT * FROM Author;
??SELECT * FROM copy2;
1).僅僅復制表的結構
CREATE TABLE copy LIKE author;
2).復制表的結構+資料
??CREATE TABLE copy2 SELECT * FROM author;
??#只復制部分資料
CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation='中國';
??#僅僅復制某些欄位
CREATE TABLE copy4
SELECT id,au_name
FROM author
WHERE 0;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/354747.html
標籤:其他
