Mysql(2)

DML (data manipulation language)

增删改 insert delete update

添加数据

给指定字段添加数据

insert into 表名(字段1,字段2,字段3) values(值1,值2,值3);

给全部字段添加数据

insert into 表名 values(值1,值2,值3);

批量添加数据

insert into 表名(字段1,字段2,字段3) values(值1,值2,值3),(值1,值2,值3),(值1,值2,值3);
insert into 表名 values(值1,值2,值3),(值1,值2,值3),(值1,值2,值3),(值1,值2,值3);

例子

insert into human(id,name,age) values (1,'李四',12);
​
insert into human(id,name,age) values (2,'zy',22);
​
insert into human(id,name,age) values (3,'hh,',23),(4,'ls',88);

查询表的所有数据

select * from 表名;

修改数据

update 表名 set 字段名1 = 值1,字段名2 = 值2,[where 条件]
删除数据

delete from 表名 [where 条件]
DQL(data query language)
基础查询

查询语法

select 字段列表 from 表名列表 where 条件列表 group by 分组字段列表 having 分组后的字段列表 order by 排序字段列表 limit 分页参数

查询多个字段

select 字段1,字段2 from 表名

查询所有字段

select * from 表名

设置别名

select 字段1 as 别名1, 字段2 as 别名2 from 表名

去除重复记录

select distinct 字段列表 from 表名

例子

select name,workno,age from employee  //查询name,workno,age
select * from employee //查询所有字段
select workaddress as '工作地址' from employee; //查询工作地址,起别名
select distinct workaddress from employee;  //查询工作地址,去重

条件查询


逻辑运算符

与(and 或者 &&) 或 (or 或者 ||)非(not 或者 !)

select * from employee where id = 1;
​
select * from employee where age < 20;
​
select * from employee where idcard is not null;
​
select * from employee where age != 88;
​
select * from employee where age <> 88;
​
select * from employee where age between 15 and 20;
​
select * from employee where age > 20 and gender = '男';
​
select * from employee where age = 20 or age = 23;
​
select * from employee where age in (23,20);
​
select * from employee where name like '__';
​
select * from employee where idcard like '%x';
聚合函数

null值不参与聚合运算

select count(*) from employee;   //统计employee数量
select count(id) from employee;   //统计employeeid非空数量
​
select avg(age) from employee;   //统计employee表年龄的平均值
​
select max(age) from employee;   //查询employee年龄的最大值
​
select min(age) from employee;   //查询employee年龄的最小值
​
select sum(age) from employee where workaddress = '北京';  //查询北京地区员工年龄之和
分组查询

where 是分组之前过滤

having是分组之后过滤

select gender,count(*) from employee group by gender;   //将员工按照性别进行分组
select gender,avg(age) from employee group by gender ;   //根据性别分组,统计男性和女性的平均年龄
​
select workaddress,count(*) from employee where age < 45 group by workaddress having count(*) >= 3 ; //统计年龄小于45,并且对工作地址进行分类,统计数量大于等于3的地址

分组之后一般展示的就是分组后的字段和聚合函数

排序
select * from 表名 ordey by 字段名1,排序规则, order by 字段2, 排序规则

asc 升序,默认值

desc 降序

select * from employee order by id; //按照id升序
select * from employee order by age desc; //按照age降序
select * from employee order by age asc ,id desc;  //age升序,id降序
分页查询
select * from 表名 limit 起始索引,记录数;
select * from employee limit 0,3; //第一页查询3条数据
select * from employee limit 3; //第一页可以省略

order by应该在limit之前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值