發表文章

目前顯示的是有「mysql」標籤的文章

取得 mysql 資料表中的「欄位名稱」以及「欄位註解」

圖片
取得 mysql 資料表中的「欄位名稱」以及「欄位註解」 在 MySQL 資料庫中,宣告資料表的過程,可以一併把欄位名稱寫在 COMMENT 選項中,如果在程式可以把這個 COMMENT 也抓出來配合欄位的名稱,可以產生自動把整個表 DUMP 出來成為一個 CSV 不就很方便。 圖片和內文不太相關 // ----------------------------------------------- $table='表格名稱'; // 資料庫中表的欄位抬頭資訊 $col_sql = "SELECT COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '$table';"; $col = runSQL($col_sql); // var_dump($col); // 資料欄位 $sql = "SELECT * FROM `$table` WHERE 1;"; $row = runSQL($sql); // var_dump($row); $csv = ''; // 欄位名註解 //echo " "; for($i=1;$i<$col[0];$i++){ //echo $col[$i]->COLUMN_COMMENT.", ";  $csv = $csv.$col[$i]->COLUMN_COMMENT.", "; } $csv = $csv."\n"; // 欄位名稱 //echo " "; for($i=1;$i<$col[0];$i++){ //echo $col[$i]->COLUMN_NAME.", ";  $csv = $csv.$col[$i]->COLUMN_NAME.", "; } $csv = $csv."\n"; // 資料列取得欄位 //echo " ...

mysql 中文亂碼的避免及 php mysql pdo 宣告取用方式

圖片
Mariadb 和 Mysql 都會有亂碼, 只要它預設編碼還是在 latin 的時還是一直會發生. 所以改成 utf8 編碼是一個對於東亞語系的文字,會比較方便。 UTF8 的介紹請看 wiki https://zh.wikipedia.org/wiki/UTF-8 xxx_bin (區分大小寫) xxx_general_ci (不區分大小寫) Collation 每個字符集的排序規則 http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html 在 mysql 資料庫中有兩個編碼系統 UCS2 及 UTF8 utf8 使用 1~3 bytes ,帶有 65536 個組合的編碼 utf32 與 utf8mb4 是完整的的 unicode ,差異在 utf32 固定 4 bytes ,而 utf8mb4 則是彈性使用 1~4 bytes 。 utf8mb4 從 MySQL 5.5.3 (released March 2010). 開始提供 目前預設的編碼系統為 xxx_general_ci (default) 為了中文語系使用不要出問題,建議修正如下: ----------------------------------------------------- # 修正 mysql 的設定檔 [root@c7 my.cnf.d]# more /etc/my.cnf.d/my-huge.cnf  [client] default-character-set=utf8mb4 [code] default-character-set=utf8mb4 [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_general_ci # restart mysql service # 檢查系統的編碼變數 ---------------------------- [root@c7 my.cnf.d]# mysql -u root -p Enter password: MariaDB [(none)]> SHOW VARIABLES WHERE Variab...

安裝 mariadb 並修改 root 密碼 in CentOS Linux 7

---- 安裝 mariadb 並修改 root 密碼 in CentOS Linux 7 ---- # 安裝 mariadb server [root@hnamenode2 ~]# yum -y install mariadb-server mariadb-bench mariadb-libs # 立即啟動 mariadb [root@hnamenode2 ~]# systemctl start mariadb # 預設開機啟動 [root@hnamenode2 ~]# systemctl enable mariadb ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service' # 狀態 [root@hnamenode2 ~]# systemctl status mariadb mariadb.service - MariaDB database server    Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled)    Active: active (running) since 六 2015-09-26 21:21:58 CST; 7s ago   Process: 10071 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)   Process: 9990 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)  Main PID: 10069 (mysqld_safe)    CGroup: /system.slice/mariadb.service            ├─10069 /bin...