mysql系统函数

1.字符函数

  1. CONCAT(str1,str2)----连接两个字符串的内容
  2. CONCAT_WS("连接符",str1,str2)---使用连接符来连接字串内容

//可以临时连接表的两列

select concat(name,nickname) from shuihu;
  1. UPPER(STR) ---将字串转成大写

  2. lOWER(STR)----将所有字串转成小写

    1. Initcap 将字符串的首字母变成大写

    2. Length 求取字符串的长度 

    3. Substr (列|字符串) 截取字符串

      1. Trim 去掉左右的空格
    1. instr: 获取字符串第一次出现索引的地方
    2. lpad:左填充
    3. rpad右填充
  • LEFT(STR,NUM)---取一个字符串的前多少位
 select left(name,1) from shuihu;    -- 获取名字的姓
  • RIGHT(STR,NUM)---取一个字串的后多少位
select right(name,1) from shuihu;   -- 获取名字的名

Select length(username) username from guke;

Select substr(useaname,1,3) from guke;

2. 数字运算函数

              1. CEIL()    进一取整 向上取整    select ceil(12.01);    ceil(12.01)     13

              2. DIV整数除法

              3. FLOOR()舍一取整    向下取整

              4. MOD取余数或取模     mod(a,b)  a-a/b*b   select 10%3       

              5. POWER()幂运算   power(10,3);

              6. ROUND()   round(15.78); round(-1.55) -2  round(1.2548,2)

              7. Truncate     数字截取  (123.34,-2)---100  以小数点为标准截取左右

              8.    max:  日期的最大   avg: 忽略null值

              9.    rand:获取随机数,返回0-1之间的小数

   3.  日期时间函数

  1.  NOW()   当前日期和时间
  2.  Curdate()  当前日期, 不包含时间
  3.  Curtime()  查询当前的时间  不包含日期
  4.  YEAR(now())  年
  5. Hour()
  6. minute()
  7. second()
  8. monthname() :以英文形式返回月
  9.  Month(noyw())
  10.  MonthName(now()) 英文的日期返回
  11.  select date_add('2013-2-2',interval 365 day);   查询日期的变化
  12.  Datediff()     select datediff('2013-2-2','2014-2-2');  日期差
  13.  Dte_format()   select date_format('2013-2-2','%m/%d/%y');

    10.STR_TO_DATE(‘9-13-1995’,’%m-%d-%Y’)

    11. DATE_FORMAT(‘2015/5/5’,%m-%d-%Y’)

    12. Adddata(now() 3);

mysql系统函数_第1张图片

 

4.  比较运算符和函数

  1. [NOT] BETWEEN...AND... [不]在范围之内  select 2 between 1 and 3;
  2. [NOT] IN()    [不]在列出值范围内      select 1 in (1,2);
  3. IS [NOT] NULL   [不]为空                select 1 is null;

  5. 加密函数

  • MD5()---web加密----不可逆  使用MD5结果来判断
  • UPDATE t_user set `password` = MD5('123')  添加用户的密码就可以登陆

6.其他

  • count() 

myisam:count(*)效率最高

innDB:count(*)=count(1)>count(字段)

select count(salary)  from  employees;  -- 查询salary中不为空的数量

select  count(*) from  employess;       -- 查询全部记录数,当条数据都为空时不计入在内

select count(distinct salary) from employees;
  • version:获取当前数据库服务器的版本
  • database: 当前打开的数据库
  • user: 当前的用户
  • password('字符'): 返回该字符的密码形式

7:总结

  • 支持的类型

sum和avg:处理一般数值型

max,min,count: 处理任意数据类型

  • 以上分组接忽略null
  • 都可以使用distinct(),去重   select sum(distinct  字段)  from   表

你可能感兴趣的:(mysql)