mysql 模糊查詢

不会跳舞的胖子發表於2024-07-06

_表示單個字元

SELECT * FROM employees WHERE first_name LIKE "___e%";
SELECT * FROM employees WHERE first_name LIKE "____";

查詢以J開頭,a結尾

SELECT * FROM employees WHERE first_name LIKE "J%";
SELECT * FROM employees WHERE first_name LIKE "%a";

取反

SELECT * FROM employees WHERE first_name NOT LIKE "%a";

區分大小寫

# 預設大小寫不敏感
SELECT * FROM employees WHERE first_name LIKE "j%";
# 區別大小寫
SELECT * FROM employees WHERE first_name LIKE BINARY "j%";

正規表示式

# 正規表示式
SELECT * FROM employees
WHERE last_name REGEXP '^a|e$';

查詢系統設定

# 第一次查詢很慢,第二次直接命中快取。
#當緩衝池資料頁被更新時,InnoDB 會將這個資料頁標記為髒頁(dirty page)。髒頁表示該資料頁在 Buffer Pool 中的內容與磁碟上的資料不一致,需要在某個時刻將更新的資料寫回到磁碟。
# 緩衝池預設 134217728=128M
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';

# 最大髒頁比例預設為 90%
SHOW VARIABLES LIKE 'innodb_max_dirty_pages_pct';

相關文章