SQL基本语法
1、字段类型(常用)
int、integer 大整型
float
double
date
char
varchar
2、SQL语法
DDL:数据定义语言,常用的语句关键字主要包括 create、drop、alter
DML:常用的语句关键字主要包括 insert、delete、udpate 和select等。(增添改查)
DCL:数据控制语句,主要的语句关键字包括 grant、revoke 等
3、DBeaver链接MySQL
安装软件后输入Host ,db,username,password后测试链接报错,无法连接到192.168.137.1。
更新用户权限,设置任何人可访问hadoop000
mysql> update user set Host='%' where Host='hadoop000';
mysql> flush privleges;
再次连接即可
4、新建表删除表
create table t1 (id int,name varchar(100),age int,create_time timestamp);
drop table t1;
常规格式:
create table hutu( id int AUTO_INCREMENT primary key, name varchar(100), age int, createtime timestamp default current_timestamp, createuser varchar(100), updatetime timestamp default current_timestamp on update current_timestamp, updateuser varchar(100) )ENGINE=InnoDB AUTO_INCREMENT=1 default charset=utf8;
5、增删改查
1、插入数据:
insert into hutu(id,name,age) values(1,'jepson',16);
insert into hutu(name,age) values ('zhangsan',15);
insert into hutu(name,age) values ('lisi',16);
2、查询
select * from hutu;
查询也可以加where条件
select * from hutu where age=20;
3、更新
update hutu set age=20; 修改全部年龄为20,一般update 后跟where条件
update hutu set age=18 where id=1; 修改id为1的年龄为18
4、删除
delete from hutu where name =‘lisi’;
6、查询条件
where 删选条件
where A and B; 两个条件都满足
where A or B;满足任意一个
where A and(b or c);先满足括号的
7、创建一张表与hutu表中部分数据一样
create table test select id,name from hutu; 支复制id 和name
create table test1 select * from hutu; 复制整张表
create table test1 select * from hutu where 1=2; 只复制整张表结构
8、更改表结构
alter table hutu add address varchar(500); 新增一列
alter table hutu drop address ; 删除一列
alter table hutu add address varchar(500) after age; 在某列后面新增一列
9、模糊查询 like
select * from emp where ename 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%'; 第二个字符为S _为占位符
10、排序 order by
select * from emp order by sal ; 默认ASC排序(升序,从小到大)
select * from emp order by sal desc; 降序排列(从大到小)
11、限制多少行 limit
select * from emp limit 3;
select * from emp order by sal desc limit 3;
12、聚合函数
select deptno,sum(sal) from emp group by deptno; 查询各部门薪水和 按部门号升序排
select deptno,count(ename) from emp group by deptno;查询各部门员工数,按部门号升序排
13、group by
select deptno,job, sum(sal) from emp group by deptno ,job; 查询各部门各岗位薪水和
group by后的字段必须出现在select中(除函数)