MySQL命令大全

SELECT *FROM 表名; 

 

2.查询特定的列:

SELECT id, name FROM student;

 

3.起别名:

SELECT 列名1 AS "列1别名",列名2 AS "列2别名" FROM 表名;

SELECT 列名1 "列1别名",列名2 "列2别名" FROM 表名;

 

4.查询去重

select distinct 字段名 from 表名;

 

5.+号的作用

select 数值+数值;

 

6.concat函数(拼接字符,相当于java中的 "1"+"23"="123")

select concat(字符1,字符2,字符3,...);

 

7.ifnull函数

select ifnull(commission_pct,0) from employees;

 

8.isnull函数

功能:判断某字段或表达式是否为null,如果是,则返回1,否则返回0

 

二.条件查询

select 查询列表 from 表名 where 筛选条件;

MySQL命令大全

 

 

 1.按条件表达式查询

SELECT * FROM employees WHERE salary>12000;

 

2.按逻辑表达式筛选

SELECT last_name, salary, commission_pct FROM employees WHERE salary>=10000 AND salary<=20000;

 

3.模糊查询

select last_name, salary FROM employees WHERE last_name LIKE '__e_a%';(查询员工名中第三个字符为e,第五个字符为a的员工名和工资)

 

4.IN查询

SELECT last_name, job_id FROM employees WHERE job_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');

 

5.IS NULL语句

SELECT last_name, commission_pct FROM employees WHERE commission_pct IS NULL;

 

6.安全等于<=>

SELECT last_name, salary FROM employees WHERE salary <=> 12000;

 

三.排序查询

ASC(ascend): 升序。DESC(descend): 降序

select 查询列表 from 表名 【where 筛选条件】 order by 排序的字段或表达式;

1.单个字段查询

SELECT * FROM employees WHERE department_id>=90 ORDER BY employee_id DESC;

 

2.按表达式排序

SELECT *,salary*12*(1+IFNULL(commission_pct,0)) FROM employees ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;

 

3.按函数排序

SELECT LENGTH(last_name),last_name FROM employees ORDER BY LENGTH(last_name) DESC;

 

4.多个字段排序

SELECT * FROM employees ORDER BY salary DESC,employee_id ASC;

 

四.单行函数

字符函数:

1.length(s)  获取字符长度

SELECT LENGTH('john'); SELECT LENGTH('张三丰hahaha');

 

2.concat(s1,s2...sn)  拼接字符串

SELECT CONCAT(last_name,'_',first_name) 姓名 FROM employees; 

 

3.upper(s)  将字符串转换为大写

SELECT UPPER('john');

 

4.lower(s)  将字符串转换为小写

SELECT LOWER('joHn');

 

5.substr(s,start,length)、substring()  SUBSTR(s, start, length):从字符串 s 的 start 位置截取长度为 length 的子字符串

SELECT SUBSTR('李莫愁爱上了陆展元',1,3) out_put;

 

6.instr(s,s)  返回子串第一次出现的索引,如果找不到返回0

SELECT INSTR('杨不殷六侠悔爱上了殷六侠','殷八侠') AS out_put;

 

7.trim(s)  去掉字符串开始和结尾处的空格

SELECT LENGTH(TRIM(' 张翠山 ')) AS out_put;

 

8.lpad(s1,len,s2)  在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len

SELECT LPAD('殷素素',5,'*') AS out_put; --> **殷素素

 

9.rpad(s1,len,s2)  在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len

SELECT RPAD('殷素素',5,'*') AS out_put; --> 殷素素**

 

10.replace(s,s1,s2)  用字符串 s2 替代字符串 s 中的字符串 s1

SELECT REPLACE('张无忌爱上了周芷若','周芷若','赵敏') AS out_put; -->张无忌爱上了赵敏

 

数学函数

1.round(x)  ROUND(x,d):保留d位小数,四舍五入

SELECT ROUND(-1.55); --> -2

 

2.ceil(x)  向上取整

SELECT CEIL(-1.02); --> -1

 

3.floor(x)  向下取整

SELECT FLOOR(-1.58); --> -2

 

4.truncate(x,y)  返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)

SELECT TRUNCATE(1.567,2); --> 1.56

 

5.mod(x,y)  返回 x 除以 y 以后的余数

SELECT MOD(10,-3); --> 1

 

日期函数

1.now()  返回当前系统时间(注:日期+时间)

SELECT NOW(); --> 2019-10-05 09:56:57

 

2.curdate()  返回当前系统日期,不包含时间

ELECT CURDATE(); --> 2019-10-05

 

3.curtime()  返回当前系统日期,不包含日期

SELECT CURTIME(); -->09:56:57

 

4.year(d)  返回年份

SELECT YEAR(NOW()); -->2019

 

5.month(d)  返回日期d中的月份值,1 到 12

SELECT MONTH(NOW()); --> 10

 

6.monthname(d)  返回日期当中的月份名称,如 November

SELECT MONTHNAME(NOW()); --> October

 

7.str_to_date(s,f)  将字符通过指定的格式转换成日期

SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put; --> 1998-03-02

 

8.date_format(d,f)  将日期通过指定的格式转换成字符

SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日') AS out_put; --> 2019年10月05日

 

其他函数

1.version()  返回当前数据库名

 

2.user()  返回当前用户

SELECT USER();

 

流程控制函数

1.if(expr,v1,v2)  如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2。

SELECT IF(1 > 0,'正确','错误'); --> 正确

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydfzg.html