Mysql-DDL

[TOC]


查询

1.查询常量值、表达式、函数


select 18,'jarvis',10*5,100+80,VERSION();

2.常用关键字

distinct

select distinct t.department_id,t.* from employees t;

mysql中 + 的作用

-- 只要其中一方为字符,试图将字符型数值转换成数值型

-- 转换成功,则继续做加法计算

select '10' + 20;

-- 如转换失败,则将字符型数字转换成0

select 'jiaw' + 20;

-- 只要有一方为null,结果肯定为null

select null + 10;

concat 实现链接

拼接

null和任何字段拼接,结果都为null


select concat(first_name,last_name,phone_number) AS 姓名号码 from employees;

DESCRIBE tablename 显示表结构

describe employees;

desc employees;

IFNULL(expr1,expr2)

select IFNULL(commission_pct,'空值'),commission_pct from employees;

3.分组函数

分组函数作用于一组数据,并对一组数据返回一个值。

AVG()
count(*)

COUNT(*) 返回表中记录总数,适用于任意数据类型

  • COUNT(计数)函数

COUNT(expr) 返回expr不为空的记录总数


select count(*) from employees;

MAX()
MIN()
SUM()

4.GROUP BY

4.1 在SELECT列表中所有未包含在组函数中的列都应该包含 在 GROUP BY 子句中。
4.2 不能在 WHERE 子句中使用组函数。
4.3可以在 HAVING 子句中使用组函数

过滤分组: HAVING 子句

5.条件查询:

1.按条件表达式筛选
  • 简单条件运算符

> < = != <> >= <=

2.按逻辑表达式筛选

&& || ! and or not

3.模糊查询

like

between and

in

is null

6、字符查询

sql的索引都是从1开始的。

length()
UPPER()
LOWER()
SUBSTR()
INSTR()
TRIM('')

去掉前后字符

LPAD(str,len,padstr)

用指定字符实现左填充指定长度

select RPAD(str,len,padstr)

用指定字符实现右填充指定长度

REPLACE(str,from_str,to_str)

-- length()方法

select length('wu家');

-- 查看当前字符格式

show VARIABLES like '%CHAR%'

select CONCAT(UPPER(first_name),LOWER(last_name)) as '姓  名' from employees;

-- 截取从指定索引处后面所有字符

select SUBSTR('小凉皮爱上老吴',6) as name;

-- 截取从指定索引处指定字符长度的字符

select SUBSTR('小凉皮爱吃面',1,3) as name;

SELECT INSTR('小凉皮爱吃面','皮');

-- 去掉前后空格

select TRIM('  小凉皮  ');

-- 去掉前后a

select TRIM('a' from 'aaaa小凉aaa皮aaaaa');

select LPAD('万里长城永不倒',15,'*')

select LPAD('万里长城永不倒',2,'*')

select RPAD('万里长城永不倒',20,'+');

select REPLACE('周芷若爱上张无忌','周芷若','赵敏');

7.数学函数

ROUND(X)
CEIL(X)

向上取整,返回>=该函数的最小整数

FLOOR(X)

向下取整,返回<=该函数的最小整数

TRUNCATE();截断
MOD(a,b);取余

-- 四舍五入

select ROUND(-1.55);

-- 小数点都没保留两位

select ROUND(3.1415926,2);

-- 向上取整

select CEIL(-1.255)

-- 向下取整

select FLOOR(1.85)

select TRUNCATE(1.698,2);

--  MOD(a,b)

select MOD(-10,-3);

select MOD(10,-3);

select MOD(-10,3);

select 10&3;

8.日期函数

NOW();
CURDATE();
CURTIME();
YEAR(date);
MONTH(date);
MONTHNAME(data);

select NOW();

select CURDATE();

select CURTIME();

select YEAR(NOW());

select MONTH(NOW());

-- 英文月份

select MONTHNAME(NOW());

你可能感兴趣的:(Mysql-DDL)