找到 6705 篇文章 关于数据库
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 ... 阅读更多
578 次查看
您需要使用 CASE 语句根据日期条件选择以查找最小和最大价格。将 CASE 语句与聚合函数 MIN() 和 MAX() 结合使用。语法如下: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, ... 阅读更多
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() 和逗号分隔在表中插入批量记录。查询 ... 阅读更多
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),让我们创建一个带有 ... 阅读更多
369 次查看
局部变量的范围仅限于一组语句或代码块。每当一组语句或代码块完成时,局部变量就会超出范围。例如,局部变量可用于存储过程、函数等。它与 DECLARE 关键字一起使用。语法如下,用于局部变量。DECLARE yourVariableName dataType;全局变量或系统变量的范围跨连接,直到服务器重新启动。它使用 GLOBAL 关键字设置。语法如下 -SET GLOBAL max_connections=value; 或 SET @@global.max_connections=value;如果您知道端口号,则可以使用系统变量 ... 阅读更多
371 次查看
系统变量系统变量是严格类型的变量。这些也被称为全局特定变量。系统变量可以在全局范围内初始化,并包含系统变量的值,直到服务器重新启动。每当您重新启动 MySQL 服务器时,此值都会被销毁。预定义的系统变量以符号 @@ 为前缀。用户定义变量用户定义变量也称为会话特定变量。它是一种松散类型的变量,可以在会话中某个地方初始化,并在会话结束之前包含用户定义变量的值。用户定义变量以符号 @ 为前缀。例如:@anyVariableName阅读更多
1K+ 次查看
用户定义变量也称为会话特定变量。它是一种松散类型的变量,可以在会话中某个地方初始化,并在会话结束之前包含用户定义变量的值。用户定义变量以符号 @ 为前缀。例如:@anyVariableName;您可以通过两种方法初始化用户定义变量。您可以使用 SET 命令或使用 SELECT 查询。第一种方法如下:SET @anyVariableName=anyValue;第二种方法如下:SELECT @anyVariableName :=anyValue;如果您在 SELECT 查询中不使用冒号 (:),则将其评估为表达式。结果将是 ... 阅读更多
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, ... 阅读更多
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。至 ... 阅读更多
374 次查看
您可以使用 SUBDATE() 和 9 年的 INTERVAL 将日期的年份从 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 命令在表中插入一些记录。查询 ... 阅读更多