DDL 語句和 DML 語句
- 用DDL定義資料庫
- 用DDL維護資料庫
- 使用DML新增和更新表資料
- 使用DML刪除表
DDL 定義資料庫
資料定義語言(Data Definition Language,DDL)是一種用於描述資料庫所需儲存的現實世界實體的專門語言, 其主要工作是用於定義和維護資料庫以及資料表結構。
建立資料庫語句
CREATE DATABASE 資料庫名
刪除資料庫語句
DROP DATABASE 資料庫名
檢視資料庫
SHOW DATABASES
建立庫 -> 表 - >列
建立資料庫語句
CREATE TABLE 表名(
column_name(欄位名) date_type(欄位資料型別) default_value(預設值) (資料完整性約束),
);
示範:
CREATE TABLE 表名(
UserName int primary key auto_increment not null,
Sex varchar(2) default '男'
);
給表新增外來鍵
-- 主鍵:PRIMARY KEY (外表必須有主鍵)
/*
FOREIGN KEY (當前表的列)
REFERENCES 外來鍵的表 (外表的列);
*/
CREATE TABLE A(
sid INT PRIMARY KEY -- 注意:關聯的表 必有主鍵
);
CREATE TABLE B(
Sid INT,
FOREIGN KEY(Sid) REFERENCES A(Sid) -- B的sid被外來鍵A的SID限制
);
注意事項 : 1. 被關聯的外來鍵必須是主鍵 2.資料型別要一致.
用DDL維護資料庫
修改表結構
- 新增一段欄位
ALTER TABLE 表名 add(欄位名 型別) ;
-- 如 : ALTER TABLE A ADD(Sid INT);
- 修改一列欄位 小提示: modify 後不用更括號
ALTER TABLE 表名 modify 欄位名 型別 ;
-- 如 : ALTER TABLE B MODIFY SName varchar(20);
- 變更一列欄位
ALTER TABLE 表名 CHANGE 原欄位 新欄位 型別 ;
-- 如 : ALTER TABLE A CAHNGE phone iphone varchar(15)
- 更新一列欄位
ALTER TABLE 表名 MODIFY 列欄位 型別 ;
-- 如 ALTER TABLE A MODIFY phone int(12) ;
- 刪除欄位子句
ALTER TABLE 表名 DROP COLUMN 列欄位
-- ALTER TABLE A DROP COLMN phone;
7.重命表名
RENAME TABLE 表名 TO 要改的表名
-- RENAME TABLE TEXT1 TO TEXT2
8.新增外來鍵
-- 表建完後新增外來鍵
/*ALTER TABLE 本表名
ADD CONSTRAINT 約束鍵 FOREIGN KEY(本表的鍵)
REFERENCES 被引用的別表名(被引用的表主鍵)*/
ALTER TABLE A
ADD CONSTRAINT SID FOREIGN KEY(SID)
REFERENCES B(SID);
-- 建立表時新增外來鍵
# FOREIGN KEY (當前表的鍵) REFERENCES 選擇關聯的外表(他的主鍵)
CREATE TABLE A(
SID INT PRIMARY KEY
);
CREATE TABLE B(
SID INT,
FOREIGN KEY(SID) REFERENCES A(SID)
);
9.刪除外來鍵
ALTER TABLE 表 DROP FOREIGN KEY 外來鍵
-- ALTER TABLE verdir DROP FOREIGN KEY SID
總結: ALTER TABLE 表 修改資料.
使用 DML 新增和更新表資料
資料操縱語言(Data Manipulation Language,DML) 由 DBMS 提供,用於讓使用者或程式設計師使用,實現對資料庫中資料的操作。基本的 DML 分為兩類四種:檢索(查詢)和更新(插入、刪除、修改)。
1.插入
-- INSERT INTO 表名 values(資料一,資料二, )
INSERT INTO A VALUES(1,'曹操')
/* 插入多條
INSERT INTO 表名 values
(1,'資料'),
(2,'資料'),
(3,'資料')
*/
INSERT INTO A VALUES
(1,'李白'),
(2,'杜甫'),
(3,'杜牧')
2.修改 注意: 不加where預設全部修改
/*
UPDATE 表
SET 欄位1 = 值1 , 欄位2 = 值2
WHERE 條件表示式
*/
UPDATE A
SET id = 2 sname = '李四';
使用 DML 刪除表資料
3.刪除 注意:不加where預設全部刪除
/*
DELETE FROM 表名 where 條件表示式
*/
DELETE FORM A WHERE sName = '張三';