SQL DML 和 DDL
可以把 SQL 分為兩個部分:數(shù)據(jù)操作語言 (DML) 和 數(shù)據(jù)定義語言 (DDL)鳞上。
SQL (結(jié)構(gòu)化查詢語言)是用于執(zhí)行查詢的語法。但是 SQL 語言也包含用于更新施绎、插入和刪除記錄的語法。
查詢和更新指令構(gòu)成了 SQL 的 DML 部分:
SELECT - 從數(shù)據(jù)庫表中獲取數(shù)據(jù)
UPDATE - 更新數(shù)據(jù)庫表中的數(shù)據(jù)
DELETE - 從數(shù)據(jù)庫表中刪除數(shù)據(jù)
INSERT INTO - 向數(shù)據(jù)庫表中插入數(shù)據(jù)
SQL 的數(shù)據(jù)定義語言 (DDL) 部分使我們有能力創(chuàng)建或刪除表格。我們也可以定義索引(鍵)吕朵,規(guī)定表之間的鏈接衅澈,以及施加表間的約束键菱。
SQL 中最重要的 DDL 語句:
CREATE DATABASE - 創(chuàng)建新數(shù)據(jù)庫
ALTER DATABASE - 修改數(shù)據(jù)庫
CREATE TABLE - 創(chuàng)建新表
ALTER TABLE - 變更(改變)數(shù)據(jù)庫表
DROP TABLE - 刪除表
CREATE INDEX - 創(chuàng)建索引(搜索鍵)
DROP INDEX - 刪除索引
select:
基本語法:select 列名稱 from 表名稱
升級:select 列名稱,列名稱 from 表名稱 ?(查詢多個列中間用逗號隔開)
selcet * from 表名稱: 查詢此表所有的數(shù)據(jù)
SQL SELECT DISTINCT 語句:
關(guān)鍵詞 DISTINCT 用于返回唯一不同的值 selct distinctet *from 表名稱
WHERE 子句
如需有條件地從表中選取數(shù)據(jù)今布,可將 WHERE 子句添加到 SELECT 語
關(guān)鍵詞 DISTINCT 用于返回唯一不同的值
基本語法:SELECT 列名稱 FROM 表名稱 WHERE 列 運(yùn)算符 值
操作符 描述
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某個范圍內(nèi)
LIKE 搜索某種模式
SQL 使用單引號來環(huán)繞文本值(大部分?jǐn)?shù)據(jù)庫系統(tǒng)也接受雙引號)经备。如果是數(shù)值,請不要使用引號
AND 和 OR 運(yùn)算符
AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結(jié)合起來部默。
如果第一個條件和第二個條件都成立侵蒙,則 AND 運(yùn)算符顯示一條記錄。
如果第一個條件和第二個條件中只要有一個成立傅蹂,則 OR 運(yùn)算符顯示一條記錄纷闺。
例子;
使用 AND 來顯示所有姓為 "Carter" 并且名為 "Thomas" 的人
SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'
ORDER BY 語句(不需要加where)【數(shù)字和字母都可以排序】字母是a->z ?數(shù)字是有大排到小
ORDER BY 語句用于根據(jù)指定的列對結(jié)果集進(jìn)行排序。
ORDER BY 語句默認(rèn)按照升序?qū)τ涗涍M(jìn)行排序份蝴。
如果您希望按照降序?qū)τ涗涍M(jìn)行排序犁功,可以使用 DESC 關(guān)鍵字(在order by 的最后面使用)
例子:
以逆字母順序顯示公司名稱,并以數(shù)字順序顯示順序號:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
結(jié)果:
Company ? ?OrderNumber
W3School 2356
W3School 6953
IBM ? ? ? ?3532
Apple ? ? ? ?4698
INSERT INTO 語句
INSERT INTO 語句用于向表格中插入新的行
基本語法:INSERT INTO 表名稱 VALUES (值1, 值2,....) 默認(rèn)是加入一個完整的行
例子:"Persons" 表:
LastName FirstName Address City
Carter Thomas Changan Street Beijing
SQL 語句:
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
結(jié)果:
LastName FirstName Address City
Carter Thomas Changan Street Beijing
Gates Bill Xuanwumen 10 Beijing
我們也可以指定所要插入數(shù)據(jù)的列:
語法:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
例子:LastName FirstName Address City
Carter Thomas Changan Street Beijing
Gates Bill Xuanwumen 10 Beijing
SQL 語句:
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')
結(jié)果:
LastName FirstName Address ? ? ? ? ?City
Carter ? ? ? Thomas ? Changan Street ? ? ? Beijing
Gates ? ? ? Bill ? ? Xuanwumen 10 ? ? ? Beijing
Wilson ? ? ? ? ? ? Champs-Elysees
Update 語句
Update 語句用于修改表中的數(shù)據(jù)婚夫。
語法:
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值 ?(操作邏輯很像vlookup)
更新同一行的若干列:
UPDATE 表名稱 SET 列名稱=新值浸卦,列名稱 = 新值 WHERE 列名稱 = 某值 ?(操作邏輯很像vlookup)
DELETE 語句
DELETE 語句用于刪除表中的行。
語法
DELETE FROM 表名稱 WHERE 列名稱 = 值
刪除所有行
可以在不刪除表的情況下刪除所有的行案糙。這意味著表的結(jié)構(gòu)限嫌、屬性和索引都是完整的:
DELETE FROM table_name
或者:
DELETE * FROM table_name