MySQL - 其他




字串處理


SUBSTRING('2023-06-04', 1, 4) // 取第 1 個字到第 4 個字 (1開始算)
SUBSTRING_INDEX('2023-06-04', '-', 2) // 取第 1 段字到第 2 段字 (1開始算)
REPLACE('string', 'str', 'tostr') // 字串取代
LOCATE('-', '2023-06-04') // 回傳 5 (1開始算)
LENGTH('2023-06-04') // 回傳字串長度



判斷式


IFNULL(a, b) // 顯示 a 的值, 如果 a null 就顯示 b
IF(判斷式, a, b) // 如果判斷式成立就顯示 a ,不成立或為null則顯示 b
CASE `欄位` WHEN [特定值一] THEN [返回值一] WHEN [特定值二] THEN [返回值二] ELSE [返回值三] END
CASE WHEN [條件一] THEN [結果一] WHEN [條件二] THEN [結果二] ELSE [結果三] END



 取得最後新增的SN


SELECT LAST_INSERT_ID()
mysql->last_used_con->insert_id



清除自動增加sn數值的方法


ALTER TABLE `tb_name` AUTO_INCREMENT=0;
TRUNCATE TABLE `tb_name`;



顯示目前處理中的命令


show processlist;



儲存內容跳脫字元


#define MYSQL_ESCAPE_TOKEN "\0\n\t\r\b'\\\"\032"
char *program = my_sqlescape(log->program, strlen(log->program));
DO_FREE(program);



Command 下法


/usr/sbin/mysql -u root -t -D "db_name" -e "select * from \`tb_name\`"

-u:帳號
-t:表格化輸出
-D:資料庫名稱
-e:命令




沒有留言:

張貼留言