MySQL
文章平均质量分 92
MySQL是一款功能强大的开源关系型数据库管理系统(RDBMS),它采用结构化查询语言(SQL)进行数据管理,具有高性能、可扩展性、跨平台支持和高可靠性等特点。MySQL广泛应用于Web开发、数据存储、商业应用等多个领域,是众多网站和应用程序的首选数据库解决方案。
ZachOn1y
这个作者很懒,什么都没留下…
展开
-
MySQL:索引(Index)语句
涉及到多个索引字段时,如果这些索引字段中,不存在主键索引的话,那么就会使用这些字段对应的索引(如果通过其中的部分索引就能准确定位的话,那么其余的索引就不再被使用)最左前缀原则规定:在尝试使用复合索引进行查询时,必须按照索引中列的顺序依次指定,并且查询条件中连续的列必须是索引的左侧列,不能跳过左侧列,否则该索引将无法使用。如果从表中删除某列,则索引会受影响。:假设索引为(A,B,C),查询列条件为 A,C,此时 A满足最左原则,而 C 不满足最左原则,此时 A 会使用组合索引,而 C 不使用组合索引。原创 2024-08-05 21:11:06 · 1124 阅读 · 0 评论 -
MySQL:索引(Index)理论知识
关系型数据库中,索引(Index)是一种用于加快数据检索速度的数据结构。它通过存储某些列的值的指针,来提高查询的效率。一般情况下,索引是在表中的一个或多个列上创建的,它们可以显著提高查询的效率。当我们使用 SELECT 语句查询一个表时,如果没有索引,数据库需要扫描每一行数据,这会花费大量时间,特别是对于大型的数据集。如果有了索引,数据库就可以用更快的方式定位到需要的数据行,因为它可以使用索引中存储的值来快速查找匹配的行。原创 2024-08-05 10:54:04 · 855 阅读 · 0 评论 -
MySQL:触发器(Trigger)
触发器(TRIGGER)是用户定义在关系表上的一类由事件驱动的特殊过程,在满足一定条件或达到一定阈值时会自动触发。可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。原创 2024-08-04 21:25:05 · 805 阅读 · 0 评论 -
MySQL:存储过程(Stored Procedure)
存储过程(Stored Procedure)是一组预编译过的 SQL 语句集合,是在数据库中定义和存储的可重复使用的程序,可以被多次调用并在需要时进行执行。存储过程可以接受参数、执行条件分支逻辑和循环逻辑、返回结果等,并可以在应用程序中被调用执行。存储过程用于处理数据库中的复杂业务逻辑和数据操作需求。(可理解为函数)原创 2024-08-04 13:53:21 · 1080 阅读 · 0 评论 -
MySQL:变量
在 MySQL 中,变量是一种用于存储和操作数据的占位符。变量是存储数据的重要工具,它们可以在SQL语句、存储过程、函数等多种场合中使用。根据变量的创建方式和作用域,MySQL中的变量可以是一个用户变量,也可以是一个系统变量,或者是局部变量原创 2024-08-04 09:54:32 · 953 阅读 · 0 评论 -
MySQL:数据库权限与角色
MySQL 的权限管理系统是保障数据库安全性的关键组件之一。它允许数据库管理员精确控制哪些用户可以对哪些数据库对象执行哪些操作。数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。原创 2024-08-03 23:07:09 · 1124 阅读 · 0 评论 -
MySQL:数据库用户
在关系型数据库管理系统中,数据库用户(USER)是指具有特定权限和访问权限的登录账户。每个用户都有自己的用户名和密码,以便系统可以通过认证来识别他们的身份。数据库用户可以登录数据库,在其中执行各种类型的操作,如创建表格、插入、更新和删除数据、执行查询等。原创 2024-08-03 21:00:15 · 861 阅读 · 0 评论 -
MySQL:约束(Constraints)
在数据库设计中,约束(Constraints)扮演着至关重要的角色,它们确保了数据库中数据的完整性和有效性。MySQL作为广泛使用的开源关系型数据库管理系统,自然也支持多种类型的约束。在 MySQL 中,约束是指对表中数据的一种约束,能够帮助数据库管理员更好地管理数据库,并且能够确保数据库中数据的正确性和有效性。原创 2024-08-03 20:38:35 · 913 阅读 · 0 评论 -
MySQL:VIEW视图
MySQL 视图(View)是一种虚拟存在的表,同真实表一样,视图也由列和行构成,但视图并不实际存在于数据库中。行和列的数据来自于定义视图的查询中所使用的表,并且是在使用视图时动态生成的**。 数据库中只存放了视图的定义,并没有存放视图中的数据,这些数据都存放在定义视图查询所引用的真实表中。原创 2024-08-03 18:50:10 · 1088 阅读 · 0 评论 -
MySQL:表级锁
MySQL中的表级锁(Table-Level Lock)是对整个表进行锁定的一种机制。当表被锁定后,其他事务不能对该表进行写操作,部分情况下也不能进行读操作,具体取决于锁的类型。表级锁的实现简单,但并发性能较低,因为它会锁定整个表,导致其他事务的等待和阻塞。原创 2024-08-03 15:29:56 · 1236 阅读 · 0 评论 -
MySQL:行级锁
MySQL中的行级锁是数据库锁机制中粒度最细的一种,它只锁定事务需要修改的数据行,而不是整个表或数据库。行级锁能够显著提高数据库的并发性能,减少锁冲突。原创 2024-08-02 22:16:19 · 744 阅读 · 0 评论 -
MySQL:Transaction 事务
数据库事务(Database Transaction)是由一系列数据库操作组成的逻辑单元,这些操作要么全部成功执行,要么全部回滚到事务开始前的状态,以保证数据的一致性和完整性。MySQL 作为一种广泛使用的关系型数据库管理系统,也支持事务处理。MySQL 中的事务(Transaction)是指一组 SQL 查询,它们被视为一个独立的工作单元,在执行过程中要么全部成功提交(Commit),要么全部失败回滚(Rollback)原创 2024-08-02 22:03:43 · 858 阅读 · 0 评论 -
MySQL:CTE 通用表达式
CTE(Common Table Expression,通用表达式)是在 SQL 查询中定义临时结果集的一种方法,它可以让查询更加简洁、可读性更高,并且可以重复引用。原创 2024-08-02 12:54:13 · 833 阅读 · 0 评论 -
MySQL:Prepared Statement 预处理语句
预处理语句(Prepared Statement)是一种在数据库管理系统中使用的编程概念,用于执行对数据库进行操作的 SQL 语句。使用预处理语句的具体方式和语法依赖于所用的编程语言和数据库管理系统。常见的编程语言如 *Java、PHP、Python* 和 *C#* 都提供了对预处理语句的支持。原创 2024-08-02 12:47:35 · 723 阅读 · 0 评论 -
MySQL:CRUD(增删改查)
MySQL CRUD(增删改查)是数据库操作中的基础且核心的功能,涵盖了数据的创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)四个基本动作。原创 2024-08-01 23:21:45 · 716 阅读 · 0 评论 -
MySQL:操作符
MySQL 操作符是 MySQL 数据库操作中不可或缺的一部分,它们用于执行各种数据运算、比较、逻辑判断等。原创 2024-08-01 22:37:11 · 693 阅读 · 0 评论 -
MySQL:管理和操作数据表
数据表是数据库的重要组成部分,每一个数据库都是由若干个数据表组成的。没有数据表就无法在数据库中存放数据。MySQL数据表的管理和操作是数据库管理员和开发人员日常工作中不可或缺的一部分。原创 2024-08-01 22:30:09 · 1125 阅读 · 0 评论 -
MySQL:QEP 查询执行计划
Using index for group-by:类似于访问表的Using index方式,Using index for group-by表示MySQL发现了一个索引,可以用来查询GROUP BY或DISTINCT查询的所有列,而不要额外搜索硬盘访问实际的表。range checked for each record (index map: #):MySQL没有发现好的可以使用的索引,但发现如果来自前面的表的列值已知,可能部分索引可以使用。:对于每个来自于先前的表的行组合,进行完整的表扫描。原创 2024-08-01 00:02:38 · 720 阅读 · 0 评论 -
MySQL:ORDER BY 排序查询
MySQL的排序查询功能非常强大,通过ORDER BY子句可以灵活地根据一个或多个列、表达式或函数对查询结果进行排序。掌握这一功能对于处理数据库中的数据至关重要。在实际应用中,可以根据具体需求灵活运用这些技巧来优化查询结果。原创 2024-07-31 23:58:16 · 1017 阅读 · 0 评论 -
MySQL:集合运算符
MySQL中的 集合运算符(Set operators)主要用于结合两个或多个SELECT语句的结果集,这些结果集应该具有相同的列数和数据类型,以便能够进行比较或合并。原创 2024-07-31 23:46:36 · 961 阅读 · 0 评论 -
MySQL:子查询
子查询结果的准确性:在使用子查询时,必须确保子查询返回的结果是准确的。对于复杂的查询,子查询可能会增加查询的执行时间。嵌套查询中的内部查询语句可以使用外部查询语句的结果来进行过滤、联接或作为子查询的值,它允许我们在一个查询内部嵌套另一个查询。根据具体的需求,可以在子查询中使用。关联子查询可根据外部查询的每个结果进行计算和筛选,因此它的执行频率与外部查询的结果集大小相关。子查询的引用:在某些情况下,可能需要在子查询中引用外部查询的列或条件。MySQL会先执行子查询语句,并将查询结果返回到父查询,执行父查询。原创 2024-07-31 23:32:04 · 686 阅读 · 0 评论 -
MySQL:GROUP BY 分组查询
分组查询是SQL中一个非常强大的功能,它允许我们将数据按照一个或多个字段进行,并对每个分组进行(如求和、平均值、最大值、最小值等)。在MySQL中,我们使用GROUP BY关键字来实现分组查询。原创 2024-07-31 23:19:06 · 1330 阅读 · 0 评论 -
MySQL:JOIN 多表查询
若 table_1 有 N 行,table_2 有 M 行,则交叉连接返回的结果为 N*M 行,当表中的数据较多时,得到的运行结果会非常长,而且得到的运行结果也没太大的意义。,即将左表的每一行与右表的每一行进行组合,返回的结果集将包含左表和右表中所有记录之间的所有可能的组合。通过 JOIN 操作,我们可以将多个表中的数据按照指定的连接条件进行关联,并获取到相关联的数据。外连接是 SQL 中的一种表连接操作,它能够返回连接条件匹配的记录,同时。(右外连接)是 SQL 中的一种表连接操作,是一种单向连接,是。原创 2024-07-20 17:30:31 · 983 阅读 · 0 评论 -
MySQL:在 SELECT 查询中过滤数据
语句执行简单的数据查询时,返回的是所有匹配的记录。当数据表中有上万条数据时,一次性查询出表中的全部数据会降低数据返回的速度,同时给数据库服务器造成很大的压力。如果字段的值是空值,则满足查询条件,该记录将被查询出来。它的值为 1 表示允许自增列的 NULL 值,值为 0 则表示不允许。若字段中包含多个 NULL 值,会将多个 NULL 值视为相同的值,对多个NULL进行去重。关键字后有多个字段,则会对多个字段进行组合去重,也就是说,只有。时,查询将从结果集的第一条记录开始返回,直到达到指定的。原创 2024-07-20 17:22:27 · 1060 阅读 · 0 评论 -
MySQL:SELECT 语句
在 MySQL 中,可以使用 SELECT语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。原创 2024-07-20 16:33:27 · 448 阅读 · 0 评论 -
MySQL:mysql的数据类型
正确选择和使用 MySQL 中的数据类型对于提高数据库性能、确保数据准确性和完整性至关重要。在选择数据类型时,需要根据业务需求和数据特性来决定,避免使用过于复杂或不必要的数据类型。同时,了解每种数据类型的优缺点和使用场景,可以帮助我们更好地设计和优化数据库结构。原创 2024-07-20 15:23:05 · 815 阅读 · 0 评论 -
MySQL:入门与实践
数据库(Database)是“按照数据结构来组织、存储和管理数据的仓库”。它是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的数据冗余、较高的数据独立性和易扩展性,并可为多种用户共享。DDLDROP:删除数据库和表等对象CREATE:创建数据库和表等对象ALTER:修改数据库和表等对象的结构。原创 2024-07-19 21:35:47 · 1114 阅读 · 1 评论