今天是5.6號(hào)。
主要介紹單一表的一些基本操作,多個(gè)表連接以及函數(shù)在下一部分介紹。
一、基本操作
(1).select(查詢)
SELECT CustomerName,City FROM Customers;
SELECT * FROM Customers;
(2).select distinct
在表中,一個(gè)列可能會(huì)包含多個(gè)重復(fù)值,有時(shí)您也許希望僅僅列出不同(distinct)的值。
SELECT DISTINCT column_name,column_name
FROM table_name;
(3).where 條件子句
用于提取那些滿足指定標(biāo)準(zhǔn)的記錄。
SELECT * FROM Customers WHERE Country='Mexico';
AND & OR 運(yùn)算符用于基于一個(gè)以上的條件對(duì)記錄進(jìn)行過濾,例如:
SELECT * FROM Customers
WHERE Country='Germany' AND City='Berlin';
(4).order by(排序)
ORDER BY 關(guān)鍵字用于對(duì)結(jié)果集按照一個(gè)列或者多個(gè)列進(jìn)行排序,默認(rèn)按照升序?qū)τ涗涍M(jìn)行排序。如果需要按照降序?qū)τ涗涍M(jìn)行排序,您可以使用 DESC 關(guān)鍵字。
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;
(5).insert into(插入值)
INSERT INTO 語句用于向表中插入新記錄。
INSERT INTO table_name(column1,column2,column3,...)
VALUES (value1,value2,value3,...);
#也可以不指定列名,直接插入值,但建議還是寫上。
(6).update(更新)
用于更新表中已存在的記錄。
UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg'
WHERE CustomerName='Alfreds Futterkiste';
#若不提供where條件,則會(huì)將數(shù)據(jù)庫中所有的行記錄全部更新。
(7)delete(刪除行)
用于刪除表中的行。
DELETE FROM table_name
WHERE some_column=some_value;
#如果省略了 where 子句,所有的記錄都將被刪除!
二、其他操作
(1)limit
規(guī)定要返回的記錄的數(shù)目
SELECT column_name(s)
FROM table_name
LIMIT number;
#limit的用法只適用于mysql,其他數(shù)據(jù)庫的語法稍有不同。
(2)通配符
通配符可用于替代字符串中的任何其他字符,一般與like操作符一起使用。
(3)LIKE 操作符
LIKE 操作符用于在where子句中搜索列中的指定模式。
#選取 City 以字母 "ber" 開始的所有客戶:
SELECT * FROM Customers
WHERE City LIKE 'ber%';
#選取 City 以一個(gè)任意字符開始,然后是 "erlin" 的所有客戶:
SELECT * FROM Customers
WHERE City LIKE '_erlin';
#選取 City 以 "b"、"s" 或 "p" 開始的所有客戶:
SELECT * FROM Customers
WHERE City LIKE '[bsp]%';
#選取 City 不以 "b"、"s" 或 "p" 開始的所有客戶:
SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';
(4).in
IN 操作符允許在 WHERE 子句中規(guī)定多個(gè)值。
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
(5).between
在 WHERE 子句中,BETWEEN 操作符用于選取介于兩個(gè)值之間的數(shù)據(jù)范圍內(nèi)的值,這些值可以是數(shù)值、文本或者日期。
#選取價(jià)格不再 10 和 20 之間的所有產(chǎn)品:
SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;
請(qǐng)注意,在不同的數(shù)據(jù)庫中,BETWEEN 操作符會(huì)產(chǎn)生不同的結(jié)果!
在某些數(shù)據(jù)庫中,BETWEEN 選取介于兩個(gè)值之間但不包括兩個(gè)測(cè)試值的字段。
在某些數(shù)據(jù)庫中,BETWEEN 選取介于兩個(gè)值之間且包括兩個(gè)測(cè)試值的字段。
在某些數(shù)據(jù)庫中,BETWEEN 選取介于兩個(gè)值之間且包括第一個(gè)測(cè)試值但不包括最后一個(gè)測(cè)試值的字段。
因此,請(qǐng)檢查您的數(shù)據(jù)庫是如何處理 BETWEEN 操作符!
(6).別名
可以為表名稱或列名稱指定別名(Alias)。
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName='Alfreds Futterkiste';
在查詢中涉及超過一個(gè)表,或者列名稱很長(zhǎng)或者可讀性差時(shí)會(huì)很有用。