文章目录
- 前言
- 前置环境
- 数据库的增删改查
- 查询数据
- 查询所有
- 条件查询
- 多条件查询
- 模糊查询
- 分页查询
- 排序查询
- 分组查询
- ⭐️⭐️关联查询
- 关联分页查询
 
- 添加数据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 表中插入一条新记录。指定了 name、description 和 no 列的值。
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 的记录的 name 和 description 列同时更新为新的值。
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;
文章到这里就结束了 会持续更新技术文章