mysql中建庫、建表、增刪改查DDL語句

嘻嘻碩發表於2021-10-19

DDL 語句和 DML 語句

  1. 用DDL定義資料庫
  2. 用DDL維護資料庫
  3. 使用DML新增和更新表資料
  4. 使用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維護資料庫

修改表結構

  1. 新增一段欄位
ALTER TABLE 表名 add(欄位名 型別) ;
-- 如  : ALTER TABLE A ADD(Sid INT);
  1. 修改一列欄位 小提示: modify 後不用更括號
ALTER TABLE 表名 modify 欄位名 型別  ;
-- 如  : ALTER TABLE B MODIFY SName varchar(20);
  1. 變更一列欄位
ALTER TABLE 表名 CHANGE 原欄位 新欄位 型別 ;
-- 如 : ALTER TABLE A CAHNGE phone iphone varchar(15) 
  1. 更新一列欄位
ALTER TABLE 表名 MODIFY 列欄位 型別 ;
-- 如  ALTER TABLE A MODIFY phone int(12) ;
  1. 刪除欄位子句
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 = '張三';

相關文章