当前位置: 首页 > article >正文

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' 
WHERE
	id = 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.kler.cn/a/384989.html

相关文章:

  • MyBatis xml 文件中 SQL 语句的小于号未转义导致报错
  • Agilent安捷伦N9912A 6G手持式射频分析仪
  • LeetCode:3255. 长度为 K 的子数组的能量值 II(模拟 Java)
  • Spring Boot中集成MyBatis操作数据库详细教程
  • CKA认证 | Day1 k8s核心概念与集群搭建
  • 详解Rust标准库:VecDeque 队列
  • TCP/IP协议介绍
  • RAG(检索增强生成)的实现流程;RAG怎么实现检索增强的
  • 大型语言模型(LLM)的小型化研究进展
  • [MySQL]DQL语句(二)
  • 注册了个域名Wordpress.cn.com
  • 计算机网络——HTTP篇
  • 计算机网络——SDN
  • aosp安卓15新特性dump的wms窗口层级树优化的更加美观
  • HBuilderX运行微信小程序,编译的文件在哪,怎么运行
  • 【西藏】《西藏自治区本级政务信息化项目建设和运维费用预算支出标准》(藏财建〔2024〕68号)-省市费用标准解读系列08
  • 一文读懂| 自注意力与交叉注意力机制在计算机视觉中作用与基本原理
  • 数据挖掘(八)
  • 论文阅读笔记:DRCT: Saving Image Super-Resolution away from Information Bottleneck
  • Windows磁盘管理右键无法删除卷,右键只有帮助选项按钮
  • C++11的简介
  • 第8章 利用CSS制作导航菜单作业
  • JAVA:数据库(mysql)编程初步学习\JDBC(附带项目文件)
  • Maven随笔
  • 你是我的映射,我是你的值:C++ map 中的心灵共鸣
  • 太速科技-634-基于3U PXIe的VU3P FMC+数据接口板