工作遇到的花裡胡哨但是很實用的資料庫相關的小技巧:
整體原創
一,sql語句獲取某一字段的長度:
select length('某一字段');
二,行轉列,列轉行:
互轉的兩張表結構:
sql語句:
行轉列:
select
username,
max(case subject when '語文' then score else 0 end) as '語文',
max(case subject when '數學' then score else 0 end) as '數學',
max(case subject when '英語' then score else 0 end) as '英語',
max(case subject when '生物' then score else 0 end) as '生物'
from studentscores
group by username
列轉行:
select user_name, '語文' course , cn_score as score from test_tb_grade2
union select user_name, '數學' course, math_score as score from test_tb_grade2
union select user_name, '英語' course, en_score as score from test_tb_grade2
order by user_name,course;
三,檢視表中的字段以及字段型別
已查詢結果顯示
desc 表名;
show columns from 表名;
describe 表名;
以sql語句顯示
show create table 表名;
還可以通過專門的管理表來檢視
use information_schema
select * from columns where table_name=』表名』;
---------------------
原文:
四,sql擷取字串函式
substring(str, pos); substring(str, pos, len)
從字串的第 4 個字元位置開始取,直到結束。
mysql> select substring('sqlstudy', 4);
+------------------------------+
| substring('sqlstudy', 4) |
+------------------------------+
| study |
+------------------------------+
從字串的第 4 個字元位置開始取,只取 2 個字元。
mysql> select substring('sqlstudy', 4, 2);
+---------------------------------+
| substring('sqlstudy.', 4, 2) |
+---------------------------------+
| st |
+---------------------------------+
五,mysql生成32位無"-"uuid
select replace(uuid(), '-', '');
資料庫小技巧
1.返回第乙個非空數值 select coalesce null,null,null,w3schools.com null,example.com 返回 w3schools.com select coalesce null,1,2,w3schools.com 返回 1 應用 將乙個欄位中空值全部替換...
資料庫使用小技巧
包括安裝時提示有掛起的操作 收縮資料庫 壓縮資料庫 轉移資料庫給新使用者以已存在使用者許可權 檢查備份集 修復資料庫等。一 掛起操作 在安裝sql或sp補丁的時候系統提示之前有掛起的安裝操作,要求重啟,這裡往往重啟無用,解決辦法 到hkey local machine system currentc...
mysql資料庫設計小技巧
1 字段資料型別選擇 1.1 各資料型別占用的位元組數 tinyint 1 位元組 smallint 2 個位元組 mediumint 3 個位元組 int 4 個位元組 integer 4 個位元組 bigint 8 個位元組 float x 4 如果 x 24 或 8 如果 25 x 53 fl...