17 MySQL的小技巧

2022-07-16 11:45:12 字數 1306 閱讀 3253

1.正規表示式的使用

^在字串開始處進行匹配

$在字串末尾處進行匹配

.匹配任意單個字元,包括換行符

[...] 

匹配出括號內的任意字元

[^...] 

匹配不出括號內的任意字元

a*匹配零個或多個a(包括空串)

a+匹配1個或多個a(不包括空串)

a? 匹配1個或0個a

a1|a2

匹配a1或a2

a(m)

匹配m個a

a(m,)

匹配m個或更多個a

a(m,n)

匹配m~n個a

a(,n)

匹配0~n個a

(...)

將模式元素組成單一元素

2.巧用rand()提取隨機樣本

例如:select * from sales order by rand() limit 5 ;

3.利用group by 的 with rollup 子句做統計

例如select year , country , product , sum(profit) from sales group by year , country , product with rollup .

4.用bit group functions 做統計

主要介紹 group by 語句 和 bit_and , bit_or 函式完成統計工作.

bit_* 這個函式一般是做數值之間的邏輯位運算, 但是當把它們與group by子句聯合使用的時候,就可以做一些其他的任務.

統計每個使用者 買了哪些商品的詳細清單.

每個商品按順序, 00000 , 買了的置為1 , 這樣bit_or 就可以做邏輯或操作

同理可以使用bit_and() 來查詢 每個顧客每次來本超市都會購買的商品.

5.資料庫名, 表明大小寫問題

資料庫對應伺服器系統的目錄, 庫中的資料表對應目錄中的檔案.因此所用作業系統的大小寫敏感性決定了資料庫名和表名的大小寫敏感性.

列,索引,儲存子程式,觸發器公尺國在任何平台對大小寫不敏感

unix中,表別名區分大小寫 ; 其他 windows mac os x中對大小寫不敏感.

6.使用外來鍵需要注意的問題

innodb 外來鍵起作用,其他引擎如myisam中,使用 references tbl_name(col_name) 定義列時可以使用外部關鍵字 , 但是沒有效果,只是用來 作為備忘錄/注釋 來提醒使用者,這個列正指向另乙個表中的某個列.

show create table 命令檢視建表語句時, myisam儲存引擎並不顯示外來鍵語句,而innodb儲存引擎則顯示.

17 mysql內建功能 事物

事務用於將某些操作的多個sql作為原子性操作,一旦有某乙個出現錯誤,即可回滾到原來的狀態,從而保證資料庫資料完整性。create table user id int primary key auto increment,name char 32 balance int insert into use...

17 MySQL變數 宣告與賦值

變數 可在儲存程式 儲存過程和函式 中使用變數 變數作用域 在儲存程式中的begin.end間 1 mysql變數 宣告 declare varname varname2.type default value declare宣告關鍵字 varname varname2 變數名 可多個變數同時宣告 t...

17 mysql中的儲存過程的應用

其實儲存過程也可以叫做過程,而函式也可以叫做儲存函式,兩者都是處理資料的一種方式,但是不同在於函式是必須要有返回值的,而過程則沒有返回值,過程可以理解為是一種用來處理資料的沒有返回值的函式,但是他們的語法又存在區別,接下來詳細的介紹一下儲存過程的使用 建立過程 建立過程 create procedu...