武汉15期-骆元 发表于 2022-5-4 12:03:59

mysql使用命令

like 用来模糊匹配内容:
        %:匹配
        %在前面 就匹配字符前面的内容
        %在后面 就匹配字符前面的内容
       


       
        limit: 查询行数:
        查询2-5行的类容:
        select * from wuhan where id limit 1,4:
       


        limit 后面的1代表从第一行开始,但是不会包含
        第一行(就是从2开始)., 4代表查询的总行
       
       
        order by 排序你有没有感觉你嘴臭了?:
        order by 可以按照升序排序,也可以按照降序排序内容
       


        select * from wuhan order by id desc :从大到小降序排序
       


        select * from wuhan order by name acs;从小到大升序排序
        所有的存储的内容,asc desc都是按照ascii顺序表进行排序
       
       
       
update 语句:


        update wuhan set class = 16.88 where class = 0.00
        将class 修改为16.88 where 加条件 我只要改class = 0.00
        的数据
       
       


        注意:使用update 进行修改的时候记得加上where ,不然修改
        全部内容


       
        面试问题:
        update 怎么同时修改两个字段的内容?
        加逗号.


        update wuhan set



name="wangsan",time = "2022-05-01"
        where id = 1;
       
       
        delete:删除数据:


        方法一:delete from wuhan; 删除全部数据
        注意:使用delete 进行修改的时候记得加上where ,不然修改
        全部内容
       
        方法二: truncate wuhan; 删除表中所有的内容
       


        面试问题:数据库当中的DDL语句,和DML分别是什么有哪些?
       
        DDL 数据定义的语句:create drop truncate,grant .这些
        语句叫做ddl 语句,他是针对表的结构或者权限的操作.
        叫做DDL数据定义语句
       
        DML:数据操作语言:select update,delete insert 这些都属
        于DML语句,针对数据的操作 ,(增删改查)
       

数据库的备份以及还原的操作:

        一,备份:
        备份还原数据库都是在linux操作系统下面完成.






        1.返回linux系统.
        2.当前有一个wuhan15数据库,针对wuhan15进行备份
        3.mysqldump -uroot -p wuhan15 > /wuhan15.sql







        4.输入密码
        5.备份完成,查询sql文件有没有内容
       


       

二,还原数据库备份文件:
        1.在数据库当中新建一个数据库:
        create database dcs;
        2.在返回linux 系统进行数据还原操作.
        3.mysql -uroot -p dcs < wuhan15.sql
       
       
        select database();查询当前使用的数据库
        select version();查询当前数据库的版本:
        select user();查询当前正在操作数据库用户
       
       
group by 分组:


        SELECT * FROM wuhan group by age;
        age 所有年纪一样的归在一起
        18:
        20:
        21:
        group by 一般接聚合函数使用:
       
        COUNT(*) : 统计
        SELECT count(*) FROM wuhan group by age;
       
        注意:分组完成之后,不要接其他的字段进行查询.
        可以接分组字段,聚合函数字段.
       
        max() 求最大的值.


        select max(age) from wuhan15;
        min() 求最小的值.






        select min(age) from wuhan15;
        sum() 求和
        select sum(age) from wuhan15;
        avg 求平均值
        select avg(age) from wuhan15;
        distinct() 去除重复的数据

where 和 having的区别:
        区别一:
        where 但是这里讲了group by ,分组完成之后
        他是不能接 where 的条件语句,但是分组之前
        可以接where条件
       
        区别二:
        having 在group 后面他是先分组完成之后
        在去按分组的条件 增加条件(having)
       
        where 在group by 前面 sql 语句他是会先
        执行where 然后 在根据where 的 结果进行
        group by 分组

        区别三:
        where 条件不能接聚合函数
       
        having 后面可以接聚合函数
        求平均年纪大于19岁的组.


        select avg(age),class from wuhan15 group by class
        |19.5000 |
        |19.0000 |
        |20.0000 |
        求出平均年纪大于19的组
        having avg(age)> 19
       
        求出来的结果就是
        +----------+-------+
        | avg(age) | class |
        +----------+-------+
        |19.5000 |   1 |
        |20.0000 |   3 |
        +----------+-------+
       
       
+------+----------+------+---------+---------+------+-------+
| id   | name   | age| chinese | english | math | class |
+------+----------+------+---------+---------+------+-------+
|    1 | lisi   |   18 |      55 |      86 |   66 |1833 |
|    2 | zhangsan |   21 |      66 |      98 |   77 |1832 |
|    3 | niuwu    |   20 |      77 |      90 |   99 |1833 |
|    4 | zhaoniu|   17 |      61 |      71 |   88 |1832 |
|    5 | liuba    |   21 |      88 |      59 |   74 |1832 |
|    6 | huahua   |   21 |      98 |      99 |   44 |1834 |
+------+----------+------+---------+---------+------+-------+

1.查询1832班的成绩信息:        1
2.查询1833班 语文大于60 数学大于60 学员的成绩信息
3.查询表中3-5行的数据
4.查询1832班 语文成功为66 英语为98学员的姓名和年纪
5.查寻1832班的成绩按照语文成绩进行降序排序
页: [1]
查看完整版本: mysql使用命令