dbms mysql MySQL學習筆記(一)

2021-10-19 15:20:47 字數 4053 閱讀 6612

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笑了笑...