找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
mysql 表数据的操作
insert 语句:
insert into 插入全部数据 所有字段                        values(值)
例: insert into wuhan1(id,name,phone,imcoming,time)values(3,"ling",28709874392,7878,"20:00:00");
第二种方法---不需要加上字段插入全部的数据
insert into wuhan values(3,"ling",28709874392,7878,"20:00:00")
第三种方法---一次性插入多条
insert into wuhan values(3,"ling",28709874392,7878,"20:00:00"),(4,"hanuu",32142352,342,"18:34:00")
第四种方法---按字段插入数据
例:mysql> insert into wuhan1(name)values("niuer");

备份表结构:  like  方法
create table dcs19(新建的表) like wuhan(复制的对象);

第五种方法---将原表的数据插入新表中
insert into dcs19(name,incoming) select name,incoming from wuhan;             (将wuhan的name,incoming数据复制到dcs19里面)
insert into dcs19 select * from wuhan;                (将wuhan的数据全部复制到dcs19表里面)

drop 语句:删除的语句:(注意:他只能针对表结构,数据结构进行操作,不能针对表数据进行操作)
drop 表结构-----删除主键    删除字段
alter table wuhan1 drop sex;(删除表wuhan1中sex字段)
drop database 数据库    (删除数据库)
drop table dcs19;        (删除表)

select:针对表数据的查询语句:
1,查询所有的信息:select * from 表名;
2,查询指定的字段信息:select id,name from 表名;

where:条件语句:
现在想要查询 id=1 这一行                   例:select * from wuhan where id=1;
select * from wuhan where name="zhangsan";
现在想要查
都是属于linux当中 比较 运算符号  ------    >   <  =  !=
select * from wuhan where id !=3;(查询表wuhan中id不等于3的)
select * from wuhan where id >3;(查询表wuhan中id大于3的)
select * from wuhan where id <3;(查询表wuhan中id小于3的)

逻辑运算符号     ------         
and  :两个必须都满足才会显示结果
id=1   incoming=999.99           例:select * from wuhan where id=1 and incoming=999.99;
or 或:两个必须满足一个才会显示结果
select * from wuhan where id=1 or name="zhangsan"

null:是一个属性,不能使用比较运算符号来进行查询
有自己的查询方法:使用   is           例:select * from wuahan where age is nill;(查询null的属性)
select * from wuahan where age is not nill;(查询不为null的属性)

想要查询 id  2-4行的数据                 
例:1,select * from wuhan where id<=4 and id>=2;
2,select * from wuhan where id limit 2,3;(在wuhan表中从第2行开始查,往后查3行)(id字段查询指定行数)
select * from wuhan  limit 2,3;(直接查指定行数)
3,select * from wuhan where id between 2 and 4;(查询2-4区间)

like  :  备份------ 实现模糊查询 (接%实现模糊查询)
select * from wuhan where name like "%a%"

order by id desc    :降序排序的规则
select * from wuhan order by id desc;
order by id asc     :升序排序的规则
select * from wuhan order by id asc;

删除表数据的方法:delete
delete from wuhan(删除武汉表全部字段)
结合where  条件语句使用:
delete from user where user_id=6;(删除第六个id信息)
and or(也可以尝试结合and和or使用)

修改表的数据的方法:
update 语句:
update wuhan set name = "root" where id =1;
同时修改多个字段的内容:(将内容用逗号隔开)
update wuhan set name = "niuyi",phone =156977976876 where id =1;

truncate:清空数据   例:(truncate wuhan;)

聚合函数:
(函数-----编程当中,可以理解为方法)
count()   统计:select count(id) from wuhan;(统计id有多少个)
avg()     平均值:select avg(id) from wuhan;(求id平均值)
sum()     求和:select sum(incoming) from wuhan;(求incoming的总和)
max()     求最大值:select max(incoming) from wuhan;(查询incoming的最大值)
min()      求最小值:select min(incoming) from wuhan;(查询incoming的最小值)
distinct()  去重:select distinct(name) from wuhan(去除name的重复值)

分组:group by
在使用分组的时候,不要查询所有的字段,会导致数据混乱
select incoming,count(*) from wuhan group by incoming;(查询incoming里面的分组,每个组有多少人)
(聚合函数是可以结合分组函数使用.)              (聚合函数是不能放在group by里面使用的)

面试问题:
having 和 where 都是条件语句
1.where 不能接在 group by 去使用,但是可以接在grou by前面使用 ,having 可以接在 group by 后面使用.
select incoming from wuhan where incoming > 300 group by incoming;(查询incoming大于300的,在incoming分类)
2.where 后面不能接聚合函数使用,having后面可以接        聚合函数
select calss,avg(incoming) from wuhan group by calss having avg(incoming)> 300;(可操作)
select calss,avg(incoming) from wuhan group by calss where avg(incoming)> 300;(不可操作)

需求:求出那个班级的平均薪资大于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;

备份数据库:
linux 里面进行操作
  • mysqldump -uroot -p123456 wuhan19 > /wuhan.sql
  • mysql -uroot -p123456
  • create database wuhan;
  • ctrl+z
  • mysql -uroot -p123456 wuhan < /wuhan.sql



分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册