美文网首页
Mysql技术(二)

Mysql技术(二)

作者: 你好哈喽哈喽 | 来源:发表于2017-06-20 15:40 被阅读0次

    查询操作

    1.检索信息

    SELECT * FROM table_name;

    SELECT * FROM table_name WHERE (条件) AND (条件);

    SELECT clo_name1,clo_name2 FROM table_name WHERE (条件);

    2.对查询结果的排序

    SELECT * FROM table_name ORDER BY clo_name;(默认升序)

    SELECT * FROM table_name ORDER BY clo_name desc;(降序)

    注:对于升序排列,NULL值总是出现在开头,对于降序排列,它总是出现在末尾;

    3.限制查询结果

    (1)SELECT * FROM table_name where (条件) ORDER BY clo_nume LIMIT num;

    (2)SELECT * FROM table_name  LIMIT num1,num2;

    第一个值,给出从查询结果的开头部分跳过的行数,第二个,返回的行数

    (3)如果想从某个表里随机取出一行或者几行,可以联合使用LIMIT子句和ORDER BY RAND()子句

    SELECT * FROM table_name ORDER BY RAND() LIMIT num;

    4.对输出进行计算和命名

    (1)CONCAT合并字段

    SELECT CONCAT(clo1,clo2,...) FROM table_name;

    (2)利用as name 为列分配一个别名,可以省略as

    SELECT CONCAT(clo1,clo2,...) as name FROM table_name;

    SELECT 1 one , 2 two;

    注:如果一个查询的列名有误或者丢失,请检查在某两个列之间是否丢失了逗号

    5.处理日期,日期格式“2017-01-01”

    (1)将某个DATE列与日期值进行比较

    SELECT * FROM table_name where date='2017-01-01';

    注:比较运算符< , > , = , <= , >= , <>

    (2)检索日期的某个部分,YEAR() , MONTH() , DAYOFMONTH()

    SELECT * FROM table_name WHERE MONTH(birth)='2';检索出生在二月的数据

    (3)关于日期的其余函数

    CURDATE()返回当前的日期

    TIMESTAMPDIFF()计算两个日期的差值

    TO_DAYS() 将日期转换为天数

    DATE_ADD() 日期加,DATE_SUB() 日期减

    SELECT (TIMESTAMPDIFF (YEAR,birth,YEAR(CURDATE())))+1 AS age

    WHERE name=‘person_name’;

    SELECT DATE_ADD('1970-01-01' , INTERVAL 10 YEAR); INTERVAL 间隔

    6.模式匹配

    模式匹配需要使用 LIKE 或 NOT LIKE 那样的运算符

    “-”代表任意的一个字符,“%”代表任意的多个字符,包括空序列

    SELECT * FROM table_name  WHERE cloumn1 LIKE 'w%';

    7.生成统计信息

    COUNT() , DISTINCT()去重 ,GROUP BY 分组 , HAVING

    (1).SELECT COUNT(*) FROM table_name;

    (2).select sex,count(*)from tab_name group by sex;

    (3)SELECT state,COUNT(*) AS count FROM tab_name GROUP BY state

    ORDER BY count LIMIT 4;  找出4个州人数最多的

    (4).HAVING语句与WHERE语句相似,都可以用来设定输出行所必须满足的查询条件。

    与WHERE不同之处在于,它可以使用COUNT()那样的汇总函数的结果。带有HAVING语句的查询,

    特别适合用于查找在某个数据列里重复出现的值,也可用于查询不重复的值,

    此时使用HAVING count=1即可

    8.多表查询

    相关文章

      网友评论

          本文标题:Mysql技术(二)

          本文链接:https://www.haomeiwen.com/subject/uetaqxtx.html