必定要記住,SQL 對大小寫不敏感!數據庫
能夠把 SQL 分爲兩個部分:數據操做語言 (DML) 和 數據定義語言 (DDL)。spa
查詢和更新指令構成了 SQL 的 DML 部分:排序
增:insert into索引
刪:delectit
改:updatetable
查:select ast
SQL 的數據定義語言 (DDL) 部分使咱們有能力建立或刪除表格。咱們也能夠定義索引(鍵),規定表之間的連接,以及施加表間的約束。class
SQL 中最重要的 DDL 語句:date
建立數據庫:create databaseselect
修改數據庫:alter database
建立表:create table
修改表:alter table
刪除表:drop table
建立索引:create index
刪除索引:drop index
person表:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
一:select 查詢
一、select * from person 查詢person表中全部數據
二、select LastName from person 查詢person表中LastName這一列
三、select * from person where lastname = 'Bush' 查詢person表中lastname這一列內容爲Bush的整行內容
二:distinct 不一樣的、去重(關鍵詞 DISTINCT 用於返回惟一不一樣的值)
一、select distinct lastname from person (如lastname中存在重複值,則執行後只顯示不一樣的值)
操做符 | 描述 |
---|---|
= | 等於 |
<> | 不等於 |
> | 大於 |
< | 小於 |
>= | 大於等於 |
<= | 小於等於 |
BETWEEN | 在某個範圍內 |
LIKE | 搜索某種模式 |
三:where 查詢條件(where後可跟上述操做符)(操做符查詢結果都爲邏輯結果並非按照數據庫中實際順序來查詢:即若是數據庫中Company二、三、4列爲四、二、6,
使用select * from person where company> '4' 結果爲五、6,並不爲數據庫中內容爲4之上的列,即5。由於查詢時並無指明4爲那一列,而且實際數據庫可能有重複的內容,即有多個4
select * from person where company between '4' and '6' 查詢結果應該爲5,並不爲數據庫實際中間的2. )
Company |
---|
5 |
4 |
2 |
6 |
select * from person where lastname <> 'Bush'select * from person where lastname = 'Bush'
select * from person where lastname > 'Bush'
select * from person where lastname < 'Bush'
select * from person where lastname >= 'Bush'
select * from person where lastname <= 'Bush'
select * from person where lastname between 'Adams' and 'Carter'
select * from person where lastname like 'Bush'完整拼寫
select * from person where lastname like '%Bush%' 這我的可能叫作 AABushEE
select * from person where lastname like '%Bush' 這我的可能叫作 AABush
select * from person where lastname like 'Bush%' 這我的可能叫作 BushEE
select * from person where lastname like '_Bush_' _爲佔位符:表示此人可叫作ABushE
select * from person where lastname like '__Bush_' _爲佔位符:表示此人可叫作AABushE
四:AND 和 OR
AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。
若是第一個條件和第二個條件都成立,則 AND 運算符顯示一條記錄。
若是第一個條件和第二個條件中只要有一個成立,則 OR 運算符顯示一條記錄。
select * from person where lastname = 'Bush' and id = '2';
select * from person where lastname = 'Bush' or id = '1';
select * from person where (lastname = 'Bush' or id = '1') and fristname = 'john';
五:ORDER BY
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句默認按照升序對記錄進行排序。
若是您但願按照降序對記錄進行排序,可使用 DESC 關鍵字,默認爲升序,也可以使用ASC關鍵字。
select * from person order by lastname;
select * from person order by lastname,firstname;(首先按lastname排序,當lastname出現重複首字母時,則按firstname進行排序)