【MySQL】MySQL基本语句大全

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【MySQL】MySQL基本语句大全

斜体样式在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️MySQL】


@[toc]


前言

结构化查询语句分类

名称 解释(命令)
DDL(数据定义语言) 定义和管理数据对象,如数据库,数据表等(CREATE、DROP、ALTER)
DML(数据操作语言) 用于操作数据库对象中所包含的数据(INSERT、UPDATE、DELETE)
DQL(数据查询语言) 用于查询数据库数据 (SELECT)
DCL(数据控制语言) 用于管理数据库的语言,包括管理权限及数据更改 (GRANT、COMMIT、ROLLBACK)

MySQL语句大全📚

注:MySQL不区分大小写,所有符号必须使用英文格式下的

DDL(对数据库和表的操作)🤖

create database database-name//创建数据库
drop database dbname //创建数据库
use 数据库名//选择数据库
create table tabname(
字段名1 类型,
字段名2 类型,
字段名3 类型,…);//创建新表
根据已有的表创建新表
A:create table 新表名 like 旧表名(使用旧表创建新表)
B:create table 新表名 as select 列名1,列名2… from 旧表名 definition only
drop table tabname//删除表
desc 表名//显示表的属性信息
alter table 表名 add 列名 类型 //增加一个列名
指定列名后面添加列名
alter table 表名 add 已有列名 after 列名 类型
first:第一个,before:前一个,end:最后
alter table 表名 drop 列名//删除一个列名
alter table 表名 change 旧列名 新列名 类型//修改一个列名
alter table 表名 modify 列名(已有) 新的类型//修改类型
Alter table 表名 add primary key(列名)//添加主键
Alter table 表名 drop primary key(列名)//删除主键

alter table 表名 add foreign key(列名) references 表名(主键)//添加外键
删除外键:需要找到外键特有的名称
------------------------------------
①not null:非空约束
②unique:唯一约束
③primary key:主键
④foreign key:外键
⑤auto_increment:自增长
⑥default:设置默认值 例:default ‘值’//约束类型

DQL(查询语句)💻

关键字🔬

  1. or:或
  2. and:和
  3. having:分组后的附加条件
  4. group by:分组
  5. order by:排序:asc:正序,desc:倒序
  6. in:存在于某个值中
  7. not in:不存在与某个值中
  8. inner join … on链接多表
  9. left join … on:左外连接
  10. right join … on:右外连接
  11. left(right,inner) out join … on:去重
  12. count:计数
  13. AVG:平均值
  14. sum:求和
  15. max:最大值
  16. min:最小值
  17. like ‘%关键字%’:取含有关键字的值
  18. distinct:去重
  19. round:四舍五入
  20. where 1=1:全选
  21. where 1=2:全不选
  22. limit 1,5:从第二行开始显示5条数据
  23. top 10:select top 10 * from 表名:显示前十条数据
  24. newid():随机
select * from 表名 where 范围//选择查询
select * from 表名//完全查询
select * from 表名 where 列名 like ‘%value%’(查询包含value的值)//模糊查询
select * from 表名 order by 列名 desc//排序查询(倒序,默认为正序)
select count as 别名 from 表名//计数查询
select sum(field) as 别名 from 表名//求和查询
select avg(filed) as 别名 from 表名//平均值查询
select max(filed) as 别名 from 表名//最大值查询
select min(filed) as 别名 from 表名//最小值查询
select round(min(filed),要保留的小数位数) as 别名 from 表名//四舍五入查询
select distinct 列名 from 表名//去重查询
select * from 表名 group by 列名//分组查询
select * from 表名 where 列名=‘范围’ and 列名=‘范围’//多条件查询
select * from 表名 where 列名=‘范围’ or 列名=‘范围’//不确定条件查询
select 列名,min(filed)from 表名 where 列名=‘范围’ group by 列名 having sum(列名)
//多条件分组求值查询
select * from 表名 where=(select id from 表名 where 列名=‘范围’)
//子查询(子查询的结果作为主查询的条件)
select * from 表名 inner join 表名 on 主键=外键(必须有主外键)
//连表查询(内连接)
select * from 表名 inner out join 表名 on 主键=外键(必须有主外键)
//连表查询(内连接)(去重)
//*注:内连接只显示相关联的数据*
连表查询(左外连接)(显示左表的全部信息和右表相关联的信息):
//连表查询(左外连接)(显示左表的全部信息和右表相关联的信息)
select * from 表名 right join 表名 on 主键=外键(必须有主外键)
//连表查询(右外连接)(显示右表的全部信息和左表相关联的信息)
select * from 表名 full/cross join 表名 on 主键=外键(必须有主外键)
连表查询(全外连接)(显示两个表中的所有记录)

高级查询运算词

A:union(结合两个结果表并消除其中的重复行而派生出另一个表)
例:select name from 表名1 union select name from 表名2(去除name的重复行)
B:except(通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表)
C:intersect(通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表)
注:当这三个运算符与all一起使用时不消除重复行


DML(数据操作语句:插入、修改、删除)🤖

数据插入

完全插入:insert into 表名 values(值1,值2,值3,…)
选择插入:insert into 表名(列名1,列名2,列名,3…) values(值1,值2,值3,…)
批量插入:insert into 表名 values(值1,值2,值3,…),(值1,值2,值3,…),(值1,值2,值3,…)…
注1:完全插入可以省略列名,但是值必须包含所有字段,批量插入类同
注2:选择插入必须选择需要插入的字段,选择对应字段的值,批量插入类同

修改语句

update 表名 set 列名=‘值’ where 列名=‘范围’
where 1=1(全选)
where 1=2(全不选)
注:不加where条件为修改所有指定列的值

删除语句

delete from 表名 where 列名=‘范围’
注:不加where条件为删除所有的值

在这里插入图片描述

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
索引
ElasticSearch 报错及解决 详细 0405【已解决】
ElasticSearch 报错及解决 详细 0405【已解决】
1092 4
|
存储 Kubernetes 算法
开源免费的对象存储Minio
Minio是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合存储大容量、非结构化的数据。例如,图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小的,从几KB到5TB不等。
2028 0
|
7月前
|
消息中间件 安全
为什么会选择使用RabbitMQ ? 有什么好处 ?
选择使用RabbitMQ是因为RabbitMQ的功能比较丰富 , 支持各种消息收发模式(简单队列模式, 工作队列模式 , 路由模式 , 直接模式 , 主题模式等) , 支持延迟队列 , 惰性队列而且天然支持集群, 保证服务的高可用, 同时性能非常不错 , 社区也比较活跃, 文档资料非常丰富 使用MQ有很多好处: ● 吞吐量提升:无需等待订阅者处理完成,响应更快速 ● 故障隔离:服务没有直接调用,不存在级联失败问题 ● 调用间没有阻塞,不会造成无效的资源占用 ● 耦合度极低,每个服务都可以灵活插拔,可替换 ● 流量削峰:不管发布事件的流量波动多大,都由Broker接收,订阅者可以按照自己的速度去
|
Java 开发工具 Maven
IDEA git操作技巧大全,持续更新中
IDEA git操作技巧大全,持续更新中
239 0
|
7月前
|
存储 Linux 网络安全
如何从CentOS7升级到8?CentOS8最新安装教程
从CentOS 7升级到8只需三步:清理系统、更换软件包及存储库、安装新内核与发布版本。首先确保系统最新并清理冗余包,接着替换基础系统包为CentOS 8版本,最后通过DNF工具完成内核更新与系统同步。整个过程需在终端执行,建议升级前备份VPS快照以防数据丢失。此方法可避免重装系统导致的数据清除问题,实现平滑升级。
954 6
|
12月前
|
关系型数据库 MySQL Java
【MySQL】基础语法大全
【MySQL】基础语法大全
462 0
|
12月前
|
Java API Apache
Springboot+shiro,完整教程,带你学会shiro
这篇文章提供了一个完整的Apache Shiro与Spring Boot结合使用的教程,包括Shiro的配置、使用以及在非Web和Web环境中进行身份验证和授权的示例。
656 2
Springboot+shiro,完整教程,带你学会shiro
|
12月前
|
存储 开发工具 git
Git 远程仓库地址管理:添加、修改和验证
Git 远程仓库地址管理:添加、修改和验证
812 4
|
Java Maven Spring
【Spring Boot自动装配原理详解与常见面试题】—— 每天一点小知识(下)
【Spring Boot自动装配原理详解与常见面试题】—— 每天一点小知识(下)
622 0
|
存储 Linux Apache
释放磁盘空间:解决文件删除但空间未释放的困扰
在管理Linux系统的日常中,最令人头疼的时刻之一就是发现尽管已删除了巨大的文件,但是磁盘空间的占用率仍然没有任何下降。这种情况不仅让我怀疑自己的操作是否正确,同时也给操作系统的运行带来了隐患。 究竟问题出在哪,又该如何解决?本次记录,将演示释放磁盘空间:解决文件删除但空间未释放的困扰。
释放磁盘空间:解决文件删除但空间未释放的困扰