赞
踩
语法:select 查询列表 from 表名:(查询的结果是一个虚拟表格)
- -- 查询指定的列
- SELECT NAME,birthday,phone FROM student
- -- 查询所有的列 * 所有的列, 查询结果是虚拟的表格,不能操作,是只读的
- SELECT * FROM student
- -- 查询结果进行算数运算
- SELECT NAME,height+1 FROM student
- -- 去除重复数据 查询结果中所有的列都相同
- -- DISTINCT关键字去除重复数据
- SELECT DISTINCT NAME,gender FROM student
- -- 单行函数:
- -- 分组函数
- -- length(列名) 以字节为单位
- SELECT NAME,LENGTH(NAME),gender FROM student
- -- char_lenghth(列明) 以字符为单位
- SELECT NAME,CHAR_LENGTH(NAME),gender FROM student
- -- concat()拼接 ;as 重新取名
- SELECT CONCAT(NAME,":",CHAR_LENGTH(NAME)) AS NAME,gender FROM student
- -- upper英文转大写 ,lower英文转小写
- SELECT UPPER(NAME),LOWER(NAME),FROM student
- -- stubstring(字符串,开始位置,截取长度)开始位置从一开始
- SELECT SUBSTRING(NAME,1,2) FROM student
- -- instr(字符串,指定的字符) 返回指定位置首次出现的位置 找不到返回0
- SELECT INSTR(NAME,'哈') FROM student
- -- trim()默认去除字符串前面的空格,trim(指定子串 from 字符串)可以指定去除前后的子串
- SELECT TRIM(NAME),NAME FROM student
- -- 左填充 右填充 到指定长度
- SELECT LPAD(NAME,5,'a'),RPAD(NAME,5,'b') FROM student
- -- replace(列,'old','new')
- SELECT REPLACE(NAME,'哈','咕') FROM student

逻辑处理:
- SELECT
- NAME,
- gender,
- (CASE WHEN height>=2 THEN'高个子' ELSE '正常升高 'END)
- FROM student
-
- SELECT
- NAME,
- gender,
- (CASE WHEN height >=2 THEN 'A'
- WHEN height >=1.8 THEN'B'
- ELSE 'c' END
- )AS height
- FROM student
-
- -- ifnull(被检测值,默认值)
- SELECT
- NAME,
- gender,
- IFNULL(height,'暂无录入身高信息') AS height
- FROM student
-
- -- if(条件,'结果1','结果2')
- SELECT
- NAME,
- gender,
- IF(height>=1.9,'高个子','正常')AS height
- FROM student

数字函数
- -- 数学函数
- -- round(数值):四舍五入
- -- round(数值):四舍五入
- -- ceil(数值):向上取整,返回>=该参数的最小整数
- -- floor(数值):向下取整,返回<=该参数的最大整数
- -- truncate(数值,保留小数的位数):截断,小数点后截断到几位
- -- mod(被除数,除数):取余,被除数为正,则为正;被除数为负,则为负
- -- rand():获取随机数,返回0-1之间的小数
- SELECT NAME,ROUND(height),CEIL(1.1),FLOOR(1.9) FROM student
- SELECT NAME,gender,TRUNCATE(height,1),height,RAND() FROM student
- -- now() 年月日 时分秒 系统当前时间
- -- curdate() 年月日
- -- curtime() 时分秒
- SELECT NOW(),CURDATE(),CURTIME() FROM student
- -- year(日期) 将日期格式化为年
- SELECT YEAR(birthday),MONTH(birthday) FROM student
- -- STR_TO_DATE('2003-3-','%Y-%m-%d') 将字符串日期 格式化为 日期类型
- SELECT STR_TO_DATE('2003-3-','%Y-%m-%d') FROM student
- -- DATE_FORMAT(birthday,'%Y-%m')将日期格式化为指定字符串
- SELECT DATE_FORMAT(birthday,'%Y-%m') FROM student
- -- DATEDIFF(CURDATE(),birthday) 计算两个日期之间的相差的天数
- SELECT DATEDIFF(CURDATE(),birthday) FROM student
分组函数 聚合函数 统计函数:
- -- sum avg处理数值类型 max,min,count 都可以处理
- SELECT SUM(height) FROM student -- 求和
- SELECT AVG(height) FROM student -- 平均值
- SELECT MAX(height) FROM student -- 最大值
- SELECT MIN(height) FROM student -- 最小值
- SELECT COUNT(*) FROM student -- 统计个数
-
-
- -- 条件查询
- -- select * from 表名 where 条件
-
- -- and 并且
- SELECT * FROM student WHERE gender ='男' AND height>1.80
-
- -- or 一个或多个条件满足即可
- SELECT * FROM student WHERE gender != '男'
- SELECT * FROM student WHERE gender <> '男'
-
- -- lick 模糊匹配
- SELECT* FROM student WHERE NAME licke'咕%'
- -- between and
- SELECT * FROM student WHERE height BETWEEN 1.89 AND 2.00
- -- in not in
- SELECT * FROM student WHERE height IN (1.88,1.98)
- SELECT * FROM student WHERE height NOT IN(1.88)
-
- SELECT *FROM student WHERE height NOT NULL
- SELECT * FROM student WHERE height NULL
-
- -- union 将多个查询结果合并,合并时,列数必须一直,去除重复数据
-
- -- union all 合并不会去除重复数据
-
-
- -- 排序 order by 列 asc(升序) desc(降序)
- SELECT * FROM student ORDER BY number DESC
-
- SELECT * FROM student ORDER BY height ASC
-
- SELECT * FROM student ORDER BY number DESC , height DESC
-
- -- 数量限制 limit 从0开始,显示n个信息
- SELECT * FROM student LIMIT 0,1
- -- 统计男生女生个有多少人
- SELECT COUNT (*),gender FROM student GROUP BY gender HAVING COUNT(*)>2

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。