首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
1.1 数据库系统概述
1.1.1 数据库技术的发展
1.1.2 数据库系统的组成
1.2 数据模型
1.2.1 数据模型的概念
1.2.2 常见的数据模型
1.2.3 关系数据库的规范化
1.2.4 关系数据库的设计原则
1.2.5 实体与关系
1.3 数据库的体系结构
1.3.1 数据库三级模式结构
1.3.2 三级模式之间的映射
2.1 了解MySQL
2.1.1 MySQL数据库的概念
2.1.2 MySQL的优势
2.1.3 MySQL的发展史
2.2 MySQL 8.0的新特性
2.3 MySQL的应用环境
2.4 MySQL服务器的安装和配置
2.4.1 MySQL服务器安装包的下载
2.4.2 MySQL服务器的安装
2.4.3 启动、连接、断开和停止MySQL服务器
2.4.4 打开MySQL 8.0 Command Line Client
2.5 如何学好MySQL
第3章 使用MySQL图形化管理工具
3.1 安装phpMyAdmin图形化管理工具
3.1.1 phpMyAdmin图形化管理工具简介
3.1.2 下载phpstudy集成开发环境
3.1.3 下载phpMyAdmin
3.1.4 打开phpMyAdmin
3.2 数据库操作管理
3.2.1 创建数据库
3.2.2 修改和删除数据库
3.3 管理数据表
3.3.1 创建数据表
3.3.2 修改数据表
3.3.3 删除数据表
3.4 管理数据记录
3.4.1 使用SQL语句插入数据
3.4.2 使用SQL语句修改数据
3.4.3 使用SQL语句查询数据
3.4.4 使用SQL语句删除数据
3.4.5 通过form表单插入数据
3.4.6 浏览数据
3.4.7 搜索数据
3.5 导入/导出数据
3.5.1 导出MySQL数据库脚本
3.5.2 导入MySQL数据库脚本
3.6 设置编码格式
3.7 添加服务器新用户
3.8 重置MySQL服务器登录密码
4.1 认识数据库
4.1.1 数据库基本概念
4.1.2 数据库常用对象
4.1.3 系统数据库
4.2 创建数据库
4.2.1 使用CREATE DATABASE语句创建数据库
4.2.2 使用CREATE SCHEMA语句创建数据库
4.2.3 创建指定字符集的数据库
4.2.4 创建数据库前判断是否存在同名数据库
4.3 查看数据库(SHOW命令)
4.4 选择数据库(USE命令)
4.5 修改数据库(ALTER命令)
4.6 删除数据库(DROP命令)
当前位置:
首页>>
技术小册>>
MySQL从入门到精通(一)
小册名称:MySQL从入门到精通(一)
### 3.4 管理数据记录 在MySQL数据库中,管理数据记录是数据库管理员(DBA)或开发人员日常工作的核心部分。它涵盖了从插入新记录、查询现有记录、更新记录信息到删除不再需要的记录等一系列操作。本章节将详细探讨这些操作,并通过实例展示如何在MySQL中高效地管理数据记录。 #### 3.4.1 插入数据记录 ##### 3.4.1.1 使用INSERT语句 在MySQL中,`INSERT`语句用于向表中添加新的数据行。基本语法如下: ```sql INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...); ``` **示例**:假设我们有一个名为`students`的表,包含`id`(学生ID,自增)、`name`(学生姓名)和`age`(学生年龄)三列。要向此表中插入一条新记录,可以执行以下SQL语句: ```sql INSERT INTO students (name, age) VALUES ('张三', 20); ``` 如果表设计允许,且某些列被设置为自增(如`id`列),则这些列在`INSERT`语句中可以省略,MySQL会自动为它们分配值。 ##### 3.4.1.2 插入多行数据 `INSERT`语句还支持一次性插入多行数据,通过指定多组`VALUES`值来实现,每组值之间用逗号分隔。 **示例**: ```sql INSERT INTO students (name, age) VALUES ('李四', 22), ('王五', 19); ``` #### 3.4.2 查询数据记录 ##### 3.4.2.1 使用SELECT语句 `SELECT`语句用于从数据库表中检索数据。其基本语法如下: ```sql SELECT 列1, 列2, ... FROM 表名 WHERE 条件; ``` - 如果不指定`WHERE`子句,将返回表中的所有行。 - 可以通过`WHERE`子句指定筛选条件,以限制返回的行数。 **示例**:查询`students`表中所有学生的姓名和年龄: ```sql SELECT name, age FROM students; ``` **示例**:查询年龄大于20岁的学生: ```sql SELECT name, age FROM students WHERE age > 20; ``` ##### 3.4.2.2 排序和限制结果 - `ORDER BY`子句用于对结果集进行排序。 - `LIMIT`子句用于限制返回的记录数,常用于分页显示数据。 **示例**:查询`students`表并按年龄升序排序,仅返回前5条记录: ```sql SELECT name, age FROM students ORDER BY age ASC LIMIT 5; ``` #### 3.4.3 更新数据记录 ##### 3.4.3.1 使用UPDATE语句 `UPDATE`语句用于修改表中已存在的记录。基本语法如下: ```sql UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... WHERE 条件; ``` **重要**:`WHERE`子句是必需的,除非你确定要更新表中的所有行,这通常是不推荐的。 **示例**:将`students`表中名为“张三”的学生的年龄更新为21岁: ```sql UPDATE students SET age = 21 WHERE name = '张三'; ``` #### 3.4.4 删除数据记录 ##### 3.4.4.1 使用DELETE语句 `DELETE`语句用于从表中删除记录。基本语法如下: ```sql DELETE FROM 表名 WHERE 条件; ``` 与`UPDATE`语句一样,`WHERE`子句是必需的,以避免删除表中所有行。 **示例**:删除`students`表中年龄小于18岁的学生记录: ```sql DELETE FROM students WHERE age < 18; ``` **注意**:执行`DELETE`操作前务必谨慎,因为一旦执行,被删除的数据将无法恢复(除非有备份)。 #### 3.4.5 批量操作与事务 在处理大量数据时,单个`INSERT`、`UPDATE`或`DELETE`操作可能不够高效,或者需要确保多个操作作为一个整体成功或失败。这时,可以使用批量操作和事务。 - **批量操作**:通过一次执行多条SQL语句来提高效率。这可以通过某些数据库管理工具或编程语言中的数据库接口实现。 - **事务**:确保一系列操作要么全部成功,要么在遇到任何错误时全部回滚到操作前的状态。在MySQL中,使用`BEGIN`或`START TRANSACTION`开始事务,使用`COMMIT`提交事务,或使用`ROLLBACK`回滚事务。 **示例**:使用事务来确保同时更新两个相关表的数据一致性: ```sql BEGIN; UPDATE students SET age = age + 1 WHERE name = '张三'; UPDATE grades SET year = year + 1 WHERE student_id = (SELECT id FROM students WHERE name = '张三'); -- 检查是否有错误发生 -- 如果没有,则提交事务 COMMIT; -- 如果发生错误,则回滚事务 -- ROLLBACK; ``` #### 3.4.6 注意事项与优化 - **索引**:合理使用索引可以显著提高查询效率,但过多的索引会降低更新表的速度并占用更多磁盘空间。 - **数据类型**:选择适当的数据类型可以减少存储空间的占用并提高查询性能。 - **规范化**:数据库设计时应遵循规范化原则,避免数据冗余,提高数据完整性和查询效率。 - **批量操作与事务**:合理使用批量操作和事务可以减少网络往返次数,提高操作效率,并确保数据一致性。 通过以上内容的学习,你将能够熟练地在MySQL中管理数据记录,包括插入、查询、更新和删除操作,以及掌握一些高级技巧如批量操作和事务处理。这些技能是成为一名合格的数据库管理员或开发人员不可或缺的基础。
上一篇:
3.3.3 删除数据表
下一篇:
3.4.1 使用SQL语句插入数据
该分类下的相关小册推荐:
MySQL 实战 45 讲
MySQL必会核心问题
MySQL从入门到精通(四)
MySQL从入门到精通(三)
MySQL从入门到精通(二)
MySQL从入门到精通(五)
MySQL8.0入门与实践
细说MySQL(零基础到高级应用)
SQL零基础到熟练应用(增删改查)