- 数据类型
char 字符 char(10) abcxxxxxxx 定长
varchar 字符串 varchar(10) abc 变长
int 整数
float 单精度
double 双精度
date 日期 年月日
timestamp 年月日 时分秒
http://www.runoob.com/mysql/mysql-data-types.html - 语法分为DML DDL
DML:insert update delete select
增 insert 删 delete from (注意后面where 条件,删之前确认) 改 update 查 select
DDL:create database/drop database/…
创建DB,Table
creat table 规范:
名称要尽量表达存储值的意思,要使用英语,要统一 - creat table data(…)
insert into data(id,name,age) values(1,‘a’,18)
update data set age=20
delete from data(确认后面where条件,没有where就是表中数据全删)
select * from data - 大于> 小于< 等于= 大于等于>= 小于等于<= 不等于<>
例如:select * from emp where sal >3000 - 模糊查询 like
例如:名字包含字母‘S’,并且不清楚字母‘S’的位置 select * from emp where ename like ‘%S%’
例如:以字母‘S’开头的 select * from emp where ename like ‘S%’
例如:以字母‘S’结尾的 select * from emp where ename like ‘%S’
例如:第2个字符为0,使用占位符 ‘_0’ - 排序
select * from emp order by sal (默认升序)
select * from emp order by sal asc(升序)
select * from emp order by sal desc(降序)
多个条件:select * from emp order by deptno asc, sal desc - 限制多少行
select * from emp limit 2 限制两行
select * from emp order by deptno asc, sal desc limit 2 多个混用 - 聚合 group by…having…
- 聚合函数 sum count avg max min
select
deptno, sum(sal)
from emp
group by deptno;
注意group by 字段必须出现在select字段,一一对应
select
deptno, sum(sal) as sumsal
from emp
group by deptno
having sum(sal)>10000; - 数量 最大值等
select count(*) from emp;
select max(sal) from emp; - 组合使用,注意顺序
select
deptno, job,sum(sal)
from emp
where job=‘SALESMAN’
group by deptno, job
having sum(sal) >3000
order by sum(sal) desc
limit 1 - as 别名
sum(sal) as sumsal
xxxxxxx as xx - union
两张表a b
去重复数据
select * from a
union
select * from b
不去重复数据
select * from a
union all
select * from b
(1) 名称是第一张表决定
(2) 不用*,指定字段
(3) 对应字段类型保持一致
【大数据零基础】SQL语法1
最新推荐文章于 2024-07-15 10:47:29 发布