SQL 關鍵字 | SQL語句及其種類


SQL 用關鍵字、表名、列名等組合而成的一條語句(SQL 語句)來描述操作的內容。關鍵字是指那些含義或使用方法已事先定義好的英語單詞,存在包含“對表進行查詢”或者“參考這個表”等各種意義的關鍵字。
根據對 RDBMS 賦予的指令種類的不同,SQL 語句可以分為以下三類。

DDL(Data Definition Language,數據定義語言)

DDL用來創建或者刪除存儲數據用的數據庫以及數據庫中的表等對象。DDL 包含以下幾種指令。

CREATE:創建數據庫和表等對象
DROP:  刪除數據庫和表等對象                 -- 表刪除之后無法恢復。
ALTER: 修改數據庫和表等對象的結構            -- 表定義變更之后無法恢復。
--建庫
CREATE
DATABASE <數據庫名稱>;
---------------------------------
--建表

  CREATE TABLE <表名> (
     <列名1> <數據類型> <該列所需約束>,
     <列名2> <數據類型> <該列所需約束>,
     <列名3> <數據類型> <該列所需約束>,
     <列名4> <數據類型> <該列所需約束>,
     ...
     <該表的約束1>, <該表的約束2>,……);

------------------------------------

--刪除表

DROP TABLE <表名>;   -- 一般的RDBMS中刪除的表是無法恢復的

-----------------------------------

--添加列   添加一列|多列  注意不同的數據庫使用的語法不同

ALTER TABLE <表名> ADD COLUMN <列的定義>;   

ALTER TABLE <表名> ADD (<列名>,<列名>,……);

示例:

--DB2|PostgreSQL|MySQL
ALTER TABLE Product ADD COLUMN product_name_pinyin VARCHAR(100);
--Oracle
ALTER TABLE Product ADD (product_name_pinyin VARCHAR2(100));
--SQL Server
ALTER TABLE Product ADD product_name_pinyin VARCHAR(100);

-- 修改表名

--Oracle|PostgreSQL
ALTER TABLE <表名> RENAME TO <新表名>;
DB2
RENAME TABLE <表名> TO <新表名>;
SQL Server
sp_rename '<表名>', '<新表名>';
MySQL
RENAME TABLE <表名> to <新表名>;

--刪除表中某列

ALTER TABLE <表名> DROP COLUMN (<列名>,<列名>,...);

 

字段約束 | 表約束參考:https://www.cnblogs.com/gzd1-sailoring/p/14827158.html

DML(Data Manipulation Language,數據操縱語言)  

DML用來查詢或者變更表中的記錄。DML 包含以下幾種指令。

SELECT:查詢表中的數據
INSERT:向表中插入新數據
UPDATE:更新表中的數據
DELETE:刪除表中的數據

插入數據的兩種方式:

 
         
-- 一次只能添加一條數據
INSERT INTO <表名> VALUES (<對應的字段值>,<對應的字段值>,...);  
-- 一次添加多行數據
INSERT INTO <表名> VALUES (<對應的字段值>,<對應的字段值>,...),(<對應的字段值>,<對應的字段值>,...),...; 
-- 使用查詢的結果向表中添加數據
INSERT INTO <表名> as 
select 語句;
 

 select 語句中可以使用distinct 對結果進行去重。DISTINCT 關鍵字只能用在第一個列名之前。distinct去重的列應該放在第一列, 而且多個null值也會去重成一個。如果想實現多列去重效果,可以使用子查詢的方式,一次指定一個列進行去重。

 

DCL(Data Control Language,數據控制語言) 

DCL 用來確認或者取消對數據庫中的數據進行的變更。除此之外,還可以對 RDBMS 的用戶是否有權限操作數據庫中的對象(數據庫表等)進行設定。DCL 包含以下幾種指令。

COMMIT: 確認對數據庫中的數據進行的變更
ROLLBACK:取消對數據庫中的數據進行的變更
GRANT: 賦予用戶操作權限
REVOKE: 取消用戶的操作權限

實際使用的 SQL 語句當中有 90% 屬於 DML

MySQL中的類型轉換,使用cast()函數可以強制轉換

 

 

類型轉換參考鏈接

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM