找回密码
 立即注册

dcs68txy

新手上路

  • 12

    积分

  • 2

    帖子

  • 0

    精华

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
查询张三的信息,告诉张三的年纪的多少?
select * from stu where name='张三';       显示名字叫张三这人的所有信息
select age from stu where name='张三';   只显示张三做个人的年龄是多少

between x and y            条件是  x 到 y 之间的信息,包涵起始值x和y。
例如:select * from sheet where age between 18 and 28;  查询sheet表里面,age(年龄)在18到28之间的人的所有信息。

is null     条件是 为空     列如:查找年龄为空的人的所有信息:select * from sheet where age is null
is not null   条件是 不为空

模糊匹配 开头、结尾、中间
like‘值%’            开头
like‘%值’            结尾
like‘%值%’        中间
例如:
select * from sheet where name like‘zh%’    在sheet中找出所有name里开头是zh的人的所有信息。


limit x;只看前x行     指令格式:select * from sheet limit x;
查看某行到某行:
查看表中数据的x-y行的内容 x-1=n      y-n=m         则:limit n,m;为查看x到y行的内容;
select *from sheet   limit n,m;
例如:
查找sheet表中的数据 6-10行的数据  6-1=5      10-5=5
       select *from sheet   limit 5,5;
查找sheet表中的数据 8-25行的数据  8-1=7      25-7=18
       select *from sheet   limit 7,18;





排序:
从大到小:降序  order by  排序的表结构 desc
select * from sheet order by age desc    表中所有信息按照年龄从大到小排序

从小到大:升序  order by 排序的表结构 asc
select * from sheet order by age asc      表中所有信息按照年龄从小到大排序

注意 order by 前面不能直接加where条件表达式
列如:where order by age asc    此指令错误
只能先将条件表明在接排序,
例如:select * from sheet where name=‘zhangsan’ order by age asc;只将sheet表中name叫张三的人按照年龄排序后,显示所有信息。


分组(去重)
select * from sheet group by name ;去除名字里的重复项,重复项只取靠前的第一个数据

聚合函数:统计、求最大最小值、求和、求平均
统计
select  count(*)from sheet;统计表中总行数;
select  count(*)as a from sheet 统计表中行数将值,赋予给a,(取别名/赋值/定义变量)
也可写作:select  count(*)a   from sheet   (简写)

求最大值/最小值
select max(目标表结构)  from 表名称;       求目标表结构的最大值是哪个
select min(目标表结构)  from 表名称;        求目标表结构的最小值是哪个

求和
select sum(目标表结构)  from 表名称;       求目标表结构的和是多少

求平均
select avg(目标表结构)  from 表名称;        求目标表结构的平均值是多少




having相当于where条件,where是不能直接使用聚合函数,having可以,如果某些情况使用where不行,可以尝试having。一般having是结合group by使用且是放在group by 后面。

面试常问题:  如何去重
答:distinct   和gruop by 可以去重

备份
备份表结构:like
create table sheet1 like sheet
新建一个sheet1的表且表结构和sheet一样。
注意:表结构可以备份,数据不会备份,即两表表结构一样,但新表表数据为空。

备份表数据:
insert into sheet1 select * from sheet;将sheet的数据全部备份到sheet1中
insert into sheet1 select (name,age)select name,age from sheet;
只把sheet表中的name和age备份到sheet1中去,其他选项为空(null)。

备份数据库到 Linux系统目录里面
到Linux系统目录下
备份:mysqldump -uroot -p123456 数据库名称>备份文件名称
将数据库里面的表备份到linux文件里面
还原:mysql -uroot -p123456 备份文件名称<还原数据库名称
将linux系统文件备份里的内容还原到数据库

分享至 : QQ空间
收藏

0 个回复

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