找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
and 和 or:满足多条件情况
and:且,表示同时满足多个条件
select id from stu where sex=1 and name='张三'
or: 或,表示满足其一即可
select name from student where age=40 or age=30
[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\5e3c72fcfffd47e5a8bd647bb95e6528\{)sbk[a3t{jta0@v83%woxr.png[/img]

between and:一个整数取值范围
select * from stu where age between 23 and 30
查询年龄为23到30的所有人信息
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\4d5339cc1ca24b6292607a5c5581e1cc\y3qbdogha${72()pg)~0_4h.png

in:它限制的是一个集合,只要字段的值在集合中就符合条件,not in 不在集合中
select * from stu where age in (23,26,31,47)==》在集合中就符合查找条件
select * from stu where age not in (23,26,31,47)==》不在集合中就符合查找条件
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\84aef0be605946c89c32fa16174045c4\krz}m8z]40lmmjzt%ho]fvd.png

null:表示空值,在使用where条件子句筛选时使用is null 或者is not null 不能使用=。
select name from stu where age is null;==》正确用法,查询年龄信息为空的人名
select name from stu where age = null;==》查询内容为空,不能这样使用。
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\4d27e88727834c33b68e29f4d35be3ee\nr5]bkuiy]wy}mnalq`pt_y.png
==========11.17==================================
like:模糊匹配
like主要用于一些简单的查询,或者称为模糊匹配,表达式主要涉及两个符号:
     百分号:% 表示匹配任意多个字符
     下划线:_ 表示匹配固定一个字符
relect name stu where name like '张%'==》查询名字以张开头的所有人
relect name stu where name like '%张’==》查询名字以张结尾的所有人
relect name stu where name like '%张%’==》查询名字中包含张的所有人

relect name stu where name like '张_'==》查询的名字叫张某的所有人
relect name stu where name like '_张'==》查询的名字叫某张的所有人
relect name stu where name like '_张_'==》查询的名字叫某张某的所有人
[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\f0b4c09e6e984e15bc78e79ad872418c\8(v[fubibcvtg[h(la@q0`d.png[/img]

limit m...n
           m=起始数(起始行从0开始,比如4-7行,则m为3,n为4)
           n=行数
           表示查询数据从m行到n行(起始行从0开始)往下数N行 1,5
            relect  * from stu limit 3,4==》查询第4-7行内容
           因为起始位为0,m=3第4行就用3表示,n=4 往下数4行。

[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\f929d4c5ee0541ffa05581575b4ba15e\6(x6o6{zy%$$o31[p@fd)fm.png[/img]

排序:order by +字段 默认升序 (asc 开不加)
         select * from stu order by age ==》年龄升序查看
         select * from stu order by age desc==》年龄降序查看
[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\602a6d2c92784676b2ee0412657cbe20\3{kgcjdhr79s3@3i9518u[t.png[/img]

[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\fc0f5c4fd5134e5dab17c084ed0fbcd6\3$km)[p7ekb9]k46j]2zfo6.png[/img]
分组:group by
           将返回的数据进行分组,展示每个分组的第一条记录,其他数据隐藏,一般和聚合函数在一起使用。
分组的意义就是为了统计和估量每个分组下指标情况,平均值,求和,统计人数。

[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\09083b3bc725486c8b8a9e32cfe6f470\}p@k@5c78md2ee7dkc2m3wg.png[/img]
聚合函数:聚合函数后面不能带其他字段,只能带分组字段。
max():求最大值
select max(age)from stu;==》查看(求)最大年纪
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\0856bd1fbc70491098afddc3f0cb0edf\shq5mmxx8%dz`%r44]vds5e.png
min():最小值
select main(age)from stu;==》查看最小年纪

avg():平均值
select avg(age)from stu;==》查看平均年纪
[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\a652cd039f6f4363adbdc89e1d9b2fd8\lbyisp~cvq`k%xj5@yzl31h.png[/img]
sum():求和
select sum(age)from stu where class=12;==》查看12班年龄之和
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\fb427fd188aa4fe2b4e3b441244c2fcb\em8ktfz~]6th3yqv$auj%h7.png

count():统计
select count(*) from stu where class=12;==》统计12班的人数 count(*)
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\ac4930c560a04f20a2d30b336fb6b06a\5i1}v)1j{ik~@oxmk)ysv}v.png
distinct():去重
select distinct(class)from stu;==》查询stu表中的学生来自那些班级,需要distinct函数去重。
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\6bdb6bf659d442dbaf9541fe95cc0004\i$id3clz}5uul(4%9_`vdo9.png

floor():去浮点数
select floor(avg(age))from stu where class=12;
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\05c059e710ec4570984509f6132b79bb\~~77geixe96_ot8hqu5jt}6.png
select avg(age) from stu group by class;

where:条件子句:约束声明,在分组之前,将不符合条件的去掉,分组前过滤数据,where语句后面不能接聚合函数。
having:条件子句:过滤声明,筛选满足条件的组,就是在分组之后数据过滤,having子句中可以包含聚合函数。
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\742e645e7a5142028813933d6187e077\7m4]9q{kj9m}8a~4q]@)yxy.png


C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\697bcd7edb85455b93d3bfa54fc811b8\)@1l@{{d)afw}e]7c2c1$h0.png

[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\2923af4ca17b4fd092f8ecb5a7030fdc\}p@k@5c78md2ee7dkc2m3wg.png[/img]

数据表和数据库备份
表:
1.创建一个下表和需要备份表 表结构一样
create table student21 like stu;
[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\cbc84310aaa04ea896e1f08bab49a4c3\r)[kb}3271pz9o)0%3r@blo.png[/img]
2.然后再将数据写入到新表
insert into student21 select * from stu==》insert into student 21 values(值),(值)
将stu表中所有字段数据写入到student21表中

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

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

1.数据库备份
mysqldump -uroot -p密码  dcs>file1.sql
将dcs库备份为file1.sql文件==》file1.sql文件必须为不存在的文件
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\72288c9b0cc740c1b6287352ecb7f45f\a`6ie0b0]5`ju]u4yvs5s_2.png
2.数据库还原
先在数据库中新建一个库==》creat database dcs
mysql -uroot -p密码 dcs<file1.sql
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\979e83db8fd64caaa5913f2324267a17\36)7i%~s80u_e0le8(jb30i.png


分享至 : QQ空间
收藏

0 个回复

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