引言
✒️在上一篇中我们介绍了数据表的创建和删除;在开发中,了解数据库中数据的运行方式、运行逻辑是十分重要的。
✒️这一篇我们使用命令行方式来帮助读者掌握MySQL数据的插入及查询。
⚽上一篇链接:MySQL | 数据表的创建与删除
【MySQL进阶之路丨第八篇】MySQL数据的插入及查询
1️⃣MySQL数据插入
在MySQL数据库中,使用 INSERT INTO 语句来插入数据。
而INSERT INTO语法有两种常见的格式,是需要我们掌握的:
❄️1. 插入单行数据:
INSERTINTO 表名 (列1, 列2, 列3,...)VALUES(值1, 值2, 值3,...);
例如,要向名为 “users” 的表中插入一条记录,包含id、name和email字段:
INSERTINTO users (id, name, email)VALUES(1,'John','[email protected]');
注意:值与列的数据类型要相一致,我们不能在id列插入字符串,这是不合法的。
❄️2. 插入多行数据:
INSERTINTO 表名 (列1, 列2, 列3,...)VALUES(值1, 值2, 值3,...),(值1, 值2, 值3,...),...;
例如,要向名为 “users” 的表中插入多条记录:
INSERTINTO users (id, name, email)VALUES(1,'John','[email protected]'),(2,'Jane','[email protected]'),(3,'Mike','[email protected]');
这两种语法可以根据具体情况进行选择和使用。
❄️此外,还可以使用SELECT语句将查询结果插入到表中:
INSERTINTO 表名 (列1, 列2, 列3,...)SELECT 查询语句;
例如,将另一个表中符合条件的记录插入到名为 “users” 的表中:
INSERTINTO users (id, name, email)SELECT id, name, email FROM 另一个表 WHERE 条件;
再次提醒,插入数据时需要确保符合表结构和约束条件,否则可能会导致插入失败。
命令行插入
插入数据的方式有两种,一种是命令行插入,另一种是PHP脚本插入。
⚽命令行插入会比PHP脚本插入更为简单,我们举个例子:
现在有一个class表,包含 id、学生名字和学生班级字段
🗺️如果要插入张三1班、李四2班、王五3班,我们可以分三次插入单行数据:
回显如下:
🗺️我们也可以一次性插入多行数据:
INSERTINTO class (id, name, class)VALUES(1,'张三','一班'),(2,'李四','二班'),(3,'王五','三班');
回显如下:
⛵我们还可以使用SELECT语句将a表的数据插入到class表中:
INSERTINTO class (id, name, class)SELECT id, name, class FROM a;
可以看到数据插入成功:
PHP脚本插入
⚽我们可以使用PHP中的 mysqli_query() 函数 来执行 SQL INSERT INTO命令从而插入数据
⛵语法如下:
mysqli_query(connection,query,resultmode);
⛵参数说明:
connection: MySQL 数据库连接对象。可以使用 mysqli_connect() 函数创建连接,或者使用已经建立的连接对象。
query: 要执行的 SQL 查询语句。
resultmode(可选): 结果模式,指定查询结果的返回方式,默认为 MYSQLI_STORE_RESULT。
举个例子:
<?php// 创建数据库连接$conn=mysqli_connect('localhost','root','qiushuo','mysqlpractice');// 检查连接是否成功if(!$conn){die("连接数据库失败: ".mysqli_connect_error());}// 要插入的数据$id=4;$name='王二';$class='四班';// 构造插入语句$query="INSERT INTO class (id, name, class)
VALUES ($id, '$name', '$class')";// 执行插入语句$result=mysqli_query($conn,$query);// 检查插入是否成功if($result){echo"数据插入成功!";}else{echo"数据插入失败: ".mysqli_error($conn);}// 关闭数据库连接mysqli_close($conn);?>
运行该文件后,数据即可被插入到class表中。
该种方法读者可不用掌握,了解即可。
2️⃣MySQL数据查询
接着我们学习MySQL命令行数据查询
MySQL 数据库使用SQL SELECT语句来查询数据。
查询数据基本的 SELECT 语法:
SELECT column1, column2,...FROM table_name;
通用的 SELECT 语法:
SELECT column_name,column_name
FROM table_name
[WHERE Clause][LIMIT N][OFFSET M]
⚽结构说明:
column_name
:列名,表示你要选择的数据列。table_name
:表名,表示你要从哪个数据表中查询数据。WHERE Clause
(可选):条件子句,用于筛选满足特定条件的行。你可以使用比较运算符和逻辑运算符来构建条件表达式。LIMIT N
(可选):限制返回的行数为 N 条。OFFSET M
(可选):从结果集中的第 M 行开始返回数据。
⚽以下是一些示例说明:
- 查询指定列的数据⚓:
SELECT column1, column2FROM table_name;
这会返回 table_name 表中 column1 和 column2 列的所有行。
例如我们查询class表中name和class列:
SELECT name, class
FROM class;
返回结果:
- 带有 WHERE 子句的条件查询⚓:
SELECT column1, column2FROM table_nameWHERE condition;
在 WHERE 子句中添加条件表达式,筛选出满足条件的行。
例如我们查询仅在二班的学生:
SELECT id,name,class
FROM class
WHERE class='二班';
返回结果:
- 带有 LIMIT 子句的限制行数查询⚓:
SELECT column1, column2FROM table_nameLIMIT10;
这将返回 table_name 表中的前 10 行数据。
例如我们仅查询前两行数据:
SELECT id,name,class
FROM class
LIMIT2;
返回结果:
- 带有 OFFSET 子句的分页查询⚓:
SELECT column1, column2FROM table_nameLIMIT10OFFSET20;
这会返回 table_name 表中从第 21 行开始的 10 行数据,即返回结果集的第 21 到 30 行。
我们也可以用这种方法查询第一到第三行
SELECT id, name,class
FROM class
LIMIT3OFFSET0;
3️总结
以上为 【MySQL进阶之路丨第八篇】MySQL数据的插入及查询,带领读者学习数据的插入及查询原理,通过具体实操实现对MySQL数据库的深度理解。
后续将分享 【MySQL进阶之路丨第九篇】一文带你精通MySQL子句 ✔️
我是秋说,我们下次见😉。
版权归原作者 秋说 所有, 如有侵权,请联系我们删除。