Mysql常用语法一篇文章速成

文章目录

      • 前言
      • 前置环境
      • 数据库的增删改查
        • 查询数据
          • 查询所有
          • 条件查询
          • 多条件查询
          • 模糊查询
          • 分页查询
          • 排序查询
          • 分组查询
          • ⭐️⭐️关联查询
          • 关联分页查询
        • 添加数据insert
          • 插入多条记录
          • 不指定列名(适用于所有列都有值的情况)
        • 更新数据
          • 更新多条记录
          • 更新多个列
          • 更新不满足条件的记录
        • 删除
        • 统计数据函数(sum 、count)

前言

本篇文章旨在为初学者提供一个快速入门Mysql的指南,帮助读者在短时间内了解MySQL的核心语法和基本功能。逐步深入到表的操作、数据的增删改查(CRUD)以及常见的查询技巧。

前置环境

安装Mysql5.7或8.0mysql官网
安装数据库可视化软件navicatnavicat官网
进入navicat
点击链接 新建链接
请添加图片描述

新建数据库并且相同操作在建表
设计表并新建几条数据
请添加图片描述
请添加图片描述

数据库的增删改查

查询数据
查询所有

这条语句从 hellosql 表中查询所有列的所有记录。使用 * 表示选择所有列。

SELECT * from hellosql; // 查询某个表所有的数据 返回的是一个列表
条件查询

仅查询 id 列值为 1 的记录。

SELECT * from hellosql WHERE id = 1
多条件查询

查询同时满足 id 为 1 和 no 为 11 的记录。

SELECT * from hellosql WHERE id = 1 AND no = 11
模糊查询

使用 LIKE 进行字符串匹配,% 代表任意字符

SELECT * from hellosql WHERE NAME like '%mou'; 前缀模糊查询
SELECT * from hellosql WHERE NAME like 'zhai%'; 后缀模糊查询
SELECT * from hellosql WHERE NAME like '%ai%';全模糊查询
分页查询

从第二条记录开始,返回两条记录。LIMIT 的第一个参数是起始索引(从 0 开始),第二个参数是返回的记录数

SELECT * from hellosql LIMIT 1,2
排序查询

根据 id 列的值对结果进行升序或降序排列
hellosql 表中选取所有列的数据,并按 id 列降序/升序排列

SELECT * from hellosql order by id DESC
SELECT * from hellosql order by id ASC
分组查询

description 列进行分组,并统计每组的记录数,HAVING 用于筛选符合条件的分组结果。

SELECT count(*) from hellosql GROUP BY description HAVING description = 'wuhuman'
⭐️⭐️关联查询

进行左连接查询,返回 hellosql 表和 role 表中匹配的记录
常用的左连接(LEFT JOIN 或 LEFT OUTER JOIN)的 SQL 语法格式如下:
SELECT columns FROM table_a AS a LEFT JOIN table_b AS b ON a.join_column = b.join_column;
语法详解:

  • SELECT columns:指定要选择的列,可以是表中的所有列(*)或特定列(如 a.column_name, b.column_name)。
  • FROM table_a AS a:指定左表(table_a)并给它一个别名(a),便于后续引用。
  • LEFT JOIN table_b AS b:指定右表(table_b)并给它一个别名(b),表示进行左连接。
  • ON a.join_column = b.join_column:定义连接条件,说明两个表中哪些列用于匹配记录。
SELECT hellosql.*,role.role FROM hellosql left JOIN role ON role.h_id = hellosql.id

请添加图片描述

关联分页查询

在关联查询的基础上加上返回前两条记录 也就是可以分页

SELECT hellosql.*,role.role as role FROM hellosql left JOIN role ON role.h_id = hellosql.id limit 0,2
添加数据insert

语句向 hellosql 表中插入一条新记录。指定了 namedescriptionno 列的值。

INSERT INTO `hellosql` ( `name`, `description`, `no` )
VALUES( 'wuhuman3333', 'zhaimou', 999 )
插入多条记录
INSERT INTO hellosql (name, description, no) VALUES ('wuhuman1', 'description 1', 1), ('wuhuman2', 'description 2', 2), ('wuhuman3', 'description 3', 3);
不指定列名(适用于所有列都有值的情况)
INSERT INTO hellosql 
VALUES (NULL, 'wuhuman4', 'description 4', 4);

如果插入的值为所有列,并且表中有自增的主键(通常是 NULL),可以省略列名,直接插入值

更新数据

这条语句将 id 为 1 的记录的 name 列更新为 zhaimou666

UPDATE hellosql 
SET NAME = 'zhaimou666' 
WHEREid = 1
更新多条记录

语句将所有 description'example description' 的记录的 no 列的值加 1。

UPDATE hellosql SET no = no + 1 WHERE description = 'example description';
更新多个列

这条语句将 id 为 2 的记录的 namedescription 列同时更新为新的值。

UPDATE hellosql SET name = 'new_name', description = 'new description' WHERE id = 2;
更新不满足条件的记录

这条语句将所有 description 列值为 NULL 的记录更新为 'default description'

UPDATE hellosql SET description = 'default description' WHERE description IS NULL;
删除

这条语句将删除 id 为 2 的记录。

DELETE from hellosql where id = 2;
或根据条件删除
DELETE FROM hellosql WHERE no < 5;

删除全部

truncate table yourtablename
统计数据函数(sum 、count)
select count(*) from hellosql;select sum(goods) from hellosql;

文章到这里就结束了 会持续更新技术文章

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

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

相关文章

【每日C/C++问题】

一、 结构体和联合体有什么区别&#xff1f;能否在声明过程当中缺省名字&#xff1f;&#xff08;需要写清楚使用方法&#xff09; 结构体的各个成员占用不同的内存空间&#xff0c;总大小是所有成员大小之和&#xff08;结构体字节对齐&#xff09;&#xff1a; typedef str…

Docker小记

Docker就是将程序和环境一同打包成一个独立的容器&#xff0c;容器和容器之间独立&#xff0c;可以理解为一个app,一个手机就是一个pod&#xff0c;一个pod上可以运行多个容器&#xff0c;容器之间共享磁盘和网络&#xff0c;每个容器仍然运行在自己的进程空间中&#xff0c;有…

Spring Boot代理问题

在 Spring Boot 2.x 中&#xff0c;AOP&#xff08;面向切面编程&#xff09;默认使用 CGLIB&#xff08;Code Generation Library&#xff09;来实现类的代理。CGLIB 代理是通过在运行时生成目标类的子类来增强目标类的方法。这种方式允许对没有实现接口的类进行代理。以下是一…

“不可原谅的漏洞”论文导读

文章《Unforgivable Vulnerabilities》由Steve Christey 2007年撰写&#xff0c;主要探讨了在软件安全领域中那些本可以避免的漏洞&#xff0c;即“不可原谅的漏洞”。这些漏洞通常由于开发者忽视了基本的安全开发实践而存在&#xff0c;且容易被发现和利用。文章提出了建立一套…

正则表达式(Regular Expressions)

正则表达式&#xff08;Regular Expressions, 简称 Regex&#xff09;是一种用于字符串匹配和处理的强大工具&#xff0c;通过特定的模式&#xff08;Pattern&#xff09;描述字符串。它在验证、替换、分割、提取等操作中非常有效。以下是一些基本概念和常见使用场景&#xff1…

文件夹无法访问?全面解析与高效恢复策略

一、文件夹无法访问的困境 在日常的计算机使用中&#xff0c;我们时常会遇到文件夹无法访问的尴尬情况。这种故障表现为双击文件夹时&#xff0c;系统毫无反应&#xff0c;或者弹出“无法访问&#xff0c;拒绝访问”的错误提示。更令人头疼的是&#xff0c;有时文件夹内的文件…

设计模式 策略模式 场景Vue (技术提升)

策略模式 (建议复制编辑器查看更佳) 在给定的 Vue.js 组件代码中&#xff0c;根据optionKey的不同值&#xff0c;展示了不同的表单内容并定义了不同的表单验证规则。在这里&#xff0c;optionMap对象内部定义了不同的策略&#xff08;addAccount、editAccount、editPassword&am…

万字长文详解Hive聚合函数 grouping sets、cube、rollup原理、语法、案例和优化

目录 原理与语法 使用场景 多维度报表生成 复杂的数据分析 实际案例 原理与语法 与GROUPINGSETS的区别 实际案例 原理与语法 与CUBE的对比 实际案例 执行效率比较 优化建议 Hive提供了三个强大的高级聚合函数: GROUPING SETS 、 CUBE 和 ROLLUP ,用于处理复杂的…

长短期记忆网络(LSTM)如何在连续的时间步骤中处理信息

长短期记忆网络&#xff08;LSTM&#xff09;如何在连续的时间步骤中处理信息 长短期记忆网络&#xff08;LSTM&#xff09;是一种高级的循环神经网络&#xff08;RNN&#xff09;&#xff0c;设计用来解决传统RNN在处理长时间序列数据时遇到的梯度消失或爆炸问题。LSTM通过其…

Spring @RequestMapping 注解

文章目录 Spring RequestMapping 注解一、引言二、RequestMapping注解基础1、基本用法2、处理多个URI 三、高级用法1、处理HTTP方法2、参数和消息头处理 四、总结 Spring RequestMapping 注解 一、引言 在Spring框架中&#xff0c;RequestMapping 注解是构建Web应用程序时不可…

飞牛OS在Docker中安装ODOO ERP系统

从后台的Docker镜像库安装一直报错误&#xff0c;无法安装成功&#xff0c;使用以下命令进入OS系统&#xff0c;以下是执行脚本: Start a PostgreSQL server $ docker run -d -e POSTGRES_USERodoo -e POSTGRES_PASSWORDodoo -e POSTGRES_DBpostgres --name db postgres:15 S…

cookie、session、http简单理解

Cookie:以key-value键值对的形式存储一些文本信息数据 并将数据保存在客户端(浏览器) sessionid&#xff08;身份&#xff09; 数据库中有一个seesion表&#xff0c;存放着所有的Session数据&#xff0c; 而sessionid就对应数据库数据这个id&#xff0c;服务器找到对应id的Ses…

VLAN间通信以及ospf配置

目录 1.基础知识介绍 1.1 什么是VLAN&#xff1f; 1.2 VLAN有什么用&#xff1f; 1.3 不同VLAN如何实现通信&#xff1f; 1.4 什么是路由汇总&#xff1f; 1.4.1 路由汇总的好处&#xff1a; 2. 实验 2.1 网络拓扑设计 2.2 实验配置要求 2.2.1 三层交换配置&#xff…

Redis的数据结构

一、Redis概述 Redis&#xff0c;英文全称是Remote Dictionary Server&#xff08;远程字典服务&#xff09;&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。与MySQL数据库不同的是&a…

十四届蓝桥杯STEMA考试Python真题试卷第二套第一题

来源&#xff1a;十四届蓝桥杯STEMA考试Python真题试卷第二套编程第一题 题目描述&#xff1a; 给定一个字符串&#xff0c;输出字符串中最后一个字符。 输入描述&#xff1a; 输入一个字符串 输出描述&#xff1a; 输出字符串中最后一个字符 样例输入&#xff1a; hgf 样…

Spring Boot 注解大全:全面解析 Spring Boot 常用注解及其应用场景

Spring Boot 注解大全:全面解析 Spring Boot 常用注解及其应用场景 简介 Spring Boot 是一个基于 Spring 框架的简化开发框架,它旨在简化 Spring 应用的初始搭建和开发过程。Spring Boot 提供了一系列的注解,使得开发者可以更加方便地进行应用开发和配置。本文将详细介绍 S…

C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(4)

8.1、实现分区 在模块接口分区文件中不需要声明分区&#xff0c;也可以在模块实现分区文件中进行声明&#xff0c;在一个以.cpp为扩展名的正常源代码文件中&#xff0c;在这种情况下&#xff0c;它是一个实现分区&#xff0c;有时候叫内部分区。这样的分区无法导出&#xff0c;…

随着 AI 技术的不断发展,AI大模型正随着 AI 技术的不断发展,AI大模型正

随着 AI 技术的不断发展&#xff0c;AI大模型正在重塑软件开发流程&#xff0c;从代码自动生成到智能测试&#xff0c;未来&#xff0c;AI 大模型将会对软件开发者、企业&#xff0c;以及整个产业链都产生深远的影响。欢迎与我们一起&#xff0c;从 AI 大模型的定义、应用场景、…

数组对象常用方法合集

1、运算扩展符 ES6通过扩展元素符<font style"color:rgb(71, 101, 130);">...</font>&#xff0c;好比 <font style"color:rgb(71, 101, 130);">rest</font> 参数的逆运算&#xff0c;将一个数组转为用逗号分隔的参数序列 conso…

MATLAB基础应用精讲-【数模应用】平均绝对误差损失 Mean Absolute Error Loss(附python、R语言和MATLAB代码实现)

目录 前言 几个高频面试题目 RMSE与MAE对比 平均绝对误差和均方误差(L1&L2)比较 MAE与MSE的性质对比 2.1 敏感度 2.2 单位与解释 2.3 数学特性 优缺点分析 3.1 MAE的优缺点 3.2 MSE的优缺点 应用场景 4.1 MAE的应用 4.2 MSE的应用 均方根误差和平均绝对误差的…