mysql 查在某個範圍內 MySQL系列 7

2021-10-18 21:34:35 字數 1861 閱讀 2037

我是誰?鬼斯通

79.儲存過程宣告變數

宣告變數、修改變數、分配變數

變數範圍:只在定義之內能使用,begin和end之間。

80.儲存過程引數傳遞

in、out、inout

根據傳入名稱,獲取對應資訊,in:傳入引數

給乙個名稱獲得資訊out:輸出

81.儲存過程inout引數

儲存過程有點像定義乙個函式,in是輸入,out是輸出,inout即是輸入也是輸出

82.自定義函式

自定義函式:隨機生成乙個指定個數的字串

83.儲存過程構建千萬條資料

84.什麼是索引

資料很多時,查詢也會很花費時間。就算查單條資料依然會比較慢

索引:快速找出某個列中特定值的行,相當於是目錄,不適用索引的話,mysql必須從第一條記錄開始讀取整個表。加速!

優劣勢:提高檢索效率,索引是一張表,所以占用空間,犧牲空間換取時間,更新速度會降低。

索引的分類:單值索引、唯一索引、復合索引、全文索引、空間索引

85.新增索引

建立索引:create index salary_index on emp(salary);

刪除所索引:drop index 索引名稱 on 表名;

檢視索引:show index from 表名;

explain:檢視索引是否正在被使用,並且輸出其使用的索引資訊。

有了索引之後再進行查詢,會很快就出現

設定主鍵後,key_len變成了4

86.索引方法btree與hash

對id做了索引,根據id查詢會很快,但如果根據其他的列進行查詢依然會很慢。

innodb只能用btree方法。

hash索引:採用雜湊演算法,檢索時只需要一次雜湊演算法即可立刻定位相應位置,速度非常快。

87.索引的建立選擇

需要建立索引的情況:主鍵自動建立唯一索引;頻繁作為查詢條件的字段;查詢中與其他表關聯的字段;頻繁更新的字段不適合建立索引;where條件裡用不到的字段不建立索引;查詢中排序的字段;查詢中統計或分組的字段。

不需要建立索引的情況:表記錄太少;經常增刪改的表;如果某個資料列包含許多重複內容,為它建立索引就沒有太大實際效果。

88.mysql課程總結及後續計畫

使用python或其他語言連線資料庫

mysql 隨機函式生成某個範圍內的整數

mysql中隨機生成一些範圍內的整數有時候是很有用的,用到了2個函式 1 floor f 返回乙個不大於f的最大整數 2 rand rand n 返回乙個隨機浮點值 v 範圍在 0 到1 之間 即,其範圍為 0 v 1.0 若已指定乙個整數引數 n 則它被用作種子值,用來產生重複序列。若要在i r ...

mysql 隨機函式生成某個範圍內的整數

根據官方文件,rand 的取值範圍為 0,1 若要在i r j 這個範圍得到乙個隨機整數r 需要用到表示式floor i rand j i 1 例如,若要在7 到 12 的範圍 包括7和12 內得到乙個隨機整數,可使用以下語句 select floor 7 rand 6 用到了2個函式 1 floo...

MySQL日期範圍內查詢

1,查詢當天 今天 的資料 select from order where to days order time to days now 2,查詢昨天的資料 select from order where to days now to days order time 13,查詢最近7天的資料 包括今...