找到 4379 篇文章 关于 MySQL
347 次浏览
你不能使用正则表达式进行更新,即你需要使用 LIKE 运算符代替正则表达式。MySQL 不支持使用正则表达式进行更新。LIKE 运算符如下:UPDATE yourTableName SET yourColumnName= REPLACE(yourColumnName, yourValue)', '' ) WHERE yourColumnNameLIKE '%yourValueThatWillReplace)%';为了理解上述语法,让我们创建一个表。mysql> create table Replace_Demo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Value varchar(20), -> PRIMARY KEY(Id) -> ); 使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into Replace_Demo(Value) values('221)'); Query OK, 1 ... 阅读更多
4K+ 次浏览
要将 MySQL 中的列从 int 类型更改为 double 类型,你需要使用 ALTER TABLE 命令。语法如下:ALTER TABLE yourTableName modify column yourColumnName DOUBLE NOT NULL;如果你想要 NULL 值,则从上述语法中删除 NOT NULL。语法如下:ALTER TABLE yourTableName modify column yourColumnName DOUBLE;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table IntToDoubleDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> CylinderVolume int, -> PRIMARY KEY(Id) -> ); Query OK, ... 阅读更多
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 次浏览
要从每个分组中选择前两行,请使用带子查询的 where 条件。让我们创建一个表。创建表的查询如下:mysql> create table selectTop2FromEachGroup -> ( -> Name varchar(20), -> TotalScores int -> ); 现在使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into selectTop2FromEachGroup values('John', 32); mysql> insert into selectTop2FromEachGroup values('John', 33); mysql> insert into selectTop2FromEachGroup values('John', 34); Query OK, ... 阅读更多
1K+ 次浏览
要添加一个新列,该列将行数计数为序号,你可以在 select 语句中使用全局变量。让我们创建一个表。创建表的查询如下:mysql> create table addColumnToCountAsSerialNumber -> ( -> Id int, -> Name varchar(20), -> Age int, -> Salary int -> ); 使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into addColumnToCountAsSerialNumber values(10, 'John', 23, 8576); 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) -> ); 现在创建第二个表。查询如下: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) -> ); 使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into OneCharactermatchDemo(PassoutYear) values('2008'); mysql> ... 阅读更多
2K+ 次浏览
你需要使用 CAST() 或 CONVERT() 函数将 MySQL 查询的输出转换为 UTF8。这里我使用的是 MySQL 8.0.12 版本。让我们首先检查版本:mysql> select version(); 如果使用 utf8,则会收到别名警告,因为它有 utf8mb4。因此,你可以通过放置 utf8mb4 来避免警告。注意:不要使用 UTF8。对于当前版本,使用 UTF8MB4。以下是将 MySQL 查询的输出转换为 UTF8 的语法:SELECT yourColumnName1, convert(yourColumnName2 USING utf8) as anyVariableName FROM ... 阅读更多
835 次浏览
有一种方法可以设置全局 event_scheduler=ON,即使 MySQL 重启也是如此。你需要将全局系统变量设置为 ON,并且即使 MySQL 重启也需要使用此系统变量。为此,我使用 select 语句使用系统变量 @@event_scheduler。查询如下:mysql> select @@event_scheduler; 现在,重启 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) -> ); 查询 ... 阅读更多