检索数据:正则表达式
1.去除重复的行 SELECT DISTINCT 列名 FROM 表名; 关键字:DISTINCT排序
2.显示列的前5行 SELECT 列名 FROM 表名 LIMIT 5; 关键字:LIMITrem
3.显示列的2行的下2行 SELECT 列名 FROM 表名 LIMIT 2,2;table
排序检索的数据:class
1.升序单个列 SELECT 列名 FROM 表名 ORDER BY User; 关键字:ORDER BYdate
2.升序多个列 SELECT 列名,列名,列名 FROM 表名 ORDER BY 列名,列名;im
3.逆序 SELECT 列名 FROM 表名 ORDER BY 列名 DESC; 关键字:ORDER BY DESC数据
4.升序和逆序 SELECT 列名1,列名2 FROM 表名 ORDER BY 列名1 DESC 列名2; 注:列名一是逆序 :列名2是升序tab
5.LIMIT和ORDER BY DESC结合使用 SELECT 列名 FROM 表名 ORDER BY 列名 DESC LIME 1; 注:找出最后一行di
过滤数据:
1.根据关键字过滤数据 SELECT 列名 FROM 表名 WHERE 列名 = 关键词; 关键字:WHERE
2.根据操做符过滤数据 SELECT 列名 FROM 表名 WHERE 列名 > 10; =:等于 <:小于 >:大于 <> :不等于 !=:不等于 <= :小于等于 >=:大于等于
3.根据指定范围过滤数据 SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 10 AND 20; 关键字:WHERE BETWEEN AND
4.过滤空值的数据 SELECT 列名 FROM 表名 WHERE 列名 IS NULL; 关键字:IS NULL
数据过滤:
1.根据多个条件过滤数据 SELECT 列名 FROM 表名 WHERE 列名 = 关键词 AND 列名 = 关键词; 关键字:AND 注:在AND 和 OR 结合使用时 ADN 的优先级更高
2.根据任意一个条件过滤数据 SELECT 列名 FROM 表名 WHERE 列名 = 关键词 OR 列名 = 关键词; 关键字:OR 注:若先执行 OR 条件时可添加()
3.根据指定范围过滤数据 SELECT 列名 FROM 表名 WHERE 列名 IN (2,3); 关键字:IN 注:若取出单个行则 IN (23);
4.排除指定范围的数据 SELECT 列名 FROM 表名 WHERE 列名 NOT IN (2,3); 关键字:NOT IN
通配符进行数据过滤:
1.过滤以某字符开头 SELECT 列名 FROM 表名 WHERE 列名 LIKE 'z%' ; 关键字:LIKE '%' 注:百分号表明匹配任意无数个字符。
2.过滤包含某字符 SELECT 列名 FROM 表名 WHERE 列名 LIKE '%z%';
3.过滤以任意一个字符开头 SELECT 列名 FROM 表名 WHERE 列名 LIKE '_y%' ; 关键字:LIKE '_' 注:下划线表明匹配任意一个字符。
正则表达式进行数据过滤:
1.过滤包含某字符 SELECT 列名 FROM 表名 WHERE 列名 REGEXP '1000'; 关键字:REGEXP '匹配内容' 注:正则表达式过滤数据默认不区分大小写。
2.区分大小写 SELECT 列名 FROM 表名 WHERE 列名 REGEXP BINARY 'X'; 关键字:REGEXP BINARY '匹配内容'
3.相似OR SELECT 列名 FROM 表名 WHERE 列名 REGEXP '1000|2000'; 关键字:REGEXP '匹配内容 | 匹配内容'
4.[]另外一种OR SELECT 列名 FROM 表名 WHERE 列名 REGEXP '[123] TON'; 关键字:REGEXP '[匹配内容] 匹配内容'
建立一个自动添加时间的表:create table s4(id int auto_increment, name char(20), age int, statusID bigint(19), salary int, update_time timestamp, comment_time timestamp default current_timestamp, primary key(id,statusID));
update_time timestamp :随着当前的行数据的更新来记录时间。
comment_time timestamp default current_timestamp:只记录当前行数据的第一次写入时间。