📝 MySQLi教程
33篇技术文档📅  最后修改于: 2020-11-27 06:17:10        🧑  作者: Mango
可能需要修改MySQLi表中的现有数据。您可以通过使用SQLUPDATE命令来实现。这将修改任何MySQLi表的任何字段值。句法这是UPDATE命令的通用SQL语法,用于将数据修改到MySQLi表中-您可以总共更新一个或多个字段。您可以使用WHERE子句指定任何条件。您可以一次更新一个表中的值。当您要更新表中的选定行时,WHERE子句非常有用。从命令提示符更新数据这将使用带有WHERE子句的SQL...
📅  最后修改于: 2020-11-27 06:17:33        🧑  作者: Mango
如果要从任何MySQLi表中删除一条记录,则可以使用SQL命令DELETE FROM。您可以在mysql>提示符以及任何脚本(如PHP)中使用此命令。句法这是DELETE命令的通用SQL语法,用于从MySQLi表删除数据-如果未指定WHERE子句,则将从给定的MySQLi表中删除所有记录。您可以使用WHERE子句指定任何条件。您可以一次删除单个表中的记录。当您要删除表中的选定行时,WHERE子句非...
📅  最后修改于: 2020-11-27 06:18:07        🧑  作者: Mango
我们已经看到了SQLSELECT命令从MySQLi表中获取数据。我们还可以使用称为WHERE子句的条件子句来选择所需的记录。在我们要进行精确匹配的地方,带有等号(=)的WHERE子句可以正常工作。如“ name =’sai’”。但是在某些情况下可能需要过滤掉名称应包含“ johar”的所有结果。可以使用SQLLIKE子句和WHERE子句来处理。如果将SQL LIKE子句与% 字符一起使用,则它将在...
📅  最后修改于: 2020-11-27 06:18:36        🧑  作者: Mango
我们已经看到了SQLSELECT命令从MySQLi表中获取数据。当您选择行时,MySQLi服务器可以自由以任何顺序返回它们,除非您通过说出如何对结果进行排序来另外指示。但是您可以通过添加一个ORDER BY子句对结果集进行排序,该子句命名要排序的一个或多个列。句法这是SELECT命令的通用SQL语法以及ORDER BY子句,用于对MySQL表中的数据进行排序-您可以在列出的字段中对任何字段排序返回...
📅  最后修改于: 2020-11-27 06:19:12        🧑  作者: Mango
到目前为止,我们一次只能从一个表中获取数据。这对于简单的方法来说是很好的,但是在大多数实际的MySQL使用中,您通常需要在单个查询中从多个表中获取数据。您可以在单个SQL查询中使用多个表。加入MySQLi的行为是指将两个或多个表粉碎为一个表。您可以在SELECT,UPDATE和DELETE语句中使用JOINS来连接MySQLi表。我们将看到一个LEFT JOIN的示例,它与简单的MySQLi JO...
📅  最后修改于: 2020-11-27 06:20:15        🧑  作者: Mango
我们已经看到了SQLSELECT命令和WHERE子句,以便从MySQLi表中获取数据,但是当我们尝试给出一个将字段或列的值与NULL进行比较的条件时,它将无法正常工作。为了处理这种情况,MySQLi提供了三个运算符IS NULL-如果列值为NULL,则运算符返回true。IS NOT NULL-如果列值不为NULL,则运算符返回true。<=>-运算符比较值(与=运算符不同),即使对于两个NULL...
📅  最后修改于: 2020-11-27 06:21:04        🧑  作者: Mango
您已经看到MySQLi模式与LIKE …%匹配。 MySQLi支持基于正则表达式和REGEXP运算符的另一种模式匹配操作。如果您了解PHP或PERL,那么对您来说很容易理解,因为这种匹配与那些脚本正则表达式非常相似。以下是模式表,可以与REGEXP运算符一起使用。PatternWhat the pattern matches^Beginning of string$End of string.An...
📅  最后修改于: 2020-11-27 06:21:38        🧑  作者: Mango
事务是一组顺序的数据库操作,它们被当作一个单独的工作单元执行。换句话说,除非组中的每个单独操作成功,否则交易将永远不会完成。如果事务中的任何操作失败,则整个事务将失败。实际上,您会将许多SQL查询组成一个组,并将它们作为事务的一部分一起执行。交易性质事务具有以下四个标准属性,通常由首字母缩写ACID引用-原子性-确保工作单元内的所有操作均成功完成;否则,事务将在失败点中止,并且先前的操作将回滚到它...
📅  最后修改于: 2020-11-27 06:22:36        🧑  作者: Mango
当您想要更改表的名称,任何表字段或想要添加或删除表中的现有列时,MySQLiALTER命令非常有用。让我们从创建一个名为tutorials_alter的表开始。删除,添加或重新定位列假设您要从MySQLi表上方删除现有列i,那么您将使用DROP子句以及ALTER命令,如下所示-如果该列是表中仅剩的一列,则DROP将不起作用。要添加列,请使用ADD并指定列定义。以下语句将i列恢复为tutorials...
📅  最后修改于: 2020-11-27 06:23:13        🧑  作者: Mango
数据库索引是一种数据结构,可以提高表中操作的速度。可以使用一个或多个列创建索引,这为快速随机查找和对记录访问的有效排序提供了基础。在创建索引时,应考虑哪些列将用于进行SQL查询并在这些列上创建一个或多个索引。实际上,索引也是表的类型,它们保留主键或索引字段以及指向实际表中每个记录的指针。用户看不到索引,它们仅用于加速查询,并且数据库搜索引擎将使用它们非常快速地定位记录。在具有索引的表上,INSER...
📅  最后修改于: 2020-11-27 06:23:41        🧑  作者: Mango
在某些情况下,临时表对于保留临时数据可能非常有用。临时表应该知道的最重要的事情是,当当前客户端会话终止时,它们将被删除。如前所述,临时表仅在会话处于活动状态时才持续存在。如果您在PHP脚本中运行代码,则脚本执行完后,临时表将自动销毁。如果您通过MySQLi客户端程序连接到MySQL数据库服务器,则临时表将存在,直到您关闭客户端或手动销毁该表为止。例这是一个显示您使用临时表的示例。可以使用mysql...
📅  最后修改于: 2020-11-27 06:24:09        🧑  作者: Mango
在某些情况下,您需要精确的表副本和CREATE TABLE … SELECT不适合您的目的,因为该副本必须包含相同的索引,默认值等。您可以按照以下步骤处理这种情况-使用SHOW CREATE TABLE获得一个CREATE TABLE语句,该语句指定源表的结构,索引和所有内容。修改该语句以将表名更改为克隆表的名称,然后执行该语句。这样,您将具有确切的克隆表。可选地,如果您还需要复制表内容,也可以发...
📅  最后修改于: 2020-11-27 06:24:43        🧑  作者: Mango
您希望从MySQLi获得三个信息。有关查询结果的信息-这包括受任何SELECT,UPDATE或DELETE语句影响的记录数。有关表和数据库的信息-这包括与表和数据库的结构有关的信息。有关MySQLi服务器的信息-包括数据库服务器的当前状态,版本号等。在mysqli提示符下获取所有这些信息非常容易,但是在使用PERL或PHP API时,我们需要显式调用各种API以获得所有这些信息。下一节将向您展示如...
📅  最后修改于: 2020-11-27 06:25:15        🧑  作者: Mango
序列是按需生成的一组整数1、2、3,…。序列在数据库中经常使用,因为许多应用程序要求表中的每一行都包含唯一值,并且序列提供了一种简便的方式来生成它们。本章介绍如何在MySQLi中使用序列。使用AUTO_INCREMENT列MySQLi中使用序列的最简单方法是将一列定义为AUTO_INCREMENT,并将其余内容留给MySQLi注意。例试试下面的例子。这将创建表,然后在该表中插入几行,由于MySQL...
📅  最后修改于: 2020-11-27 06:25:55        🧑  作者: Mango
表或结果集有时包含重复的记录。有时是允许的,但有时需要停止重复的记录。有时,需要标识重复的记录并将其从表中删除。本章将介绍如何防止表中出现重复记录以及如何删除已经存在的重复记录。防止表中出现重复项您可以在具有适当字段的表上使用PRIMARY KEY或UNIQUE索引来停止重复记录。让我们举一个例子:下表不包含此类索引或主键,因此它将允许重复记录first_name和last_name。为了防止在此...