資料庫基礎知識彙總
阿新 • • 發佈:2021-12-14
1 建立mysql資料庫排序引數
字符集:utf8mb4
排序規則: utf8mb4_unicode_ci
2 where group by
where 是使用在統計之前,對統計前 的記錄進行過濾,
having 是用在統計之後,是對聚合之後的結果進行過濾。
也就是說 where 永遠用 在 having 之前,
我們應該先對篩選的記錄進行過濾,然後再對分組的記錄進行過濾。
3 -union union all
UNION 和 UNION ALL 的主要 區別是 UNION ALL 是把結果集直接合並在一起,而 UNION 是將 UNION ALL 後的結果進行一次 DISTINCT 去除掉重複資料。
4 timestamp自帶時區
資料庫時間,timestamp自帶時區,什麼意思
當你資料庫切換了時區後,儲存的資料一會自動變化為對應的時區資訊
5-三正規化
欄位是最小的的單元不可再分
表中的欄位必須完全依賴於全部主鍵而非部分主鍵。
非主鍵外的所有欄位必須互不依賴
6 大欄位
blob二進位制 text文字 都是大欄位,
7 預設升序排序
資料庫預設是升序
8 遊標
使用遊標的另一個原因是避免由於併發編輯而導致元素重複或跳過的問題,比如你使用 offset 正在第 10 頁上,而有人在第 1 頁上刪除了一個專案,則整個列表會移動,你可能會意外跳過第 11 頁上 的一行資料。同樣,如果有人在第 1 頁上添加了一條記錄而你正在第 10 頁上,第 10 頁中的一項也會重複顯示在第 11 頁上。
9 什麼是binlog
binlog是記錄所有資料庫表結構變更(例如CREATE、ALTER TABLE...)
以及表資料修改(INSERT、 UPDATE、DELETE...)的二進位制日誌。
binlog不會記錄SELECT和SHOW這類操作,
因為這類操作對資料本身並沒有修改,
但你可以通過查詢通用日誌來 檢視MySQL執行過的所有語句。