zoukankan      html  css  js  c++  java
  • MySQL知识点总结

    MySQL知识点总结

    一、      MySQL常用命令

    1. 启动MySQL服务:service mysqld start 或 systemctl start mysqld.service
    2. 停止MySQL服务:service mysqld stop 或 systemctl stopt mysqld.service
    3. 重启MySQL服务:service mysqld restart 或 systemctl restart mysqld.service
    4. 查看MySQL服务状态:service mysqld status 或 systemctl status mysqld.service
    5. 连接MySQL:mysql –uroot –p
    6. 退出mysql服务:exit
    7. 查看用户数据库权限:show grants;
    8. 查看数据库:show databases;
    9. 重命名数据库:rename database 原数据库名 to 新数据库名
    10. 删除数据库:drop database 数据库名;
    11. 使用数据库:use 数据库名;
    12. 查看数据库包含的表:show tables;
    13. 重命名表:alter table 原表名 rename to 新表名; 还可使用:rename table 数据库.原表名 to 数据库.新表名; (可用于表在数据库的迁移)
    14. 创建表:create table if not exists 表名(表头1 数据类型(数据长度) primary key,表头2,数据类型(数据长度))engine=innodb default charset=utf8;
    15. 复制表:create table 新表名 as ( select * from 表  [where 条件] );
    16. 只复制表结构:create table 新表名 as ( select * from 表 where null);
    17. 查看表结构:desc 表名;
    18. 新增字段:alter table 表名 add 表头 数据类型(数据长度);
    19. 删除字段:alter table 表名 drop 表头 ;
    20. 修改字段:alter table 表名 modify 原表头 新表头 数据类型(数据长度);
    21. 添加外键:alter table 表名 add constraint 索引名(一般以fk_开头) foreign key(外键名) references 关联外键的表名(关联的主键字段);
    22. 插入数据:insert into 表名 ( 列名1,列名2,...,列名n ) values ( 值a1,值a2,...,值an ), ( 值b1,值b2,...,值bn ),…;
    23. 删除数据:delete from 表名 [where 子句];
    24. 快速删除数据:truncat 表1;删除表1后创建一个新的表,结构名称与表1相同;
    25. 修改数据:update 表名 set 列名1=新值1, 列名2=新值2 [where子句];
    26. 查询数据:select 列名1,列名2 from 表名 [where子句];
    27. 引入sql脚本:source 文件路径/文件.sql

    二、      MySQL where子句

    使用where子句查询可分为精确查询和模糊查询

    比较符有:=、>、<、=、>=、<=、!=、<>

    逻辑符号有:and、or 、not

    范围运算符:between … and ..、in、not in

    模糊运算:like ‘%_’:%匹配任意字符,_匹配单个字符;

    空运算:null、is null、not … is null

    子查询:select 字段 from 表 where 字段 in ( select…from…);

    三、      group by

    select 字段 from 表 group by 字段 having 条件;

    having作用与where相似,不能与where一起用,可单独用where:select 字段 from 表 where 条件group by 字段 。

    四、      order by

    select 字段 from 表 order by 字段1 排序,字段2 排序,….

    MySQL中默认为升序排序:asc;降序排序显示为desc。

    五、      limit

    select 字段 from 表 limit n1 :查询表前n1条数据;

    select 字段 from 表 limit n1,n2:查询表行号为n1行为开始行的n2条数据。

    六、      查询常用函数

    查询语句中常用函数有求和sum()、最大值max()、最小值min()、平均值avg()、统计行数count()、连接查询结果concat() as 、去除重复项distinct

    count( )

    count(1)和count(*)包含null值,统计行数等于原表记录行数;

    count(非空字段) 不计算null值,统计行数等于原表记录行数;

    count(null值字段)不计算null值,统计行数小于等于原表记录行数;

    count(null)结果恒为0。

    concat(‘常量’,字段) as ‘别名’

    concat()函数可以将查询结果连接在一起作为一列输出。

    七、      多表查询

    当需要使用多表进行查询时,需要先考虑查询的数据来源(表),再分析表与表之间的联系;

    多表查询除了外连接和内连接,还可以自连接进行查询。

    内连接:… inner join…on…

    select 字段 from 表join表2 on 联系字段 join表3 on 联系字段

    外连接:left join, right join

    左外连接:表1 left join 表2 on 联系字段;保留左边的表的全部数据,不管右边是否有对应数据匹配;

    右外连接:表1 right join 表2 on 联系字段; 保留右边的表的全部数据,不管左边是否有对应数据匹配;

    八、      union

    union把多个sql语句的执行结果,合并到1个结果中;sql语句的查询字段必须相似,否则会报错。

    union操作符: 默认会去除多个结果中的重复信息;

    union all 操作符: 返回多个结果中所有信息(不会去除重复信息)。

  • 相关阅读:
    mysql常用命令(2)
    mysql常用命令(1)
    svn使用方法介绍(1)
    java设计模式
    maven常见错误
    Powershell上线MSF
    Alibaba Nacos 认证绕过
    好视通-视频会议存在弱口令&任意文件下载漏洞
    金山 V8 终端安全系统存在默认口令
    (CVE-2021-3297)Zyxel NBG2105身份验证绕过漏洞
  • 原文地址:https://www.cnblogs.com/ttj57/p/13203241.html
Copyright © 2011-2022 走看看