Mysql常用SQL总结(VIP典藏版)

目录

一、常用SQL语句总结

1 、常用操作数据库的命令

2、修改表的命令

3、对数据的操作

4、多表联合查询

5、DCL 数据控制语言

6、DTL 数据事务语言

二、日常SQL实例

三、SQL训练营

四、参考资料

Mysql常用SQL总结,
穿插各种业务场景及训练SQL,不断完善!
MySQL进阶,面试必备,持续更新!!
总结难免不完善,欢迎补充!!!

一、常用SQL语句总结

规范

    以;结尾
    关键字之间需要空格隔开(可多个)
    语句中可以有一个或多个换行
    关键字不去区分大小写

1 、常用操作数据库的命令

show databases; 查看所有的数据库
create database test character set = gbk; 创建一个叫test的数据库
drop database test;删除一个叫test的数据库
use test;选中库 ,在建表之前必须要选择数据库
show tables; 在选中的数据库之中查看所有的表
create table 表名 (字段1 类型, 字段2 类型);
desc 表名;查看所在的表的字段
drop table 表名; 删除表
show create database test;查看创建库的详细信息
show create table 表名; 查看创建表的详细信息

2、修改表的命令

创建表create table 表名(字段名 类型,字段名 类型...);
创建表使指定字符集和引擎create table 表名(字段名 类型,字段名 类型...) engine=innodb charset=utf8;
查看所有的表show tables;
查看单个表信息show create table 表名;
修改表名rename table 原名 to 新名;
修改引擎和字符集alter table 表名 engine=引擎名 charset=字符集
在表的末尾添加字段alter table 表名 add 字段名 类型;
在表的首位添加字段alter table 表名 add 字段名 类型 first;
在某个字段后添加字段alter table 表名 add 字段名 after 字段名;
删除表字段alter table 表名 drop 字段名;
修改表字段的名称和信息alter table 表名 old new newType;
修改字段类型和位置:alter table 表名 modify 字段名 新类型 first/after 字段名;
添加字段并指定位置  alter table 表名 add 字段 字段类型   after 字段;
修改指定的字段  alter table 表名 change 原字段名字  新的字段名字 字段类型

3、对数据的操作

    1.增加数据(insert)3种方式
        全表插入insert into 表名 values(值1,值2...);
        指定字段插入insert into 表名(字段1,字段2...) values(值1,值2...);
        批量插入insert into 表名 values(值1,值2..),(值1,值2..);
        指定字段批量插入insert into 表名(字段1,字段2...) (值1,值2..),(值1,值2..);

    2.删除数据(delete) delete from 表名 where 条件 注意:where 条件必须加,否则数据会被全部删除
    3.更新数据(update)  update 表名 set字段1 = 值1, 字段2 = 值2 where 条件
    4.查询数据(select)
        4.1 查询表中的所有数据   select * from 表名
        4.2 指定数据查询    select 字段 from 表名
        根据条件查询出来的数据  select 字段 from 表名 where 条件 (最常用的)
        where 条件后面跟的条件
         关系:>,<,>=,<=,!=  
         逻辑:or, and
         区间:id between 4 and 6 ;闭区间,包含边界

    5.排序
    select 字段 from 表 order by 字段  排序关键词(desc | asc)
    排序关键词 desc 降序 asc 升序(默认)
        5.1 通过字段来排序
        例如 :select * from star order by money desc, age asc;   
        5.2 多字段排序
        select 字段 from 表 order by 字段1  desc |asc,...字段n desc| asc;
    6.常用的统计函数 sum,avg,count,max,min
        只分组:select * from 表 group by 字段
        例子: select count(sex) as re,sex from star group by sex having re > 3;
        分组统计: select count(sex) from star group by sex;
    7.分组 分组查询 group byselect * from 表名 where ... group by ... having...order by ...limit 偏移量,数量;
        说明:
            8.1.不写偏移量的话就是默认的为0
            8.2.实现分页的时候必须写偏移量
            偏移量怎么计算?:
            limit (n-1)*数量 ,数量
    8.子查询:嵌套在sql语句中的查询语句

    作为查询条件写在where/having后面
    创建表create table name as (…)
    写在from后面当成新表使用select 字段 from (select ... from 表名...) t1;

    9.关联查询:同时查询多张表的数据称为关联查询
    等值连接select * from A,B where A.x=B.y and ...;
    内连接select * from A join B on A.x=B.y where ...;
    外连接select * from A left/right join B on A.x=B.y where ...;

4、多表联合查询

 1.内连接
    隐式内连接 select username,name from user,goods where user,gid=gods,gid;
    显示内连接
    select username,from user inner join goods on user.gid=goods.gid;
    select * from user left join goods on user.gid=goods.gid;
 2.外链接
    左连接 包含所有的左边表中的记录以及右边表中没有和他匹配的记录
    右连接
    select * from user where gid in(select gid from goods);
    select * from user right jOin goods on user.gid=goods.gid;
    子嵌套查询
    数据联合查询
    select * from user left join goods on user.gid=goods.gid union select * from user right join goods on user.gid=goods.gid;
    两个表同时更新
    update user u, goods g set u.gid=12,g.price=1 where u.id=2 and u.gid=g.gid;

5、DCL 数据控制语言

创建用户:create user'xiaoming'@'localhost' identified by '666666';
授权用户:grant all on test.*to'xiaoming'@'localhost';
刷新权限:flush privileges;
取消授权:revoke all on test.* from 'xiaoming'@'localhost';
删除用户: drop user'xiaoming'@'localhost';

6、DTL 数据事务语言

开启事务:set autocommit=0;
操作回滚:rollback;
提交事务:commit;

二、日常SQL实例

Mysql数据库各种情况下密码修改
MySql查询当天、本周、本月、本季度、本年的数据
SQL中计算百分比
sql查询字段替换值case when then
字段为null添加执行另外一个条件
not in使用报错
count(*)、count(1)、count(id)、count(字段)的区别与性能分析
MYSQL主从复制、主主复制、双主多从配置

三、SQL训练营

SQL基本命令
数据库基本操作
SQL超实用查询汇总
SQL训练之学生表

四、参考资料

Mysql语句整理大全 - 代码创造一切 - 博客园

mysql sql常用语句大全_神奇的老黄的博客-CSDN博客_mysql的sql语句

MySQL的sql语句整理(超详细)_笑不语的博客-CSDN博客_mysql sql 语句

MySQL语句整理及汇总介绍

Mysql常用语句整理 - peng_boke - 博客园

MySQL语句汇总整理-云海天教程

MySQL常用语句整理__Wyatt的博客-CSDN博客


  • 18
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕白Lee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值