找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
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  
   
















分享至 : QQ空间
收藏

0 个回复

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