【MySQL】基础语法总结

MySQL 基础语句

一、DDL 数据库定义语言

1.1CREATE 创建

1.1.1 创建数据库

语法结构

CREATE DATABASE database_name;

示例

CREATE DATABASE demo;

1.1.2 创建表

语法结构

CREATE TABLE 表名 (1 数据类型,2 数据类型,...
);

示例

CREATE TABLE new_user (id INT PRIMARY KEY,name VARCHAR(50),age INT
);

1.1.3 创建视图

语法格式

create view <视图名> as select查询语句

示例

create view user_view as select id,user_id,user_name from `user`select * from user_view

1.1.4 创建索引

索引名建议以 idx开头。

语法格式

CREATE INDEX 索引名 ON 表名 (列名);

示例

CREATE INDEX idx_user_id ON user (user_id);

可通过explain进行验证

explain select * from user where user_id = 'wu'

在这里插入图片描述

1.2 ALTER 修改

1.2.1 添加列

语法结构

ALTER TABLE 表名 ADD 列名 数据类型;

示例

ALTER TABLE user ADD age int(11) DEFAULT null COMMENT '年龄';

1.2.2 删除列

语法结构

ALTER TABLE 表名 DROP 列名;

示例

ALTER TABLE user DROP user_age;

1.2.3 修改列名

语法结构

ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型;

示例

ALTER TABLE user CHANGE age user_age int(11) DEFAULT null COMMENT '新年龄';

1.2.4 修改列数据类型

语法结构

ALTER TABLE 表名 MODIFY 列名 新数据类型;

示例

ALTER TABLE user MODIFY user_age varchar(16);

1.2.5 修改表名

语法结构

ALTER TABLE 表名 RENAME TO 新表名;

示例

ALTER TABLE user RENAME TO new_user;

1.2.6 创建索引

语法结构

ALTER TABLE 表名 ADD INDEX 索引名 (列名);

示例

ALTER TABLE user ADD INDEX idx_user_id (user_id);

1.2.7 删除索引

语法结构

ALTER TABLE 表名 DROP INDEX 索引名;

示例

ALTER TABLE user DROP INDEX idx_user_id;

1.3 DROP 删除

1.3.1 删除库

语法结构

DROP DATABASE 数据库名称

示例

DROP DATABASE demo

1.3.2 删除表

语法结构

DROP TABLE 表名;

示例

DROP TABLE new_user;

1.3.3 删除视图

语法结构

DROP VIEW view_name;

示例

DROP VIEW user_view;

二、DML 数据库操作语言

2.1 INSERT

2.1.1 插入单条

    INSERT INTO USER (user_id,user_name,create_time,dept_id) VALUES('sa','saname',now(),1)

2.1.2 插入多条

INSERT INTO USER (user_id,user_name,create_time,dept_id
)
VALUES('sa1', 'saname1', now(), 1),('sa2', 'saname2', now(), 1),('sa3', 'saname3', now(), 1)

2.2 UPDATE

UPDATE USER
SET dept_id = 2
WHEREuser_id = 'sa2'

2.3 DELETE

delete from user where user_id = 'sa1'

三、DQL 数据库查询语言

3.1 基础语法结构

select <列名>
from <表名>
where <筛选条件>
group by <列名>
having <聚合筛选条件>
order by <排序字段>
limit <条数限制>

3.2 常见的查询语句

3.2.1 条件查询

大于、小于、不等于

大于

select * from user  where id > 5

小于

select * from user  where id < 5

不等于

select * from user  where id != 5select * from user  where id <> 5
BETWEEN 介于两者范围之内

注意:是包括在内,如下所示 大于等于,而不是大于

select * from user  where id BETWEEN 1 and 3
select * from user  where id >=1 and id <=3
In 在某个范围之内
select * from user  where id in (1,2,4)

3.2.2 逻辑查询

AND
select * from user  where id = 2 and user_id = 'wu'
OR
select * from user  where id =1 or user_id = 'wu'

3.2.3 DISTINCT 查询不重复

select DISTINCT(user_name) from user 

3.2.4 Like 模糊查询

select * from user  where user_id like 'sa%'

3.2.5 Order 排序

倒序

select * from user  order by id DESC

顺序

select * from user  order by id ASC

3.2.6 GROUP BY 分组

select * from user GROUP BY dept_id

3.2.7 HAVING 分组限制

select * from user GROUP BY dept_id HAVING id > 1

3.2.8 LIMIT 限制条数

select * from user limit 0,10;select * from user limit 1;

3.3 连接查询

3.3.1 内连接

在这里插入图片描述

SELECT*
FROMUSER t1
INNER JOIN dept t2 ON t1.dept_id = t2.id

3.3.2 全连接

查询出左表和右表所有数据,但是去除两表的重复数据;

在这里插入图片描述

SELECT*
FROMUSER t1
FULL JOIN dept t2 ON t1.dept_id = t2.id

以上代码执行会出现错误,因为MYSQL 不支持全连接!!!

3.3.3 左连接

左连接是左边表的所有数据都有显示出来,右边的表数据只显示共同有的那部分,没有对应的部分只能补空显示,所谓的左边表其实就是指放在left join的左边的表;

在这里插入图片描述

    select * from user t1 left join dept t2 on t1.dept_id  = t2.id

3.3.4 右连接

右连接正好是和左连接相反的,这里的右边也是相对right join来说的,在这个右边的表就是右表;

在这里插入图片描述

    select * from user t1 right join dept t2 on t1.dept_id  = t2.id   

3.4 常用函数

3.4.1 聚合函数

count

示例

select count(1) from userselect count(*) from userselect count(id) from user
sum

示例

select sum(id) from user
max、min

示例

select max(id) from userselect min(id) from user

3.4.2 LENGTH 字符长度

示例

select user_id , LENGTH(user_id) from user

3.4.3 CASE WHEN 分支函数

语法结构

CASE WHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE result
END

示例

SELECTCASE WHEN dept_id is NULL THEN '无部门'ELSE '有部门'END as DeptId,user_id,user_nameFROMUSER;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/63549.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apifox-比postman更优秀的接口自动化测试平台

一、Apifox介绍 Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台&#xff0c;定位 Postman Swagger Mock JMeter。通过一套系统、一份数据&#xff0c;解决多个系统之间的数据同步问题。只要定义好 API 文档&#xff0c;API 调试、API 数据 Mock、AP…

画流程图都可以用哪些工具?

在日常生活中&#xff0c;我相信我们很多人都看到过流程图。对于设计师来说&#xff0c;它还需要涉及流程图来反映用户的旅程和交互方式。那么你知道哪些流行的流程图设计软件呢&#xff1f;作为高级设计师&#xff0c;我今天推荐10款流程图设计软件。你可以和我一起读这篇文章…

DEAP库文档教程三-----创建类型

本节将继续展示如何通过creator创建类型以及如何使用toolbox如何对复杂问题进行初始化。 Particle的初始化--粒子初始化 一个Particle是另一个特殊类型的个体&#xff0c;这是因为通常情况下它有一个速度&#xff0c;并且有一个最优的位置需要去记忆。这种类型个体的创建与通…

【实训项目】传道学习助手APP设计

1.设计摘要 跨入21世纪以来,伴随着时代的飞速发展&#xff0c;国民对教育的重视度也有了进一步的提升。我们不难发现虽然很多学习内容有学习资料或者答案&#xff0c;但是这些内容并不能达到让所有求学的人对所需知识进行完全地理解与掌握。所以我们需要进行提问与求助。那么一…

国产自主可控C++工业软件可视化图形架构源码

关于国产自主代替的问题是当前热点&#xff0c;尤其是工业软件领域。 “一个功能强大的全自主C跨平台图形可视化架构对开发自主可控工业基础软件至关重要&#xff01;” 作为全球领先的C工业基础图形可视化软件提供商&#xff0c;UCanCode软件有自己的思考&#xff0c;我们认…

Unity实现倒计时和获取系统时间

一:创建UGUI 1.创建Canvas画布组件,调节Canvas画布的分辨率等其他设置。我们可以把视图设置为2D模式下。 2.创建Text文本组件,取名为Timer计时器,我们调整Text文本组件的大小,用锚点设置Text文本组件的位置,并且设置好Text文本组件的颜色。 3.我们再创建一个Text文…

微服务架构|go-zero 的自适应熔断器

原文链接&#xff1a; go-zero 的自适应熔断器 上篇文章我们介绍了微服务的限流&#xff0c;详细分析了计数器限流和令牌桶限流算法&#xff0c;这篇文章来说说熔断。 熔断和限流还不太一样&#xff0c;限流是控制请求速率&#xff0c;只要还能承受&#xff0c;那么都会处理&…

C# 多线程交替按照指定顺序执行

1.关于AutoResetEvent和ManualResetEvent的区别解释如下&#xff1a; AutoResetEvent和ManualResetEvent是.NET中的两个线程同步类。它们之间的主要区别在于其释放信号的方式以及对等待线程的影响。 AutoResetEvent的作用是在等待的线程被信号唤醒后&#xff0c;将信号自动重…

Rust 学习笔记(持续更新中…)

一、 编译和运行是单独的两步 运行 Rust 程序之前必须先编译&#xff0c;命令为&#xff1a;rustc 源文件名 - rustc main.rs编译成功之后&#xff0c;会生成一个二进制文件 - 在 Windows 上还会生产一个 .pdb 文件 &#xff0c;里面包含调试信息Rust 是 ahead-of-time 编译的…

数据库-DML

DML&#xff1a;用来对数据库中表的数据记录进行增、删、改等操作。 添加数据&#xff08;INSERT&#xff09; insert语法&#xff1a; 指定字段添加数据&#xff1a;insert into 表单&#xff08;字段名1&#xff0c;字段名2&#xff09;values&#xff08;值1&#xff0c;值…

CSS中如何实现弹性盒子布局(Flexbox)的换行和排序功能?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 换行&#xff08;Flexbox Wrapping&#xff09;⭐ 示例&#xff1a;实现换行⭐ 排序&#xff08;Flexbox Ordering&#xff09;⭐ 示例&#xff1a;实现排序⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得…

分布式集群框架——有关zookeeper的面试考点

3.掌握Zookeeper的概念 当涉及到大规模分布式系统的协调和管理时&#xff0c;Zookeeper是一个非常重要的工具。 1. 分布式协调服务&#xff1a;Zookeeper是一个分布式协调服务&#xff0c;它提供了一个高可用和高性能的环境&#xff0c;用于协调和同步分布式系统中的各个节点…

Java中支持分库分表的框架/组件/中间件简介

文章目录 1 sharding-jdbc2 TSharding3 Atlas4 Cobar5 MyCAT6 TDDL7 Vitess 列举一些比较常见的&#xff0c;简单介绍一下&#xff1a; sharding-jdbc&#xff08;当当&#xff09; TSharding&#xff08;蘑菇街&#xff09; Atlas&#xff08;奇虎360&#xff09; Cobar&#…

k8s(kubernetes)介绍篇

一、Kubernetes 是什么 Kubernetes 是一个全新的基于容器技术的分布式架构解决方案&#xff0c;是 Google 开源的一个容器集群管理系统&#xff0c;Kubernetes 简称 K8S。 Kubernetes 是一个一站式的完备的分布式系统开发和支撑平台&#xff0c;更是一个开放平台&#xff0c;对…

面试题--从键盘输入网站到网页显示,之间发生了什么

文章目录 首先进入HTTP阶段协议栈阶段TCP阶段IP阶段MAC网卡交换机路由器抵达 首先进入HTTP阶段 1.解析对应的URL&#xff0c;访问一个对应的服务器xxx.com的一个文件index.html; 2 使用DNS查询对应的ip地址&#xff0c;通过DNS服务器进行查找 3 组装http报文&#xff0c;生成h…

低成本32位单片机电动工具无感方波控制方案

RAMSUN介绍基于灵动32位微处理器MM32SPIN0230的BLDC电动工具无感方波控制方案&#xff0c;包括MM32SPIN0230芯片资源。 以下是电动工具无感方波控制方案的简述&#xff1a; MM32SPIN0230电动工具专用板 芯片介绍 MM32SPIN0230系列是灵动微MindSPIN旗下高性能的单电机控制产品…

Spring Boot框架以及它的优势

文章目录 介绍1. **简化配置**2. **快速启动**3. **自动配置**4. **集成第三方库和框架**5. **微服务支持**6. **内嵌式数据库支持**7. **健康监控和管理**8. **可插拔的开发工具**9. **丰富的社区和生态系统**10. **良好的测试支持&#xff1a;** 核心特性**1. 依赖注入&#…

ElasticSearch学习4--复杂查询

1、查询分类 查询所有&#xff1a;查询出所有数据&#xff0c;一般测试用。例如&#xff1a;match_all全文检索&#xff08;full text&#xff09;查询&#xff1a;利用分词器对用户输入内容分词&#xff0c;然后去倒排索引库中匹配。例如&#xff1a; match_query 根据单个字段…

yolov8机器视觉-工业质检

使用训练好的模型进行预测 yolo predict taskdetect model训练好的模型路径 source测试图片文件夹路径 showTrue效果展示 切换模型进行训练&#xff08;yolov8s&#xff09; 修改main.py训练参数文件 使用云gpu进行训练&#xff0c;很方便&#xff1a;点击链接转至在线云gpu…

面试被打脸,数据结构底层都不知道么--回去等通知吧

数据结构之常见的8种数据结构&#xff1a; -数组Array -链表 Linked List -堆 heap -栈 stack -队列 Queue -树 Tree -散列表 Hash -图 Graph 数据结构-链表篇 Linklist定义&#xff1a; -是一种线性表&#xff0c;并不会按线性的顺序存储数据&#xff0c;即逻辑上相邻…