找到关于 MySQLi 的4219 篇文章

如何在 MySQL (InnoDB) 中查看全局锁?

Chandu yadav
更新于 2019年7月30日 22:30:24

491 次浏览

为了查看 MySQL (InnoDB) 中的全局锁,可以使用 SHOW 命令。下面的查询显示全局锁以及锁的所有者和等待者。以下查询还将显示事务 ID 和更多与 InnoDB 相关的信息。查询如下:mysql> SHOW ENGINE INNODB STATUS\G 以下是输出:*************************** 1. row *************************** Type: InnoDB Name: Status: ===================================== 2019-01-23 14:46:58 0x2914 INNODB MONITOR OUTPUT ===================================== Per second averages calculated from the last 23 seconds ----------------- BACKGROUND THREAD ----------------- srv_master_thread loops: 87 srv_active, 0 srv_shutdown, 51953 srv_idle srv_master_thread log flush and writes: 0 ---------- SEMAPHORES ---------- OS WAIT ... 阅读更多

MySQL 中按日期条件选择表中价格的最小值和最大值?

Ankith Reddy
更新于 2019年7月30日 22:30:24

578 次浏览

你需要使用 CASE 语句按日期条件选择以查找最小和最大价格。使用聚合函数 MIN() 和 MAX() 包装 CASE 语句。语法如下:SELECT MIN(CASE WHEN CURDATE() BETWEEN yourStartDateColumnName AND yourEndDateColumnName THEN yourLowPriceColumnName ELSE yourHighPriceColumnName END) AS anyVariableName, MAX(CASE WHEN CURDATE() BETWEEN yourStartDateColumnName AND yourEndDateColumnName THEN yourLowPriceColumnName ELSE yourHighPriceColumnName END) AS anyVariableName FROM yourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table ConditionalSelect    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> StartDate datetime, ... 阅读更多

如何在 MySQL 查询中一次性进行多次插入或批量插入?

George John
更新于 2019年7月30日 22:30:24

448 次浏览

你需要使用带逗号分隔的 VALUES() 进行一次性多次插入或批量插入。使用以下语法,在插入时不会产生无效的 MySQL 查询。语法如下:INSERT INTO yourTableName VALUES(yourValue1), (yourValue1), (yourValue2), (yourValue3), (yourValue4), (yourValue5), .......N;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table addMultipleValues    -> (    -> Counter int NOT NULL    -> ); Query OK, 0 rows affected (0.60 sec)现在你可以使用带逗号分隔的 VALUES() 在表中插入批量记录。查询... 阅读更多

如何在 PHP 和 MySQL 中处理“布尔”值?

Arjun Thakur
更新于 2019年7月30日 22:30:24

3K+ 次浏览

我们使用的是 MySQL 8.0.12 版本。让我们首先检查 MySQL 版本:mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12    | +-----------+ 1 row in set (0.00 sec)为了在 MySQL 中处理布尔值,你可以使用 BOOL 或 BOOLEAN 或 TINYINT(1)。如果你使用 BOOL 或 BOOLEAN,那么 MySQL 会在内部将其转换为 TINYINT(1)。在 BOOL 或 BOOLEAN 数据类型中,如果你使用 true 字面量,那么 MySQL 会将其表示为 1,而 false 字面量表示为 0,就像在 PHP/C/C++ 语言中一样。为了证明 MySQL 将 BOOL 或 BOOLEAN 转换为 TINYINT(1),让我们创建一个具有... 阅读更多

MySQL 中的系统变量与局部变量?

Chandu yadav
更新于 2020年6月30日 12:16:18

369 次浏览

局部变量的作用域仅限于一组语句或语句块。每当一组语句或语句块完成时,局部变量就会超出作用域。例如,局部变量可以用于存储过程、函数等。它与 DECLARE 关键字一起使用。局部变量的语法如下。DECLARE yourVariableName dataType;全局变量或系统变量在连接期间具有作用域,直到服务器重启。它使用 GLOBAL 关键字设置。语法如下 - SET GLOBAL max_connections=value; 或 SET @@global.max_connections=value;如果你知道端口号,则可以使用系统变量... 阅读更多

MySQL 中的系统变量与用户定义变量?

Ankith Reddy
更新于 2019年7月30日 22:30:24

371 次浏览

系统变量系统变量是强类型变量。这些也被称为全局特定变量。系统变量可以在全局范围内初始化,并包含系统变量的值,直到服务器重启。每当你重启 MySQL 服务器时,这个值就会被销毁。预定义的系统变量以符号 @@ 为前缀。用户定义变量用户定义变量也称为会话特定变量。它是一种松散类型变量,可以在会话中某个地方初始化,并在会话结束之前包含用户定义变量的值。用户定义变量以符号 @ 为前缀。例如:@anyVariableName阅读更多

MySQL 中的用户定义变量与局部变量?

George John
更新于 2019年7月30日 22:30:24

1K+ 次浏览

用户定义变量也称为会话特定变量。它是一种松散类型变量,可以在会话中某个地方初始化,并在会话结束之前包含用户定义变量的值。用户定义变量以符号 @ 为前缀。例如:@anyVariableName;有两种方法可以初始化用户定义的变量。你可以使用 SET 命令或使用 SELECT 查询。第一种方法如下:SET @anyVariableName=anyValue;第二种方法如下:SELECT @anyVariableName :=anyValue;如果你在 SELECT 查询中不使用冒号 (:),则它会将其评估为表达式。结果将是... 阅读更多

从 MySQL 中的时间字段中删除秒?

Arjun Thakur
更新于 2019年7月30日 22:30:24

2K+ 次浏览

你需要使用 TIME_FORMAT() 从时间字段中删除秒。语法如下:SELECT TIME_FORMAT(yourColumnName1, "%H:%i") AS anyVariableName, TIME_FORMAT(yourColumnName2, "%H:%i") AS anyVariableName FROM yourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table removeSecondsFromTime    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> StartTime time,    -> EndTime time,    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows affected (0.71 sec)使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into removeSecondsFromTime(StartTime, EndTime) values('10:20:45', '11:21:40'); Query OK, ... 阅读更多

为什么不应该在 MySQL 主键字段中添加 NOT NULL?

Chandu yadav
更新于 2019年7月30日 22:30:24

711 次浏览

你不需要在主键字段中添加 NOT NULL,因为它会自动成为 NOT NULL。主键是 NOT NULL 和唯一键的组合。以下是主键字段的演示。让我们首先创建一个表。创建表的查询如下:mysql> create table NotNullAddDemo    -> (    -> Id int AUTO_INCREMENT,    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows affected (0.81 sec)在上表中,你不需要在主键字段中添加 NOT NULL,因为 MySQL 会在内部将其转换为 NOT NULL。为了... 阅读更多

MySQL - 将日期的年份从 2020 年更改为 2011 年?

Ankith Reddy
更新于 2019年7月30日 22:30:24

374 次浏览

你可以使用带有 9 年间隔的 SUBDATE() 将日期的年份从 2020 年更改为 2011 年,因为 2020 年到 2011 年之间相差 9 年。语法如下:UPDATE yourTableName SET yourDateColumnName=SUBDATE(yourDateColumnName, INTERVAL 9 YEAR);为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table ChangeYearFrom2020To2011    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> ExpiryDate date,    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows affected (0.67 sec)使用 insert 命令在表中插入一些记录。插入... 阅读更多

广告