数据库语句小技巧

工作遇到的花里胡哨但是很实用的数据库相关的小技巧:

整体原创

一,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=’表名’;
--------------------- 
作者:goatwen 
来源:CSDN 
原文:https://blog.csdn.net/god_wen/article/details/79271032 

四,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                           |  
+---------------------------------+  

来源以及更多介绍:https://www.cnblogs.com/wjm956/p/7724244.html

 五,MySQL生成32位无"-"UUID

SELECT REPLACE(uuid(), '-', '');

 

猜你喜欢

转载自blog.csdn.net/ailaojie/article/details/84390643