【MySQL进阶之路丨第八篇】MySQL数据的插入及查询

这篇具有很好参考价值的文章主要介绍了【MySQL进阶之路丨第八篇】MySQL数据的插入及查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

在上一篇中我们介绍了数据表的创建和删除;在开发中,了解数据库中数据的运行方式、运行逻辑是十分重要的。
这一篇我们使用命令行方式来帮助读者掌握MySQL数据的插入及查询。

上一篇链接:MySQL | 数据表的创建与删除


1️⃣MySQL数据插入

在MySQL数据库中,使用 INSERT INTO 语句来插入数据。

而INSERT INTO语法有两种常见的格式,是需要我们掌握的:

1.插入单行数据:

INSERT INTO 表名 (1,2,3, ...) VALUES (1,2,3, ...);

例如,要向名为 “users” 的表中插入一条记录,包含id、name和email字段:

INSERT INTO users (id, name, email) VALUES (1, 'John', 'john@example.com');

注意:值与列的数据类型要相一致,我们不能在id列插入字符串,这是不合法的。

2.插入多行数据:

INSERT INTO 表名 (1,2,3, ...) VALUES (1,2,3, ...), (1,2,3, ...), ...;

例如,要向名为 “users” 的表中插入多条记录:

INSERT INTO users (id, name, email) VALUES 
(1, 'John', 'john@example.com'),
(2, 'Jane', 'jane@example.com'),
(3, 'Mike', 'mike@example.com');

这两种语法可以根据具体情况进行选择和使用。

此外,还可以使用SELECT语句将查询结果插入到表中:

INSERT INTO 表名 (1,2,3, ...)
SELECT 查询语句;

例如,将另一个表中符合条件的记录插入到名为 “users” 的表中:

INSERT INTO users (id, name, email)
SELECT id, name, email FROM 另一个表 WHERE 条件;

再次提醒,插入数据时需要确保符合表结构和约束条件,否则可能会导致插入失败。

命令行插入

插入数据的方式有两种,一种是命令行插入,另一种是PHP脚本插入。

命令行插入会比PHP脚本插入更为简单,我们举个例子:

现在有一个class表,包含 id、学生名字和学生班级字段

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

如果要插入张三1班、李四2班、王五3班,我们可以分三次插入单行数据:

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端
回显如下:

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

我们也可以一次性插入多行数据:

INSERT INTO class (id, name, class)
VALUES
  (1, '张三', '一班'),
  (2, '李四', '二班'),
  (3, '王五', '三班');

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

回显如下:

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

我们还可以使用SELECT语句将a表的数据插入到class表中:

INSERT INTO class (id, name, class)
SELECT id, name, class FROM a;

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

可以看到数据插入成功:

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

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 行开始返回数据。

以下是一些示例说明:

1.查询指定列的数据:

SELECT column1, column2
FROM table_name;

这会返回 table_name 表中 column1 和 column2 列的所有行。

例如我们查询class表中name和class列:

   SELECT name, class
   FROM class;

返回结果:

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

2.带有 WHERE 子句的条件查询:

SELECT column1, column2
FROM table_name
WHERE condition;

在 WHERE 子句中添加条件表达式,筛选出满足条件的行。

例如我们查询仅在二班的学生:

SELECT id,name,class
FROM class
WHERE class='二班';

返回结果:

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

3.带有 LIMIT 子句的限制行数查询:

SELECT column1, column2
FROM table_name
LIMIT 10;

这将返回 table_name 表中的前 10 行数据。

例如我们仅查询前两行数据:

SELECT id,name,class
FROM class
LIMIT 2;

返回结果:

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端

4.带有 OFFSET 子句的分页查询:

SELECT column1, column2
FROM table_name
LIMIT 10 OFFSET 20;

这会返回 table_name 表中从第 21 行开始的 10 行数据,即返回结果集的第 21 到 30 行。

我们也可以用这种方法查询第一到第三行

SELECT id, name,class
FROM class
LIMIT 3 OFFSET 0;

mysql 查询插入,MySQL进阶之路,mysql,数据库,sql,后端


3️⃣总结

以上为 【MySQL进阶之路丨第八篇】MySQL数据的插入及查询,带领读者学习数据的插入及查询原理,通过具体实操实现对MySQL数据库的深度理解。

后续将分享 【MySQL进阶之路丨第九篇】一文带你精通MySQL子句

我是秋说,我们下次见。文章来源地址https://www.toymoban.com/news/detail-716761.html

到了这里,关于【MySQL进阶之路丨第八篇】MySQL数据的插入及查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL进阶之路丨第九篇】一文带你精通MySQL子句

    在上一篇中我们介绍了数据的插入与查询;在开发中,掌握数据的增删改查等操作和语句是十分重要的。 这一篇我们使用命令行方式来帮助读者掌握MySQL子句。 上一篇链接: MySQL | 数据的插入与查询 MySQL 中的 WHERE 子句是用于在查询中筛选数据的部分。它允许您指定条件,以

    2024年02月08日
    浏览(37)
  • 第八篇:SQL语法-DQL-数据查询语言

    DQL英文全称是Data QueryLanguage(数据查询语言),用来查询数据库中表的记录 查询: select DQL主要包含以下操作 基本查询 条件查询 分组查询 在select之后指定字段名,如果有多个则用逗号分隔,用于查询表中指定字段的数据 在select之后使用【 通配符* 】,用于查询 同一

    2024年02月20日
    浏览(45)
  • 【云原生】第八篇--Docker容器数据持久化存储机制

    物理机或虚拟机数据持久化存储 由于物理机或虚拟机本身就拥有大容量的磁盘,所以可以直接

    2023年04月09日
    浏览(41)
  • 【从零开始学习Redis | 第八篇】认识Redis底层数据结构(下)

    目录 前言:   ZipList: Ziplist的特性: QucikList: QuicList特征: SkipList: 跳表特征: RedisObijct:  小心得: 总结:           在现代软件开发中,数据存储和处理是至关重要的一环。为了高效地管理数据,并实现快速的读写操作,各种数据库技术应运而生。其中,Redis作为一种

    2024年04月12日
    浏览(51)
  • C++系列第八篇 数据类型下篇 - 复合类型(指针及动态内存申请)

    C++ 系列 前篇 为什么学习C++ 及学习计划-CSDN博客 C++ 系列 第一篇 开发环境搭建(WSL 方向)-CSDN博客 C++ 系列 第二篇 你真的了解C++吗?本篇带你走进C++的世界-CSDN博客 C++ 系列 第三篇 C++程序的基本结构-CSDN博客 C++ 系列 第四篇 C++ 数据类型上篇—基本类型-CSDN博客 C++ 系列 第五

    2024年02月04日
    浏览(44)
  • MySQl数据库第八课-------SQL命令查询-------主要命脉

     欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com —————————————————————————————— 查询数据         条件         逻辑运算符         模糊查询         范围查询 in         判断空 UNION  排序 聚合 分组:gro

    2024年02月16日
    浏览(53)
  • 如何使用 Python 操作 MongoDB,包括连接、插入、查询、更新和删除数据,以及进阶用法

    MongoDB 是一种流行的 NoSQL 数据库,支持面向文档的数据存储。Python 是一种流行的编程语言,提供了许多库和工具,方便与 MongoDB 进行交互。在本文中,我们将介绍如何使用 Python 操作 MongoDB,包括连接、插入、查询、更新和删除数据,以及一些高级用法。 连接 MongoDB 在使用

    2024年02月04日
    浏览(43)
  • MySQL千万数据查询优化之路

    本文主要针对 MySQL 在千万级别数据的分页查询性能进行优化, 下面是整个优化的过程. 先说结论, MySQL 在千万级别数据的分页查询性能主要受到 2 个因素的影响: 查询的偏移量 查询的数据量 查询的偏移量优化 当 MySQL 执行查询语句分页 LIMIT 时, 有 2 个步骤需要先按照指定的排序

    2023年04月09日
    浏览(45)
  • 第八篇——Kafka Streams源码解读

    作者:禅与计算机程序设计艺术 Kafka Streams是一个开源分布式流处理平台,它可以让你轻松处理实时数据流。通过Kafka Streams API可以轻松创建、部署和运行复杂的实时流处理应用程序。虽然Kafka Stream提供了许多高级功能,但其底层原理却十分简单易懂,在学习之余,我们还是需

    2024年02月07日
    浏览(41)
  • 微服务开发系列 第八篇:Elasticsearch

    A、技术栈 开发语言:Java 1.8 数据库:MySQL、Redis、MongoDB、Elasticsearch 微服务框架:Spring Cloud Alibaba 微服务网关:Spring Cloud Gateway 服务注册和配置中心:Nacos 分布式事务:Seata 链路追踪框架:Sleuth 服务降级与熔断:Sentinel ORM框架:MyBatis-Plus 分布式任务调度平台:XXL-JOB 消息中间

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包