七周成为数据分析师--mysql篇③

MYSQL 基础语法篇

建议参考mysql基本语法
1、数据库是数据存储的集合,列存储组织信息(各属性),行存储表中的明细记录
2、主键唯一,不可为空。
3、order by asc 升序,order by desc 降序
4、where … between …and…/in(…,…)/!=或<>/not in
where 可以配合and /or 一起用,注意处理逻辑
where 可以配合like模糊查询
5、group by
一个小技巧,当group by A时,select A from 要有,否则会报错。
常常后面如果是分组后要再筛选,用having。
6、null 值一般只用is nulll/not null来配合。
7、count if 嵌套。
例如:
count(if(id name like ‘%帅哥%’,id name,null)),count()不计null值。
8、locate(所查询的字符串,查询区域)类似find函数
例:left(salary,locate(‘k’,salary)-1),提取薪资中,字符‘k’左侧的内容
9、substr(字符串,从哪里开始,截取长度)
例:提取8k-15k
select salary,
left(salary,locate(‘k’,salary)-1),
substr(salary,locate(’-’,salary)+1,length(salary)-locate(’-’,salary)-1)
from table
10、在select …from 之间,有时候会用case when…then…end 来分类
例:

       select
        case when salary <= 500 then '1'

        when salary > 500 and salary <= 600  then '2'

        when salary > 600 and salary <= 800  then '3'

        when salary > 800 and salary <= 1000 then '4'

        else null end salary_class,

        count(*)

        from   table_a

11、连接字符串concat(char1,char2)
例: concat(concat( concat(姓名,工号),年龄),姓名)
12、join on (left join/inner join/right join),左并/取交/右并的关系。这块常用
13、时间:now(),year(),month(),week(),date(精确到日期),date_format(区域,’%Y-%m), date_add(区域,interval _ day)下划线中可以是正数,可以是负数,达到增减多少天的目的
14、update set
UPDATE zz SET 年龄 = year(now())-year(出生日期) where 工号>0

两个注意点,
第一update ,在select * from 之前,更新完数据
第二where一定要加,不然会报错~
15、INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,…)
七周成为数据分析师--mysql篇③_第1张图片
16、creat table
七周成为数据分析师--mysql篇③_第2张图片
17、“+”
两个都为数值型,做加法
一个为字符型,试图转化为数值型,但‘join+90’还是会报错
其中一个为null,结果一定为null

18、if null(有可能为null的表达式,返回值)
19、查询名字中第三个字符为e,第5个为a的职工工资
where name like’_ _ e _ a %’
between and 是包含临界值的哦
20、upper 大写,lower小写
21、replace替换
select replace(select REPLACE(‘abcdefghabc’,‘abc’,‘xxx’)–输入的字符串为:abcdefghabc
结果为:xxxdefghxxx
replace(原值区域,要替换的字符串,替换成)
22、truncate截断
truncate(1.65,1)推出1.6,表示保留一位小数且没有四舍五入哦


你可能感兴趣的:(mysql,sql,经验分享,其他,恰饭)