找到 4379 篇文章 关于 MySQL

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

Chandu yadav
更新于 2019-07-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-07-30 22:30:24

374 次浏览

您可以使用 SUBDATE() 和 INTERVAL 9 年来将日期的年份从 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 命令在表中插入一些记录。插入 ... 阅读更多

如何在 SQL 中将 Varchar 转换为 Double?

George John
更新于 2019-07-30 22:30:24

4K+ 次浏览

您可以使用 CAST() 函数将 varchar 转换为 double。语法如下:SELECT yourColumnName1, yourColumnName2, ......N, CAST(yourColumnName AS DECIMAL(TotalDigit, DigitAfterDecimalPoint)) anyVariableName FROM yourtableName ORDER BY anyVariableName DESC;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table VarcharToDouble    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> Name varchar(10),    -> Amount varchar(10) ,    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows affected (0.67 sec)使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into VarcharToDouble(Name, Amount) values('John', ... 阅读更多

在 MySQL 中将 Datetime 转换为 Integer?

Arjun Thakur
更新于 2019-07-30 22:30:24

2K+ 次浏览

在 MySQL 中,使用 UNIX_TIMESTAMP() 函数将 datetime 转换为 integer。语法如下:SELECT UNIX_TIMESTAMP(yourDatetimeColumnName) as anyVariableName FROM yourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table DatetimeToInteger    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> ArrivalTime datetime,    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows affected (0.94 sec)使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into DatetimeToInteger(ArrivalTime) values(now()); Query OK, 1 row affected (0.09 sec) mysql> insert into DatetimeToInteger(ArrivalTime) values(curdate()); Query OK, 1 ... 阅读更多

如何使用 SQL 连接两个以上字段?

Chandu yadav
更新于 2019-07-30 22:30:24

14K+ 次浏览

要使用 SQL 连接两个以上字段,您可以使用 CONCAT() 或 CONCAT_WS() 函数。语法如下。让我们首先看看使用 CONCAT()。SELECT CONCAT(yourColumnName1, '/', yourColumnName2, '/', yourColumnName3, '/', ......N) AS anyVariableName FROM yourTableName;语法如下:SELECT CONCAT_WS(‘/’, yourColumnName1, yourColumnName2, .....N) AS anyVariableName FROM yourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table MoreThan2ColumnConcat    -> (    -> Id int,    -> Name varchar(20),    -> Age int,    -> Marks int    -> ); Query OK, 0 rows affected (2.59 sec)插入 ... 阅读更多

使用 CASE 将 MySQL SELECT 语句中的值从 1 更改为 Y?

Ankith Reddy
更新于 2019-07-30 22:30:24

112 次浏览

您可以使用 MySQL 中的 CASE 将值从 1 更改为 Y。让我们首先创建一个表。创建表的查询如下:mysql> create table changeValuefrom1toY    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> isValidAddress tinyint(1),    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows affected (0.76 sec)现在,您可以使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into changeValuefrom1toY(isValidAddress) values(1); Query OK, 1 row affected (0.22 sec) mysql> insert into changeValuefrom1toY(isValidAddress) values(0); Query OK, 1 row affected (0.16 sec) mysql> insert ... 阅读更多

在 MySQL SELECT 语句中将值从 1 更改为 Y?

George John
更新于 2019-07-30 22:30:24

152 次浏览

您可以使用 MySQL 中的 IF() 将值从 1 更改为 Y。语法如下:SELECT IF(yourColumnName, ’Y’, yourColumnName) as anyVariableName FROM yourTableName;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table changeValuefrom1toY    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> isValidAddress tinyint(1),    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows affected (0.76 sec)现在,您可以使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into changeValuefrom1toY(isValidAddress) values(1); Query OK, 1 row affected (0.22 ... 阅读更多

MySQL SELECT DISTINCT 和 count?

Arjun Thakur
更新于 2019-07-30 22:30:24

519 次浏览

您需要使用 MySQL 中的 GROUP BY 命令与聚合函数 count(*) 来实现此目的。语法如下:SELECT yourColumnName, COUNT(*) AS anyVariableNameFROM yourTableName GROUP BY yourColumnName;为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table selectDistinct_CountDemo    -> (    -> Id int NOT NULL AUTO_INCREMENT,    -> Name varchar(10),    -> AppearanceId int,    -> PRIMARY KEY(Id)    -> ); Query OK, 0 rows affected (0.63 sec)使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into selectDistinct_CountDemo(Name, AppearanceId) values('Larry', ... 阅读更多

MySQL 查询中表和列周围的引号真的有必要吗?

Chandu yadav
更新于 2019-07-30 22:30:24

401 次浏览

如果您的表名或列名是任何保留字,则需要在 MySQL 查询中使用表名和列名周围的引号。您需要在表名和列名周围使用反引号。语法如下:SELECT *FROM `table` where `where`=condition;以下是使用保留字创建不带引号的表的查询。您将收到错误,因为它们是预定义的保留字。错误如下:mysql> create table table    -> (    -> where int    -> ); ERROR 1064 (42000): You have an error in your SQL syntax; check ... 阅读更多

在 MySQL 中执行 INSERT 如果表为空?

Ankith Reddy
更新于 2019-07-30 22:30:24

2K+ 次浏览

您可以借助子查询在表为空时执行插入。为此,使用子查询中的 not exists 条件。以下语法仅在表为空时有效。如果您的表不为空,则它将不会插入记录。语法如下:INSERT INTO yourTableName(yourColumnName) SELECT ‘anyValue’ WHERE NOT EXISTS (SELECT *FROM yourTableName);为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table ExecuteInsertDemo    -> (    -> Name varchar(20)    -> ); Query OK, 0 rows affected (0.67 sec)让我们插入 ... 阅读更多

广告