常用函数
说明:下面多是 # 符号,是因为小编在SQLyog编写语句 ,是此处的注释
数据表结构
CREATE TABLEtest
(
id
VARCHAR (125),
name
VARCHAR (125),
price
DECIMAL (8,2),
created_time
TIMESTAMP ,
updated_time
TIMESTAMP
);
数据表内容
查找某表 以创建时间降序排序的前三位数据-- LIMIT
SELECT * FROM test ORDER BY created_time DESC LIMIT 3
结果
模糊查询-- LIKE
SELECT * FROM test WHERE NOT NAME LIKE ‘%y%’; ## 不包含 y 的数据
SELECT * FROM test WHERE NAME LIKE ‘%y%’; ##包含 y 的数据
SELECT * FROM test WHERE NAME LIKE ‘%y’; ##以 y 结尾的数据
SELECT * FROM test WHERE NAME LIKE ‘y%’; ##以 y 开头的数据
通配符 _
**注意:**此处的符号 ‘’ ,是输入法的英文格式,的单引号
此处的 通配符是 下划线 _
只会查出唯一值
- SELECT * FROM test WHERE NAME LIKE ‘_angL’;
- SELECT * FROM test WHERE NAME LIKE ‘__angJM’;
别名—AS
SELECT NAME AS NAMES FROM test ;
用处:当,数据库表字段名 与 Java实体类返回值(VO) 字段名不一致时,可以通过 AS 将返回值取得相同
union 与 union all
union(不显示 两表中相同的数据 ) 与 union all(显示 两表中相同的数据 )
创建test1 数据库(与最前面结构一致)
表数据
- SELECT t.name FROM test t
UNION
SELECT t1.name FROM test1 t1
- SELECT t.name FROM test t
UNION ALL
SELECT t1.name FROM test1 t1
SELECT INTO
语句可用于创建表的备份复件。
SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
您可以把所有的列插入新表:
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename
或者只把希望的列插入新表:
SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename
IFNULL
与 Oracle的NVL() 函数相似
下面,如果说 test中的 name列 是null 那么,返回0 不然,照常返回
SELECT IFNULL(name,'0') FROM test;
MID 函数用于从文本字段中提取字符。
语法: SELECT MID(column_name,start[,length]) FROM table_name
说明: column_name:必需。要提取字符的字段。 start: 必需。规定开始位置(起始值是 1)。 length:可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。
SELECT MID(NAME,1,5) FROM test;# 查找test表 name字段 从1开始 到第5位结束
SELECT MID(NAME,1) FROM test; # 查找test表 name字段 从1开始 后面值,全部显示出来
ROUND 函数
用于把数值字段舍入为指定的小数位数。
语法说明:
SELECT ROUND(column_name,decimals) FROM table_name
column_name:必需。要舍入的字段。 decimals:必需。规定要返回的小数位数。
eg:
SELECT ROUND(price,1) FROM test;