找到关于数据库的6705篇文章

MySQL 如何评估写在不同行上的语句?

Jennifer Nicholas
更新于 2020年6月22日 11:53:48

77 次浏览

实际上,MySQL 在遇到终止分号时确定语句的结束位置。假设我们将单个语句写在不同的行上,那么在编写第一行之后,MySQL 会立即从“mysql>”变为“->” ,这表示 MySQL 尚未看到完整的语句,仍在等待其余部分。当它遇到分号时,MySQL 将执行该语句。可以通过以下示例理解这一点:示例mysql> Select Id, Name     -> From     -> Student_info     -> ; +------+---------+ | Id   | Name    | +------+---------+ ... 阅读更多

如何在没有 FROM 子句的情况下使用 MySQL SELECT?

Sravani S
更新于 2020年6月22日 11:42:35

1K+ 次浏览

SELECT 之后的 FROM 子句显示对表的引用。但是,如果没有对任何表的引用,则可以使用不带 FROM 子句的 SELECT。换句话说,可以使用 SELECT 来检索无需引用任何表即可计算的行。考虑以下语句:mysql> Select concat_ws(" ","Hello", "World"); +---------------------------------+ | concat_ws(" ","Hello", "World") | +---------------------------------+ | Hello World                     | +---------------------------------+ 1 row in set (0.00 sec) mysql> Set @var1=100; Query OK, 0 rows affected (0.00 sec) mysql> Select @var1; +-------+ | @var1 | +-------+ |   100 | +-------+ 1 row in set (0.00 sec)

如何从单个查询中获取多个 MySQL 表的输出?

Vrundesha Joshi
更新于 2020年6月22日 11:41:03

278 次浏览

众所周知,查询可以包含多个以分号结尾的 MySQL 语句。假设我们想要从多个表中获取结果,则考虑以下示例,通过编写单个查询来从“Student_info”和“Student_detail”获取结果集:mysql> Select Name, Address from Student_info; Select Studentid, Address from Student_detail; +---------+------------+ | Name    | Address    | +---------+------------+ | YashPal | Amritsar   | | Gaurav  | Chandigarh | | Raman   | Shimla     | | Ram     | Jhansi     | | Shyam   | Chandigarh | | ... 阅读更多

当我将空字符串插入声明为 NOT NULL 的 MySQL 列时,数据类型会起到什么作用?

V Jyothi
更新于 2020年6月22日 11:43:04

98 次浏览

当我们将空字符串插入声明为 NOT NULL 的 MySQL 列时,结果集中的空字符串表示取决于数据类型。众所周知,插入空字符串时,我们向 MySQL 提供的值的整数表示形式为 INT 0。现在,如果该列具有 INTEGER 数据类型,则 MySQL 将在结果集中显示 0,因为空字符串已被映射为整数零。示例mysql> create table test(id int NOT NULL, Name Varchar(10)); Query OK, 0 rows affected (0.19 sec) mysql> Insert into test(id, name) ... 阅读更多

如何检查当前 MySQL 事务隔离级别?

karthikeya Boyini
更新于 2020年6月22日 11:43:36

3K+ 次浏览

通过执行 SELECT @@TX_ISOLATION 命令,我们可以检查当前 MySQL 事务隔离级别。示例mysql> SELECT @@TX_ISOLATION; +-----------------+ | @@TX_ISOLATION  | +-----------------+ | REPEATABLE-READ | +-----------------+ 1 row in set (0.00 sec)

为什么每当我将空字符串插入声明为 NOT NULL 的 MySQL 列时,它显示 0 而不是空字符串?

Rishi Rathor
更新于 2020年2月14日 06:22:42

1K+ 次浏览

这是因为插入空字符串意味着我们正在插入某个值而不是 NULL。空字符串显然映射为整数零。换句话说,我们可以说通过插入空字符串,我们向 MySQL 提供的值的整数表示形式为 INT 0。考虑以下示例,我们其中插入了一个空字符串,它被 MySQL 映射为 0。mysql> create table test(id int NOT NULL, Name Varchar(10)); Query OK, 0 rows affected (0.19 sec) mysql> Insert into test(id, name) values('1', 'Gaurav'), ('0', 'Rahul'), ('', 'Aarav'); Query OK, 3 ... 阅读更多

如何将零或空字符串插入定义为 NOT NULL 的 MySQL 列?

seetha
更新于 2020年6月22日 11:44:55

1K+ 次浏览

将列声明为“NOT NULL”意味着此列不接受 NULL 值,但零 (0) 和空字符串本身就是一个值。因此,如果我们想将零或空字符串插入定义为 NOT NULL 的 MySQL 列中,则不会出现任何问题。以下 0 和空字符串与 NULL 的比较将使这一点更加清楚:mysql> Select 0 IS NULL, 0 IS NOT NULL; +-----------+---------------+ | 0 IS NULL | 0 IS NOT NULL | +-----------+---------------+ |         0 |             1 | ... 阅读更多

为什么在 MySQL 中,我们不能将“=”、“<”或“<>”之类的算术运算符与 NULL 一起使用?

vanithasree
更新于 2020年6月22日 11:31:08

163 次浏览

其背后的原因是,当我们将 NULL 与“=”、“<”之类的比较运算符一起使用时,我们将不会从比较中获得任何有意义的结果。Select 10 = NULL, 10< NULL, 10NULL; +-----------+----------+----------+ | 10 = NULL | 10< NULL | 10NULL | +-----------+----------+----------+ |      NULL |     NULL |     NULL | +-----------+----------+----------+ 1 row in set (0.07 sec) 以上结果集在任何意义上都没有意义。

如果在当前事务的中间执行 START TRANSACTION 命令,当前 MySQL 事务会发生什么?

Jai Janardhan
更新于 2020年6月22日 11:29:39

139 次浏览

如果在当前事务的中间执行 START TRANSACTION,则当前事务将被提交并结束。当前事务中所做的所有数据库更改都将永久保存。这称为 START TRANSACTION 命令的隐式提交。示例假设表“marks”中有以下值mysql> select * from marks; +------+---------+-----------+-------+ | Id   | Name    | Subject   | Marks | +------+---------+-----------+-------+ | 1    | Aarav   | Maths     | 50    | | 1    | Harshit | Maths     | 55    | | 3   ... 阅读更多

如果在事务中间执行 DDL 语句,MySQL 当前事务会发生什么?

Chandu yadav
更新于 2020年6月22日 11:30:35

249 次浏览

在当前事务中执行任何 DDL 语句(例如 CREATE 或 DROP 数据库、CREATE、ALTER 或 DROP 表或存储例程)时,当前 MySQL 事务将被提交并结束。当前事务中所做的所有数据库更改都将永久保存,并且无法回滚。例如:
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO MARKS Values(6, 'Manak', 'History', 70);
Query OK, 1 row affected (0.26 sec)
mysql> Create table student(id int, Name Varchar(10), );
Query OK, 0 rows affected (0.84 sec)
正如我们所看到的……阅读更多

广告