您现在的位置是:技术博客 > 数据库数据库 常用的SQL函数 Lucas2019-03-05 15:34【代码】1896人已围观 简介整理了一些sql函数,有些并不常用,但是了解有这些函数,还是很有必要的。 整理了下mysql常用的函数 #### 一、数字函数 ``` # 返回绝对值 abs(num) # 返回不大于num的最大整数 floor(num) # 返回不小于num的最小整数 ceiling(num) # 返回四舍五入的整数 round(num) ``` #### 二、字符串函数 ``` # 字符串替换 replace(字段,查询的值,替换成的值) 例如:update result set arrive = replace(arrive ,'2017-10-27' ,'2017-10-26') where rid = 1; # 字符串连接,中间没有连接符 group_concat(str) 例如:select group_concat(id) from table1 # 将table1表的id字段用逗号连接起来 # 字符串连接,中间指定一个连接符 group_concat(str SEPARATOR '、') 例如:select group_concat(id SEPARATOR '、') from table1 # 将table1表的id字段用顿号连接起来 # 字符串连接,用指定连接符连接 concat_ws(separator,str1,str2) # 字符串连接,用指定连接符连接 group_concat(str1,separator,str2) # 字符串去除特殊字符 trim(field) # 字符串长度 length() # 返回字符串最左len个字符 left(str,len) # 返回字符串最右len个字符 right(str,len) # 返回字符串从pos位置开始的所有字符 substring(str,pos) # 翻转字符串 reverse(str) # 返回子串在字符串中第一次出现的位置 instr(str,substr) # 查找在字段中出现某字符的数据,弥补like匹配 find_in_set(str,strlist) # 返回逗号分隔的字段元素的个数,例如有用户张三,字段hoby,字段值'apple,pear,orange',查询张三有几个爱好,思路是把特殊字符用空字符替换,计算减少的长度 select LENGTH(hoby) - LENGTH(REPLACE(hoby,',','')) + 1 as hoby_num from table; ``` #### 三、日期时间函数 ``` # 时间戳转换成格式化时间 from_unixtime(1234567890,'%Y-%m-%d %H:%i:%S') # 格式化时间转换成时间戳 unix_timestamp(‘2006-11-04 12:23:00’) ``` #### 四、聚合函数 ``` # 返回指定列的平均值 AVG(col) # 返回指定列中非NULL值的个数 COUNT(col) # 返回指定列的最小值 min(col) # 返回指定列的最大值 max(col) # 返回指定列的所有值之和 sum(col) # 返回由属于一组的列值连接组合而成的结果 group_concat(col) ``` #### 五、流程控制函数 ``` # 如果testN是真,则返回resultN,否则返回default case when[test1] then [result1] …else [default] end # 如果test和valN相等,则返回resultN,否则返回default case [test] when[val1] then [result] …else [default] end # 如果test是真,则返回t,否则返回f if(test,t,f) # 如果arg1不是空,返回arg1,否则返回arg2 ifnull(arg1,arg2) # 如果arg1=arg2 返回null; 否则返回arg1 nullif(arg1,arg2) # 多分支流程 case [] when [] then [] when [] then [] when [] then [] else [] end CASE [expression to be evaluated] WHEN [val 1] THEN [result 1] WHEN [val 2] THEN [result 2] WHEN [val 3] THEN [result 3] …… WHEN [val n] THEN [result n] ELSE [default result] END ``` #### 六、加密函数 ``` # 简单加密 md5()、sha()、sha1() # 安全加密 aes_encrypt(str,key_str)、aes_decrypt(crypt_str,key_str) # 密码加密 password(str) 单向不可逆 ``` #### 七、系统信息函数 ``` # 返回最后插入的记录ID last_insert_id() # 返回当前数据库名 database() # 返回当前客户的连接id connection_id() # 返回当前登录用户名 user() 或 system_user() # 返回mysql服务器的版本 version() # 将表达式expr重复运行count次 benchmark(count,expr) # 返回最后一个select查询进行检索的总行数 found_rows() ``` #### 八、非常用函数 ``` # 返回str2中str1所在的位置索引,str2必须以","分割开 find_in_set(str1,str2) ``` 提示:str2也可以是查询集合,例子如下 ``` SELECT id FROM student WHERE STATUS = 1 AND find_in_set( id, ( SELECT group_concat(student_id) FROM student_score WHERE score > 60 ) ) ``` ``` 查询表结构 select * from information_schema.COLUMNS where table_name = '数据表名' and table_schema = '数据库名'; # 查询表结构里面的部分字段 select COLUMN_NAME AS 字段名,DATA_TYPE AS 数据字段,COLUMN_TYPE AS 数据字段长度,COLUMN_COMMENT AS 字段说明 from information_schema.COLUMNS where table_name = '数据表名' and table_schema = '数据库名'; ``` ``` 查询表字段并以都好分隔 select group_concat(COLUMN_NAME) from information_schema.COLUMNS where table_name = '数据表名' and table_schema = '数据库名'; ``` ``` # 所有库的数据和索引空间 SELECT table_schema 'DataBaseName',ROUND(SUM(data_length + index_length) / 1024 / 1024,2) 'DataBase Size IN MB' FROM information_schema. TABLES GROUP BY table_schema; ``` 转载:感谢您对Lucas个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源Lucas个人博客”。 很赞哦! ( 3 ) 上一篇:没有了! 下一篇:页面可视化数据表结构 相关文章 页面可视化数据表结构 存储过程函数 mysql连表查询 跨数据库实时同步表数据 点击排行 生活不止眼前的苟且,还有诗和远方 十年一觉电影梦 奥地利基茨比厄尔 禅修治愈身心 自律成就自我 零边际成本社会 Modern PHP 鸟哥的Linux私房菜 本栏推荐 要技术,更要有创意 定时任务 Curl无法发送https请求 Lnmp环境搭建 常用的SQL函数 Windows的cmd指令 ueditor工具栏浮动bug 有趣的js插件 标签云 git laravel swoole javascript vue ajax html css sql linux docker flask django nginx apache thinkphp markdown sublime wechat layui photoshop nodejs mysql windows composer java maven springboot mybatis IDE 猜你喜欢 Swoole 基础篇一(初识) PHP进程管理器 正则的快速上手 Sublime代码格式化 Lnmp环境搭建 高并发库存防控超量 Linux之top命令 常用的SQL函数 站点信息 建站时间:2018-05-01 在线人数:1人 文章统计:263篇 总浏览量:222576次 统计数据:百度统计 个人信息:扫描二维码查看