找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
null:表示空值。在使用where条件子句刷选时 使用is null 或者is not null  不能使用=。
select name from stu where age is null==》正确用法,查询年龄信息为空的人名

select name from stu where age = null ===》查询的内容为空,不能这样使用

like子句:模糊匹配
like主要用于做一些简单的查询,或者称为模糊匹配。表达式主要涉及两个符号:
        百分号:%   表示匹配任意多个字符
        下划线:_     表示匹配固定一个字符

select name from stu where name like '张%'==》查询名字以张开头的所有人
select name from stu where name like '%张' ==》查询名字以张结尾的所有人
select name from stu where name like '%张%'  ==》查询名字中包含张的所有人


select name from stu where name like '张_';   ==查询名字叫张某的所有人,张后面只能是一个字符
select name from stu where name like '_张';  ===》查询名字叫某张的所有人
select name from stu where name like '_张_; ===》查询名字叫某张某的所有人

limit m..n
        表示查询的数据从M行开始(起始行从0开始)往下数N行   1,5
        select * from stu limit 3,4;  ==》M为3,实际就是从第4行开始,往下数4行。就是4-7行

       


排序:order by   (desc 降序,asc 升序)
select * from stu order by age asc==》将age字段进行升序排列 升序的asc可以不写
select * from stu order by age desc   ==》将age字段进行降序排列
select * from stu order by class ,age desc; 以class字段进行升序的前提将age字段降序排列



分组:group by
        将返回的数据进行分组,展示每个分组的第一条记录,其它数据隐藏,一般和聚合函数在一起使用。
        分组的意义,就是为了统计和估量每个分组下指标情况,平均成绩,总成绩,统计人数

having:都是条件子句:过滤申明,筛选满足条件的组,就是在分组之后过滤数据,having子句中可以包含聚合函数
where:都是条件子句:约束申明,是在对查询结果分组前,将不符合条件的去掉,分组前过滤数据,where语句后面不能接聚合函数


聚合函数(聚组函数): 聚合函数后面不能带其它字段,只能带一个分组的字段
max():求最大值
select max(age) from stu  ===》求表中最大年纪
select max(age) from stu where class=11==》求11班最大年纪

min()最小值
select min(age) from stu  ===》求表中最小年纪
select min(age) from stu where class=11==》求11班最大年纪

avg()平均值
select avg(age) from stu ==》求平均年龄

count() 统计
select count(*) from stu where class=12==》统计12班的人数

sum()求和
select sum(age) from stu where class=11 ==》求11班的年龄之和

sql语句中的函数:
distinct() 去重
select distinct(class) from stu==》查询学生来自哪些班级,使用distinct去重

floor() 去浮点数
select floor(avg(age)),class from stu group by class==>去掉小数点部分,只保留整数部分

求出每个班的平均年龄==》avg(age)   ,group by class
select avg(age).class from stu group by class
求年龄和大于85岁的班级以及年龄和
select sum(age),class from stu  group by class having sum(age)>85

男生年龄和大于60岁的班级
select sum(age)as aa,class cc from stu where sex=1 group by cc having aa>60


数据表和数据库的备份
表:
1.创建一个新表和需要备份的表 表结构一样
create table student21 like stu
2.然后再将数据写入到新表
insert into student21 select * from stu   ==》insert into student21 values(值),(值)
将stu表中所有字段数据写入到studen21表中

insert into student21(id,sex) select id,sex from stu
将部分字段数据写入新表中

数据写入的表必须存在,且没有任何数据

库:linux命令,  .sql文件为数据库备份文件
show databases  ===》查看有哪些库
use 库名 ==》进入某个库
show tables ==》查看库中所有的表
desc 表名 ==》查看表结构
select * from 表 ==》查看表所有数据

1.数据库备份
mysqldump -uroot -p密码 dcs>file1.sql  
将dcs库备份为file1.sql文件   ===》file1.sql文件必须为不存在的文件

2.数据库还原
先在数据库中新建一个库==》create database dcs
msyql -uroot -p密码 dcs <file1.sql


分享至 : QQ空间
收藏

0 个回复

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