MariaDB
從 CentOS 7 開始的 Database 都換成了 MariaDB,主要的原因是 MySQL 被甲骨文 (Oracle) 收購 (MySQL 原本是屬於昇陽電腦 SUN ),MySQL 社群擔心甲骨文對於 MySQL 這個開放軟體未來的態度,所以 Michael Widenius ( MySQL 創辦人 ) 推出了與 MySQL 相容的 MariaDB.
資料庫設定
- MySQL 轉移到 MariaDB – https://benjr.tw/95587
- 安裝 – https://benjr.tw/95289
- 預設的資料庫 mysql – https://benjr.tw/1164
- 建立資料庫 – https://benjr.tw/12461
- 資料庫備份與還原 – https://benjr.tw/101609
- 資料庫編碼 – https://benjr.tw/102156
- 區分大小寫 ( Case Sensitive ) & 不區分大小寫 ( Case Insensitive ) – https://benjr.tw/102769
- 大量資料轉檔
- Linux Bash Script 或 LOAD DATA INFILE (Import) – https://benjr.tw/97834
- LOAD DATA INFILE (Import) 或 PHPMyAdmin – https://benjr.tw/101508
- Force Upgrade – https://benjr.tw/94434
- 主從式資料庫 (Master Slave Replication)
- 設定 – https://benjr.tw/102278
- 錯誤排除 – https://benjr.tw/103296
- Stop Slave Replication – https://benjr.tw/103537
- log_bin_trust_function_creators – https://benjr.tw/102425
- 多來源複製 (Multi-Source Replication)
- 特殊設定
- 時區 Time Zone 設定 – https://benjr.tw/104083
- Error log , General query logs , Binary logs 與 Slow Query 設定 – https://benjr.tw/104096
- max_allowed_packet size 設定 – https://benjr.tw/104192
- Thread Pool 設定 – https://benjr.tw/105606
- MySQL 5.7.5 ONLY_FULL_GROUP_BY – https://benjr.tw/105842
- MySQL 5.7.5 Password Policy – https://benjr.tw/105849
- group_concat_max_len – https://benjr.tw/105171
- tmp_disk_table_size – https://benjr.tw/106050
使用者密碼與權限設定
- 忘記 root 密碼 – https://benjr.tw/105099
- 使用者登入權限 – https://benjr.tw/97973
- MariaDB 資料庫使用者密碼 – https://benjr.tw/103189
- 使用者存取 資料庫 (DateBase)/資料表 (Table) 權限 – https://benjr.tw/98033
- 使用者自訂,使用 SQL 函數的權限 – https://benjr.tw/99060
SQL 語法
- 基礎 INSERT , SELECT , UPDATE , DELETE – https://benjr.tw/95609
- CREATE 指令 – https://benjr.tw/105929
- 進階 SELECT
- WHERE , GROUP BY , HAVING , ORDER BY , LIMIT 與 sub-query – https://benjr.tw/98988
- LIMIT row_count OFFSET offset – https://benjr.tw/104115
- ORDER BY CASE – https://benjr.tw/104076
- Full Text Index – https://benjr.tw/101644
- Full Text Index + Sub-query (Sub-select , 子查詢) – https://benjr.tw/102209
- SET , := 以及 SELECT INO – https://benjr.tw/102432
- OVER 與 PARTITION BY 用法 – https://benjr.tw/102501
- GROUP BY – https://benjr.tw/102715
- Condition Group – https://benjr.tw/105599
- Sub-Query – https://benjr.tw/102805
- Correlated Subqueries – https://benjr.tw/104121
- Equals(=) vs. LIKE – https://benjr.tw/103358
- LIKE – https://benjr.tw/98899
- REGEXP (正規表示式) – https://benjr.tw/101701
- SOUNDS LIKE – https://benjr.tw/104108
- 特殊 SELECT 應用
- SELECT 依據指定欄位做排序 ROW_NUMBER() , RANK() 與 DENSE_RANK() – https://benjr.tw/104156
- 在 SELECT 時產生一個自動遞增列的欄位 – https://benjr.tw/104194
- Date/Time Periods (指定一段時間來處理資料) – https://benjr.tw/102725
- Last Row (Column) – https://benjr.tw/102270
- Record with Maximum Value on a Column – https://benjr.tw/103165
- Duplicate Row (Column) – https://benjr.tw/102305
- 做出類似 Excel 的 SUMIF , COUNTIF 的功能 – https://benjr.tw/103915
- 算出與上一筆的差值 – https://benjr.tw/105196
- 計算出連續資料的數目 – https://benjr.tw/105343
- 計算字串裡面的字出現次數 – https://benjr.tw/105576
- 移除欄位資料重覆出現的單字 – https://benjr.tw/105644
- UPDATE
- 常用的 UPDATE 語法 – https://benjr.tw/106326
- CTE ( Common Table Expression )
- Common Table Expression – https://benjr.tw/102498
- Recursive Common Table Expressions – https://benjr.tw/103485
- JSON 轉成 Table (Rows & Columns) – https://benjr.tw/103501
- 將單一欄位的資料依據分隔字元做拆解 – https://benjr.tw/105584
- JOIN 與 UNION
- JOIN – https://benjr.tw/101855
- Multiple Tables JOIN – https://benjr.tw/101957
- Join on Partial match of Strings – https://benjr.tw/103610
- UNION – https://benjr.tw/103618
- 進階 INSERT (REPLACE)
- INSERT INTO SELECT FROM – https://benjr.tw/102887
- INSERT IGNORE – https://benjr.tw/102883
- INSERT ON DUPLICATE KEY UPDATE – https://benjr.tw/102189
- REPLACE – https://benjr.tw/102179
- INSERT INTO SELECT FROM DUAL WHERE NOT EXISTS – https://benjr.tw/102870
- UPDATE (保留原資料) – https://benjr.tw/101797
- ALTER TABLE (包含 Primary , Unique , Index Key) – https://benjr.tw/98266
- 檢視資料庫內容 (SHOW , SHOW CREATE TABLE , DESCRIBE , SELECT) – https://benjr.tw/98233
- EXPLAIN (測試 SELECT 搜尋資料效能) – https://benjr.tw/101728
- 刪除資料表,資料庫 (DELETE , TRUNCATE , DROP) – https://benjr.tw/102200
- 特殊字元( ” , ‘ , \ )的處理 – https://benjr.tw/102928
- Execute Linux shell command – https://benjr.tw/101318
START TRANSACTION
- START TRANSACTION (Rollback 與 Commit) – https://benjr.tw/105235
SQL CONSTRAINT
- Primary , Unique , Index Key – https://benjr.tw/104182
- FOREIGN KEY
- CHECK – https://benjr.tw/103275
SQL 資料型態
- FLOAT , DOUBLE & DECIMAL – https://benjr.tw/104171
- TIMESTAMP – https://benjr.tw/99027
- INT (Integer) – https://benjr.tw/101478
- TEXT Data – https://benjr.tw/101779
- 資料庫正規化 (Database normalization) – https://benjr.tw/101850
- SQL 變數 Variables (no prefix , @ , @@) – https://benjr.tw/102436
SQL 函數
- 字串函數 ( String Functions ) – https://benjr.tw/102953
- 資料型別轉換 – https://benjr.tw/105214
- 數字函數 (Numeric Functions) – https://benjr.tw/101970
- 日期與時間函數 (Date & Time Functions) – https://benjr.tw/102964
- 資訊函數 (Information Functions) – https://benjr.tw/102961
- 搭配 GROUP BY 函數 (Aggregate Functions) – https://benjr.tw/102967
- 流程控制函數 (Control Flow Functions) – https://benjr.tw/102747
- LOAD Data into Tables – https://benjr.tw/105219
- 處理 XML 格式- https://benjr.tw/105225
- 處理 JSON 格式- https://benjr.tw/103903
個別函數介紹
- REGEXP_REPLACE & REGEXP_SUBSTR – https://benjr.tw/102758
- LOAD DATA – https://benjr.tw/103012
- LOAD_FILE 函數 – https://benjr.tw/101779
- 處理 XML 的幾種方式 – https://benjr.tw/102790
- MAX , MIN 與 GREATEST , LEAST 函數 – https://benjr.tw/103866
- ROW_NUMBER() , RANK() , DENSE_RANK() – https://benjr.tw/104156
- CHAR() & ASCII() – https://benjr.tw/105206
Stored Routines
- Procedure – https://benjr.tw/102904
多筆的 SQL 敘述,可以儲存成為 Procedure 或是 Function. - Function – https://benjr.tw/102916
呼叫自訂的 Function 如同使用系統 Function ,直接執行 Function名稱 (參數) 即可.自訂函數 Function 範例如下.- 數值轉單位字串 (例 : 24593485034234 B 轉換成為 22.37 TiB ) – https://benjr.tw/99035
- 單位字串轉數值 (例 : 12.3TiB 轉換成為 13523993021644.8 B ) – https://benjr.tw/99048
- SQL Trigger – https://benjr.tw/101686
當 INSERT , UPDATE 或 DELETE 時(前或後)可以設定觸發 TRIGGER 機制.
Compound Statement Syntax
- Cursor – https://benjr.tw/102792
需要處理 SQL 的每一個紀錄 (Record) ,如把資料另外儲存或是計算成為新的欄位資料.這時候我們可以透過 CURSOR (搭配 OPEN , FETCH , CLOSE 以及 DECLARE HANDLER 來使用). - DECLARE Error Handler – https://benjr.tw/103022
可以在 Store Procedure 裡面設定例外處理來處理發生錯誤時的相對應動作. - GET DIAGNOSTICS – https://benjr.tw/103052
想要保留錯誤訊息可以透過 GET DIAGNOSTICS 來處理,.
Flow Control Statements
- CASE – https://benjr.tw/101629
- IF – https://benjr.tw/103004
- WHILE , REPEAT , LOOP & LEAVE , ITERATE – https://benjr.tw/102345
Prepared Statements
- Convert Column to Row (Pivot Table 樞紐分析表) – https://benjr.tw/102000
SQL Event Scheduler
在 Linux 環境可以透過 crontab (自動排程)來定期執行任務,如果是要自動執行 SQL 指令(如:定期刪除資料…),可以透過 SQL 的 Event Scheduler – https://benjr.tw/101578
User Defined Function (UDF)
- mysql-udf – https://benjr.tw/105113
提供了去執行 Linux Shell 程式的功能.
Other
- 錯誤訊息 mysql Display all 1358 possibilities – https://benjr.tw/105166
沒有解決問題,試試搜尋本站其他內容