zoukankan      html  css  js  c++  java
  • MySQL学习笔记——函数

    常用函数

    ALTER TABLE tb_emp
    ADD diredate VARCHAR(20);
    
    #插入数据
    INSERT INTO tb_dept()
    VALUE(4,'市场部','负责市场工作');
    
    # concat 连接
    SELECT CONCAT(NAME,sex) FROM tb_emp;
    
    # UPPER 转换大写
    SELECT UPPER(NAME) FROM tb_emp WHERE dept_id=1;
    
    # 返回字符串长度
    SELECT LENGTH(NAME) FROM tb_emp WHERE dept_id=1;
    
    # 返回部分字符
    SELECT SUBSTR(NAME,2,2) FROM tb_emp WHERE dept_id=1;
    
    # 返回当前
    SELECT NOW();
    
    # 查询时间是1981年
    SELECT * FROM tb_emp
    WHERE YEAR(diredate) = 1981
    AND MONTH(diredate) = 1982;
    
    #插入时间
    INSERT INTO tb_emp(NAME,sex,age,address,email,dept_id,diredate)
    VALUES('ZHOU','',33,'香港','ZHOU@163.com',2,'1988-09-09');
    
    INSERT INTO tb_emp(NAME,sex,age,address,email,dept_id,diredate)
    VALUES('CAI','',30,'香港','CAI@163.com',2,NOW());
    
    # 条件判断语句
    SELECT NAME,sex,age '原来年龄'
        CASE 
        WHEN age IS NULL THEN 100
        ELSE age
        END AS '年龄'
    FROM tb_emp;
    
    # IFNULL函数    如果字段不为NULL,则取第二个值,如果为空,择取第三个值
    SELECT NAME,IFNULL(age,age+100,100) AS age2 FROM tb_emp;
    
    # IFNULL函数    如果字段不为NULL,则直接去该值,如果为空,择取第二个值
    SELECT NAME,IFNULL(age,100) AS age2 FROM tb_emp;

    聚合函数

    # 聚合函数,也叫组合函数,忽略空值
    SELECT AVG(age) FROM tb_emp;
    
    SELECT SUM(age) FROM tb_emp;
    
    SELECT MAX(age) FROM tb_emp;
    
    SELECT MIN(age) FROM tb_emp;
    
    SELECT AVG(age) AS '平均年龄',SUM(age) AS '总年龄',MAX(age) AS '最高年龄',MIN(age) AS '最低年龄'
    FROM tb_emp WHERE dept_id=1;
    
    # COUNT不统计null,统计的是行数/记录数
    SELECT COUNT(*) FROM tb_emp
    SELECT COUNT(email) FROM tb_emp
    
    # 不统计重复记录
    SELECT COUNT(DISTINCT diredate) FROM tb_emp
    
    # 分组统计 GROUP BY
    # 每个部门的平均年龄
    SELECT dept_id,AVG(age) FROM tb_emp GROUP BY dept_id
    
    SELECT dept_id,AVG(age),address FROM tb_emp GROUP BY dept_id,address
    
    # 限定查询结果 HAVING 不能使用where,where子句中不可以使用函数
    SELECT dept_id,AVG(age) FROM tb_emp GROUP BY dept_id
    HAVING AVG(age)>23
    ORDER BY AVG(age) DESC;
    
    # LIMIT 常用来分页
    SELECT * FROM tb_emp LIMIT 5; #查询前5个记录
    SELECT * FROM tb_emp LIMIT 5,10; #查询前6-10个记录
  • 相关阅读:
    springboot启动只显示图标不报错
    tmux常用
    ubuntu+anaconda+mxnet环境配置
    OpenCV学习笔记(二)
    c++基础
    c++算法实现(一)
    pytorch使用不完全文档
    ubuntu上传到百度网盘
    pickel加速caffe读图
    caffe常用
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/4660221.html
Copyright © 2011-2022 走看看