SQL Server對大小寫不敏感,每條語句末端使用分號。正則表達式
SELECT 從數據中提取數據sql
數據庫
DELETE 從數據庫中刪除數據函數
INSERT INTO 向數據庫中插入新數據網站
CREATE DATABASE 建立新數據庫url
ALTER DATABASE 修改數據庫spa
CREATE TABLE 建立新表排序
ALTER TABLE 變動(改變)數據庫表索引
DROP TABLE 刪除表字符串
CREATE INDEX 建立索引(搜索鍵)
DROP INDEX 刪除索引
SELECT語句 用於從數據庫中抽取數據,結果存儲在一個結果表中,稱爲結果集。
SELECT column_name,column_name FROM table_name;(抽取指定列)
與
SELECT * FROM table_name;(抽取全部列)
SELECT DISTINCT column_name,column_name FROM table_name;
SELECT DISTINCT語句用於返回惟一不一樣的值,沒有重複項。
SELECT column_name,column_name FROM table_name
WHERE column_name operator value;
(WHERE子句用於過濾記錄)
WHERE子句中的運算符
AND & OR
ORDER BY 用於對結果集進行排序。
ORDER BY關鍵字用於對結果集按照一個列或者多個列進行排序,默認按照升序對記錄進行排序,如需使用降序,須要使用DESC關鍵字。
SELECT column_name,column_name FROM table_name
ORDER BY column_name,column_name ASC|DESC;
ASC 表示升序;DESC 表示降序;
INSERT INTO用於向表中插入新記錄
不指定要插入數據的列名,只提供被插入的值
INSERT INTO table_name
VALUES (values1,values2,values3,...);
此時須要列出插入行的每一列數據
指定列名及插入的值
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
UPDATE語句,用於更新表中的記錄
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
注意:若是省略WHERE語句,則將會對錶中該列全部內容賦該值。
DELETE語句:用於刪除表中數據
DELETE FROM table_name
WHERE some_column=some_value;
DELETE FROM table_name; 或 DELETE * FROM table_name; 在不刪除表的狀況下刪除全部的行,表的結構、屬性、索引保持不變。
SELECT TOP語句:用於規定要返回的記錄的數目,更適用於擁有數千條記錄的大型表
LIMIT, ROWNUM
SELECT TOP number|percent column_name(s) FROM table_name;
實例: SELECT * FROM table_name LIMIT NUMBER; 表示,從「table_name」表中選取number條記錄。
LIKE操做符:用於在WHERE子句中搜索指定列中的指定模式
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;
通配符:可用於替代字符串中的任何其餘字符。與LIKE操做符一塊兒使用
通配符 | 描述 |
---|---|
% | 替代0個或多個字符 |
_ | 替代一個字符 |
[charlist] | 字符列中的任何單一字符 |
[^charlist]或[!charlist] | 不在字符列中的任何單一字符 |
%: SELECT * FROM Websites WHERE url LIKE 'https%'; SELECT * FROM Websites WHERE url LIKE '%OO%'; _: SELECT * FROM Websites WHERE name LIKE '_oogle'; SELECT * FROM Websites WHERE name LIKE 'G_o_le'; [charlist]: SELECT * FROM Websites WHERE name REGEXP '^[GFs]'; 選取name以「G」、「F」或「s」開始的全部網站 使用REGEXP或NOT REGEXP運算符(或RLIKE和NOT RLIKE)來操做正則表達式。 SELECT * FROM Websites WHERE name REGEXP '^[A-H]'; 選取 name 以 A 到 H 字母開頭的網站 [^charlist]或[!charlist]: SELECT * FROM Websites WHERE name REGEXP '^[^A-H]'; 選取 name 不以 A 到 H 字母開頭的網站.
IN操做符
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);
BETWEEN操做符
BETWEEN操做符選取介於兩個值之間的數據範圍內的值,這些值能夠是數值、文本或者日期。
BETWEEN
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
NOT BETWEEN
如須要顯示不在範圍內的數據,使用NOT BETWEEN:
SELECT column_name(s) FROM table_name WHERE column_name NOT BETWEEN value1 and value2;
帶有IN的BETWEEN操做符實例
SELECT column_name(s) FROM table_name WHERE (column_name BETWEEN value1 and value2) AND column_name IN ('value1', 'value2');
帶有文本值的須要在文本值上加上單引號' '。
SQL別名
經過使用SQL,能夠爲表名稱或列名稱指定別名。基本上,建立別名是爲了讓列名稱的可讀性更強。
列的SQL別名語法
SELECT column_name1 AS alias_name,column_name2 AS alias_name FROM table_name;
能夠把多個列合起來做爲一個列使用別名語法
SELECT CONCAT(column_name1,','column_name2,',',column_name3) AS alias_name FROM table_name;
表的SQL別名語法
SELECT column_name(s) FROM table_name AS alias_name;
在如下狀況中,使用別名用處更大:
在查詢中涉及超過一個表
在查詢中使用了函數
列名稱很長或者可讀性差
須要把兩個列或者多個列結合在一塊兒
SQL鏈接(JOIN)
SQL JOIN用於把來自兩個或多個表的行結合起來,基於這些表