找到 4219 篇文章 适用于 MySQLi

如何在 MySQL 结果集中获取所有唯一行?

Vikyath Ram
更新于 2020-06-20 07:09:52

220 次浏览

借助 SELECT 语句中的 DISTINCT 关键字,我们可以获取 MySQL 结果集中唯一的行。示例mysql> Select * from names; +------+-----------+ | id   | name      | +------+-----------+ | 1    | Rahul     | | 2    | Gaurav    | | 3    | Raman     | | 4    | Aarav     | | 5    | Ram       | | 5    | Ram       | | 5    | Ram       | +------+-----------+ 7 rows in set (0.00 sec)如我们所见,表“names”包含三行重复的行,借助以下查询,我们可以获取仅包含唯一行的结果集。mysql> Select DISTINCT * from names; +------+-----------+ | id   | name      | +------+-----------+ | 1    | Rahul     | | 2    | Gaurav    | | 3    | Raman     | | 4    | Aarav     | | 5    | Ram       | +------+-----------+ 5 rows in set (0.00 sec)

了解 MySQL 支持的所有字符集的查询是什么?

vanithasree
更新于 2020-01-30 06:23:43

93 次浏览

借助以下查询,我们可以查看 MySQL 支持的所有字符集:mysql> Show Character Set; +-----------+-----------------------------+---------------------+--------+ | Charset   | Description                 | Default collation   | Maxlen | +---------- +-----------------------------+---------------------+--------+ | big5      | Big5 Traditional Chinese    | big5_chinese_ci     |      2 | | dec8      | DEC West European           | dec8_swedish_ci     |      1 | | cp850     | DOS West European           | cp850_general_ci   ... 阅读更多

如果用于在 UPDATE 语句的 SET 子句中分配新值的子查询返回多行,MySQL 会返回什么?

karthikeya Boyini
更新于 2020-06-20 07:07:57

235 次浏览

在这种情况下,MySQL 将返回错误消息,因为我们知道,如果子查询用于在 UPDATE 语句的 SET 子句中分配新值,则它必须为更新表中与 WHERE 子句匹配的每一行返回恰好一行。示例mysql> insert into info(id, remarks) values(5, 'average'); Query OK, 1 row affected (0.06 sec) mysql> select * from info; +------+-----------+ | id   | remarks   | +------+-----------+ | 1    | Good      | | 2    | Good      | | 3    | Excellent | | 4   ... 阅读更多

在 MySQL 中,SERIAL 和 AUTO_INCREMENT 之间有什么区别?

Srinivas Gorla
更新于 2020-06-20 07:09:26

3K+ 次浏览

在 MySQL 中,SERIAL 和 AUTO_INCREMENT 都用于将序列定义为字段的默认值。但它们在技术上彼此不同。AUTO_INCREMENT 属性受所有数字数据类型支持,但 BIT 和 DECIMAL 除外。每个表只能有一个 AUTO_INCREMENT 字段,并且一个表中由 AUTO_INCREMENT 字段生成的序列不能用于任何其他表。此属性要求在字段上存在唯一索引,以确保序列没有重复项。序列默认从 1 开始,每次插入都会递增 1。示例mysql> ... 阅读更多

如何在一个 MySQL 表中存储定长字符串和变长字符串?

Jennifer Nicholas
更新于 2020-06-20 07:08:50

492 次浏览

众所周知,CHAR 用于存储定长字符串,VARCHAR 用于存储变长字符串。因此,我们可以通过将一个列声明为 CHAR,另一个列声明为 VARCHAR 来在一个表中存储定长字符串和变长字符串。示例mysql> Create Table Employees(FirstName CHAR(10), LastName VARCHAR(10)); Query OK, 0 rows affected (0.64 sec) mysql> Desc Employees; +-----------+-------------+------+-----+---------+-------+ | Field     | Type        | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | FirstName | char(10)    | YES  |     | NULL    |   ... 阅读更多

如果用于在 UPDATE 语句的 SET 子句中分配新值的子查询不返回任何行,MySQL 会返回什么?

Kumar Varma
更新于 2020-06-20 07:07:27

117 次浏览

在这种情况下,MySQL 将向 SET 子句提供 NULL 值。以下示例将演示它:示例mysql> Select * from student; +----+---------+-----------+ | Id | Name    | grade     | +----+---------+-----------+ | 1  | Rahul   | Good      | | 2  | Gaurav  | Good      | | 3  | Raman   | Excellent | | 4  | Harshit | Average   | | 5  | Aarav   | Best      | | 6  | Ram     | average   | +----+---------+-----------+ 6 rows in set (0.00 sec) ... 阅读更多

如何从包含日期值的 MySQL 表中搜索记录?

Nitya Raut
更新于 2020-01-30 06:29:55

103 次浏览

可以通过以下示例了解,在该示例中,我们使用名为“detail_bday”表的以下数据:mysql> Select * from detail_bday; +----+---------+------------+ | Sr | Name    | Birth_Date | +----+---------+------------+ | 1  | Saurabh | 1990-05-12 | | 2  | Raman   | 1993-06-11 | | 3  | Gaurav  | 1984-01-17 | | 4  | Rahul   | 1993-06-11 | +----+---------+------------+ 4 rows in set (0.00 sec)现在,我们可以通过以下两种方式使用日期搜索记录:mysql> Select * from detail_bday Where Birth_Date = '1993-06-11'; +----+-------+------------+ | Sr | ... 阅读更多

ALLOW_INVALID_DATES SQL 模式有什么用?

Abhinanda Shri
更新于 2020-06-20 07:06:28

2K+ 次浏览

顾名思义,启用 ALLOW_INVALID_DATES SQL 模式将允许我们在表中存储无效日期。以下示例说明了这一点:示例mysql> SET sql_mode = ALLOW_INVALID_DATES; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> Insert Into detail_bday(Name, Birth_Date) values('Sonia', '1993-11-31'); Query OK, 1 row affected (0.09 sec) mysql> Insert Into detail_bday(Name, Birth_Date) values('Ram', '0000-00-00'); Query OK, 1 row affected (0.10 sec) mysql> Select * from detail_bday; +----+---------+------------+ | Sr | Name    | Birth_Date | +----+---------+------------+ | 1  | Saurabh | 1990-05-12 | | 2  | Raman   | 1993-06-11 ... 阅读更多

如何使用另一个 MySQL 表中的值更新一个 MySQL 表中的值?

Manikanth Mani
更新于 2020-06-20 07:06:58

392 次浏览

要使用另一个 MySQL 表中的值更新一个 MySQL 表中的值,我们需要在 UPDATE 语句的 SET 子句中使用子查询作为表达式。示例在此示例中,我们有两个表“student”和“info”。我们将使用“info”表中“remarks”列的值更新“student”表中“grade”列的值。mysql> select * from student; +----+---------+-------+ | Id | Name    | grade | +----+---------+-------+ | 1  | Rahul   | NULL  | | 2  | Gaurav  | NULL  | | 3  | Raman   | NULL  | | ... 阅读更多

如果我在具有 DATE 数据类型的列中存储日期和时间值,MySQL 如何评估?

Ankitha Reddy
更新于 2020-06-20 07:04:43

79 次浏览

我们知道 MySQL DATE 数据类型的默认格式为“YYYY-MM-DD”,在这种格式下,无法存储时间值。但是,如果我们在具有 DATE 数据类型的列中存储日期和时间值,则 MySQL 会显示警告,并且仅在该列中存储日期值。以下示例将展示这一点 -示例mysql> Create table date_time_test(date DATE); Query OK, 0 rows affected (0.44 sec) mysql> Insert into date_time_test(date) values(‘2017-09-09 09:34:21’); Query OK, 1 row affected, 1 warning (0.03 sec) mysql> Select * from date_time_test; +------------+ | ... 阅读更多

广告