找到 6705 篇文章 相关数据库
13K+ 阅读量
您需要使用 MySQL 中的 NULLIF() 函数。语法如下:SELECT NULLIF(yourCoumnName, ’ ’) as anyVariableName from yourTableName;在上述语法中,如果您将空字符串( ‘ ‘) 与空字符串( ‘ ‘) 进行比较,结果将始终为 NULL。但是,如果您将 NULL 与空字符串( ‘ ‘) 进行比较,结果也将始终为 NULL。为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table ConvertEmptyStringToNULL -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> PRIMARY KEY(Id) ... 阅读更多
901 阅读量
要从每个组中选择前 2 行,请使用带有子查询的 where 条件。让我们创建一个表。创建表的查询如下:mysql> create table selectTop2FromEachGroup -> ( -> Name varchar(20), -> TotalScores int -> ); Query OK, 0 rows affected (0.80 sec)现在使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into selectTop2FromEachGroup values('John', 32); Query OK, 1 row affected (0.38 sec) mysql> insert into selectTop2FromEachGroup values('John', 33); Query OK, 1 row affected (0.21 sec) mysql> insert into selectTop2FromEachGroup values('John', 34); Query OK, ... 阅读更多
1K+ 阅读量
要添加一个新列,该列将行号作为序列号进行计数,您可以在 select 语句中使用全局变量。让我们创建一个表。创建表的查询如下:mysql> create table addColumnToCountAsSerialNumber -> ( -> Id int, -> Name varchar(20), -> Age int, -> Salary int -> ); Query OK, 0 rows affected (0.80 sec)使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into addColumnToCountAsSerialNumber values(10, 'John', 23, 8576); Query OK, 1 row affected (0.10 sec) mysql> insert into addColumnToCountAsSerialNumber values(12, ... 阅读更多
2K+ 阅读量
与 SQL Server 函数 SCOPE_IDENTITY() 等效的函数是 MySQL 中的 LAST_INSERT_ID()。语法如下:SELECT LAST_INSERT_ID()。这将返回最后插入记录的 ID。这里,我将创建一个带有主键列的表。以下是 last_insert_id() 的演示。首先,让我们创建两个表。创建第一个表的查询如下:mysql> create table TestOnLastInsertIdDemo -> ( -> StudentId int NOT NULL AUTO_INCREMENT, -> PRIMARY KEY(StudentId) -> ); Query OK, 0 rows affected (0.95 sec)现在创建第二个表。查询如下:mysql> create table TestOnLastInsertIdDemo2 ... 阅读更多
138 阅读量
要在 MySQL 中仅匹配一个字符,可以使用下划线 (_) 代替 %。语法如下:SELECT *FROM yourTableName WHERE yourColumnName LIKE ‘yourString_’;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table OneCharactermatchDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> PassoutYear year, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.76 sec)使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into OneCharactermatchDemo(PassoutYear) values('2008'); Query OK, 1 row affected (0.14 sec) mysql> ... 阅读更多
2K+ 阅读量
您需要使用 CAST() 或 CONVERT() 函数将 MySQL 查询的输出转换为 UTF8。这里,我使用的是 MySQL 8.0.12 版本。让我们首先检查版本:mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec)如果您使用 utf8,则会收到别名警告,因为它有 utf8mb4。因此,您可以通过放置 utf8mb4 来避免警告。注意:永远不要使用 UTF8。对于当前版本,请使用 UTF8MB4以下是将 MySQL 查询的输出转换为 UTF8 的语法:SELECT yourColumnName1, convert(yourColumnName2 USING utf8) as anyVariableName FROM ... 阅读更多
835 阅读量
有一种方法可以将全局事件调度程序设置为 ON,即使 MySQL 重启。您需要将全局系统变量设置为 ON,并且即使 MySQL 重启也需要使用此系统变量。为此,我使用系统变量 @@event_scheduler 通过 select 语句。查询如下:mysql> select @@event_scheduler;以下是输出:+-------------------+ | @@event_scheduler | +-------------------+ | ON | +-------------------+ 1 row in set (0.00 sec)现在,重启 MySQL。查询如下:mysql> restart; Query OK, 0 rows affected ... 阅读更多
7K+ 阅读量
您需要使用 LIKE 和 OR 运算符来查找所有以 a 或 b 或 c 开头的名称。语法如下:SELECT *FROM yourTableName WHERE yourColumnName like 'A%' or yourColumnName like 'B%' or yourColumnName like 'C%';上述查询查找所有仅以字母“a”或“b”或“c”开头的名称。为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table AllNamesStartWithAorBorC -> ( -> Id int NOT NULL AUTO_INCREMENT, -> EmployeeName varchar(20), -> PRIMARY KEY(Id) -> ); Query ... 阅读更多
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 ... 阅读更多