找到 4379 篇文章 关于 MySQL
2K+ 次浏览
注意:AND 和 && 之间只有一个区别,那就是 AND 是标准语法,而 && 是专有语法。除此之外,AND 和 && 没有区别。让我们看看所有条件。AND 和 && 的结果总是 1 或 0。众所周知,AND 和 && 都是逻辑运算符,如果有多个操作数,并且其中任何一个的值为 0,则结果为 0,否则为 1。以下是 AND 和 && 的演示。情况 1(a):如果两个操作数都为 1。使用 AND。查询是…… 阅读更多
675 次浏览
NULL 和空字符串 ‘ ’ 在 MySQL 中并不相同。要检查字段是否为空(例如 ‘ ’)或为 NULL,需要使用 IS NULL 属性或其他方法。可以使用 CASE 语句检查所有条件。语法如下:SELECT *, CASE WHEN yourColumnName =’ ‘ THEN ‘yourMessage1’ WHEN yourColumnName IS NULL THEN ‘yourMessage2’ ELSE CONCAT(yourColumnName ,' is a Name') END AS anyVariableName FROM yourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table checkFieldDemo -> ( -> Id int ... 阅读更多
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 语句根据日期条件选择最小和最大价格。使用聚合函数 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, ... 阅读更多
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(你的列名1, "%H:%i") AS 任意变量名, TIME_FORMAT(你的列名2, "%H:%i") AS 任意变量名 FROM 你的表名;为了理解上述语法,让我们创建一个表。创建表的查询如下: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, ... 阅读更多