This article gives you a summary of the commonly used operators and the usage and examples of common functions in mysql. It is very comprehensive. Friends in need can refer to it
Let’s look at an example first
use test; create table `employee`( emp_no int unsigned, emp_name varchar(30), emp_sex varchar(3), emp_age tinyint unsigned, sal double, history datetime ); insert into employee values(1, '张三', '男', 18, 5000, '2012-04-23'), (2, '李四', '男', 27, 4500, '2013-05-23'), (3, '王五', '男', 23, 4700, '2012-04-21'), (4, '子龙', '男', 19, 3800, '2011-03-04'), (5, '李白', '男', 15, 6200, '2015-09-09'), (6, '刘备', '男', 28, 2500, '2016-02-11'), (7, '吕布', '男', 21, 6000, '2010-10-18'), (8, '尚香', '女', 16, 4500, '2011-09-26'), (9, '小乔', '女', 15, null, '2013-07-05'), (10, '大乔', '女', 16, 5000, '2017-09-01');
Commonly used operators:
1: equal to (=)
select * from employee where sal = 3800; select * from employee where sal = null; --这里查询不到为null的数据
2: equal to ( <=> )
##
select * from employee where sal <=> 3800; select * from employee where sal <=> null; --这里可以查询到为null的数据
select * from employee where sal is null; select * from employee where sal is not null;
select * from employee where isnull(sal); select * from employee where !isnull(sal);
select * from employee where sal between 4500 and 5000;
select * from employee where sal not between 4500 and 5000; --null不为包括进去
select * from employee where sal not between 4500 and 5000 or sal is null; select * from employee where sal = 4500 and emp_sex = '女';
select * from employee where sal >= 4500;
**** *************************************************** *************************************************** *******<span style="font-family: "Microsoft Yahei", "Hiragino Sans GB", Helvetica, "Helvetica Neue", 微软雅黑, Tahoma, Arial, sans-serif;"></span><br/>
1: rand();
select rand() from dual; --dual是一个伪表 select 1+1 from dual; select rand(); --可以简写
select least(54,76,4,65,76,87,87,56,65,654,45,23,1,76); select least(54,76,4,65,76,87,87,56,65,654,45,23,1,76) as min_value; --列名可以起一个别名
select greatest(54,76,4,65,76,87,87,56,65,654,45,23,1,76);
select round(1.69); select round(1.69, 1);
select 5-10; select abs(5-10);
Summary function
select * from employee where sal >= 6000; select avg(sal) from employee where sal >= 6000;
select count(*) from employee; select count(emp_name) from employee; select count(sal) from employee; --打印9 这里会忽略null值 select count(*) from employee where sal >= 4000; select count(*) from employee where sal <= 4000 or sal is null;
select sum(sal) from employee where sal >= 6000;
select min(sal) from employee;
select max(sal) from employee;
Date function
select now(), sysdate(), current_timestamp(); select now(6), sysdate(6), current_timestamp(6); ps: now(), current_timestamp();没有区别, 表示sql开始执行时的时间 sysdate()表示这个函数开始时间
select curdate(); --只有年月日
select curtime(); --只有时分秒
select history, date_add(history, interval '1 12:10' day_minute) from employee; --date_add(history, interval '1 12:10' day_minute) select history, date_add(history, interval '1-1' year_month) from employee; --date_add(history, interval '1-1' year_month) select history, date_add(history, interval '1' second) from employee; --date_add(history, interval '1' second)
select history, date_sub(history, interval '1-1' year_month) from employee;
select history, sysdate(), datediff(sysdate(), history) from employee; --以天数来表示
select history, date_format(history, '%Y年%m月%d号') from employee; select history, date_format(history, '%d号') from employee; select history, date_format(history, '%Y年%m月%d号 %H时%i分%s秒') from employee;
select history, dayname(history) from employee;
insert into employee values(11, '张飞', '男', 22, 3000, '2017年02月01号'); --报错 insert into employee values(11, '张飞', '男', 22, 3000, str_to_date('2017年02月01号', '%Y年%m月%d号 %H时%i分%s秒'));
insert into employee values(12, 'Second brother', 'Male', 22, 3000, str_to_date('February 01, 2017 11:02:02', '%Y Year %m month %d %h hour %i minute %s second'));
ps: If it is h, it means 12 hours, if it is a big H, it means 24 hours;
String function
select left('abcdefg', 5);
select length('abcdefg');
select lower('HELLO');
select substring('helloworld',2,3);
select concat(emp_name, '员工') from employee;
select replace(emp_name, '李', '老') from employee where emp_name = '李四';
The above is the detailed content of Summary of Mysql operators and functions. For more information, please follow other related articles on the PHP Chinese website!