1. dbms 分為兩類
(1)基於共享檔案系統的dbms(microsoft access)
(2)基於客戶機-伺服器的dbms
2. 返回資料庫可用表的列表
desc customers/describe orders/show columns from customers;
3. show status 顯示廣泛的伺服器狀態資訊
4. show create database/show create table 顯示建立特定資料庫或表的mysql語句。
5. show grants for/show grants for [email protected]顯示授予使用者的安全許可權。
6. show errors 和 show warnings 顯示伺服器錯誤或警告資訊。
7. select version();
8. select database();
9. 去除重複 select distinct vend_id from products;
select vend_id from products group by vend_id;
distinct 應用於所有的列。不能不分使用。
select distinct vend_id, prod_price from products;
10. 限制結果 limit
select prod_name from products limit 5; = select prod_name from products limit 0, 5;
帶乙個值的limit 總是從第一行開始,給出的數為返回的行數。
帶兩個值的limit可以指定從行號為第乙個值的位置開始。
mysql 5 支援 limit 4 offset 3 從第3行開始取4行
select prod_name from products limit 1 offset 0;
11. 使用完全限定名(列的完全限定名和表的完全限定名)
select products.prod_name from sqltest2.products;
12. 關聯式資料庫的理論認為,如果不明確規定排序的順序,則不應該嘉定檢索出來的資料的順序有意義。
13. 用非檢索的列排序是完全合法的。
14. 排序方向
desc 降序排列
asc 公升序排列
select prod_id, prod_price, prod_name from products
order by prod_price desc, prod_name;
15. order by 和 limit 組合可以找出乙個列中最高或最低的值。
select prod_price from products order by prod_price desc limit 1;
| prod_price |
| 55 |
16. select prod_name, prod_price from products where prod_name = 'fuses';
| prod_name | prod_price |
| fuses | 3.42 |
mysql 在執行匹配時預設不區分大小寫
17. null 值檢測。
select prod_name from products where prod_price is null;
18. and 的優先順序高階 orin 操作符
select prod_name, prod_price from products where vend_id in (1002, 1003);
19. not 用來否定之後的所有條件。mysql 支援對in、between、exists 字句取反
select prod_name, prod_price from products where vend_id not in (1002, 1003);
20. % 萬用字元不能匹配null
where prod_name like '%' 不能匹配用值null作為產品名的行
21. (_) 下滑線匹配單個字元。
22. 使用正規表示式過濾(regexp 可以用來匹配整個列值,使用定位符 ^或$)
select prod_name from products where prod_name regexp '1000' order by prod_name;
select prod_name from products where prod_name regexp '.000' order by prod_name;
正規表示式的匹配部區分大小寫。為區分大小寫可使用binary關鍵字。
select prod_name from products where prod_name regexp binary 'jetpack .000' order by prod_name;
進行or 匹配
select prod_name from products where prod_name regexp '1000|2000' order by prod_name;
匹配幾個字元之一,用 表示。[^123] 表示不包含
select prod_name from products where prod_name regexp '[123] ton' order by prod_name;
| prod_name |
| 1 ton anvil |
| 2 ton anvil |
匹配範圍
0到9 [123456789] 或 [0-9] [a-z]
select prod_name from products where prod_name regexp '[1-5] ton' order by prod_name;
| prod_name |
| .5 ton anvil |
| 1 ton anvil |
| 2 ton anvil |
匹配特殊字元,需要新增前導 \\(mysql 的特殊要求)
select prod_name from products where prod_name regexp '\\.' order by prod_name;
| prod_name |
| .5 ton anvil |
\\f換頁
\\n換行
\\r回車
\\t製表
\\v縱向製表
select prod_name from products where prod_name regexp '\\([0-9] sticks?\\)' order by prod_name;
| prod_name |
| tnt (1 stick) |
| tnt (5 sticks) |
匹配連在一起的4位數字
select prod_name from products where prod_name regexp '[[:digit:]]' order by prod_name;
select prod_name from products where prod_name regexp '[0-9]' order by prod_name;
| prod_name |
| jetpack 1000 |
| jetpack 2000 |
定位符^文字開始
$文字結尾
[[:>:]]詞的結尾
找出以乙個數開始的所有產品(包括小數點)
select prod_name from products where prod_name regexp '^[0-9\\.]' order by prod_name;
| prod_name |
| .5 ton anvil |
| 1 ton anvil |
| 2 ton anvil |
簡單的正規表示式測試
select 'hello'regexp '[0-9]';
| 'hello'regexp '[0-9]' |
| 0 |
分享到:
2014-04-16 15:07
瀏覽 486
分類:資料庫
學做事,先學做人
經理很關照我,我很感謝經理。其實,有乙個好的領導,只要好好幹,他是一定會知道的。但是,要改變客戶的看法,看來還真的很難。在客戶面前不可以太謙虛,太過謙虛,他們反覺得我們無能。做事先做人,一點都沒錯啊。感覺自己太嫩了,這一切還得慢慢磨練。希望多看數,多學習,多仔細觀察生活,觀察周圍成功的人,不斷提高自...
B 學密碼學真的得學程式
b 學密碼學真的得學程式 time limit 1000msmemory limit 65536kb64bit io format lld llu submit status practice sdutoj 2464 description 話說,上次zyj同學最終在眾位瑪麗亞的幫助下搞定了那個神奇...
學密碼學一定得學程式
time limit 1000ms memory limit 65536k 曾經,zyj同學非常喜歡密碼學。有一天,他發現了乙個很長很長的字串s1。他很好奇那代表著什麼,於是神奇的wl給了他另乙個字串s2。但是很不幸的是,wl忘記跟他說是什麼意思了。這個時候,zyj不得不求助與偉大的zp。zp笑了笑...