Mysql 表数据的操作:
insert 语句
不加字段名称,默认插入所有的数据:
insert into wuhan values(3,"lisi",82013222,"22:00:08");
一次性插入多条数据:(所有的字段)
insert into wuhan values(4,"lisi3",820132223,"22:00:08")(5,"lisi",82013222,"22:00:08");
按照字段插入:
insert into wuhan (name) values("lisi")
备份表结构: like 方法
create table dcs19 like wuhan ; 只备份结构,不复制表数据
备份一张表dcs19 复制 wuhan表 的结构
将原表的数据插入到新表中:
insert into dsc19 (name,incoming) select name,incoming from wuhan;
插入指定字段
insert into dsc19 select * from wuhan; 插入所有的字段
drop 语句:删除
drop 表结构、主键、字段(只能删除表结构,针对数据结构操作,不能删除表数据)
删除字段
alter table wuhan drop sex,drop age;
drop database 删除数据库
drop table 表名 if exists; 删除表
delete from 表名 where 条件 ; 删除表数据
select :针对表数据的查询语句
1.查询所有的信息
select * from 表名
2、查询指定的字段内容
select 字段1,字段2 from 表名;
where 条件语句
3、现在想要查询id=1这一行的数据
select * from wuhan where id =1;
linux 当中的比较运算符:
select * from wuhan where id !=3;
select * from student where id <> 3; 查询id 不等于3 的数据
select * from wuhan where id >3;
select * from wuhan where id <3;
逻辑运算符号:
and 且
select * from wuhan where id=1 and incoming=999.99;
or 或者,两个 条件满足其中一个即可
select * from duoceshi19 where id =1 or name="zhangsan";
null 是一个属性,不能使用比较运算符来进行查询;
null 有自己的查询方法 is null is not null
select * from duoceshi19 where date is null;
select * from duoceshi19 where date is not null;
查询2-4行的数据 :
三种方法:
select * from duoceshi19 where id >=2 and id <=4;
select * from duoceshi19 where id between 2 and 4;
select * from duoceshi19 limit 1,3 ;
select * from duoceshi19 where id limit 1,3 ;
limit x,y 从第x+1行开始查询y行的数据
like :用作备份,实现模糊查询。
匹配
selece * from duoceshi19 where name like "zhang%";
select * from duoceshi19 where name like "%a%";
排序:
order by desc:降序排序的规则
select * from wuhan order by id desc;
查询所有字段,按照id降序排列
order by asc:升序排序的规则
select * from wuhan order by incoming asc;
查询所有字段,按照incoming升序排列。
删除表数据的方法:
delete from wuhan; 删除表中所有的数据
修改表数据的方法:
update 表名 set 字段= 新值 where 条件
update wuhan set name="root" , phone="1897221" where id=2;
删除清空表的操作:
truncate 表名,清空表
聚合函数:
便于操作表
函数:在编程当中可以理解为方法
count() 统计 avg() 求平均值 sum() 求和
max()求最大值 min()求最小值
select count(*) from student;
select count(*)as num from student;
求平均值:
select avg(incoming) from wuhan1;
求和:
select sum(incoming) from wuhan1;
求最大值:
select max(incoming) from wuhan1;
求最小值:
select min(incoming) from wuhan1;
去重操作:
select distinct name from wuhan1;
在使用分组的时候,不要查询所有的字段,会导致数据混乱
select name,count(*) from wuhan1 group by name;
聚合函数可以结合分组函数使用
但是聚合函数不能放在group by 后面使用
having 和where 都是条件语句
1.where 不能接在 group by 后面去使用,但是可以接在grou by前面
使用 ,having 可以接在 group by 后面使用.
2.where 后面不能接聚合函数使用,having后面可以接
聚合函数
面试题目:
求出哪个班级的平均薪资大于300?
select calss,avg(incoming) from wuhan group by class having avg(incoming)> 300;
第一步:先按照班级进行分组
select * from group by calss
第二步:先求平均薪资语句
select avg(incoming),calss from wuhan group by calss;
第三步:接条件语句 平均薪资大于300
select avg(incoming)as a,calss from wuhan group by
calss having a>300;
select
备份数据库:
mysqldump -uroot -p123456 wuhan19 > /wuhan.sql
还原数据库:
mysql -uroot -p123456 wuhan < /wuhan.sql
|
|