在 MySQL 中,我们可以创建带有或不带有反引号 ( `) 符号的查询。例子:
SELECT * FROM TEST;SELECT * FROM `TEST`;两者都在 mysql-console 中工作正常。
它们之间有什么技术区别吗?
`与简单查询相比,使用 ( )有什么好处吗?
Wor*_*DBA 39
它们被称为带引号的标识符,它们告诉解析器将它们之间的文本作为文字字符串处理。当您有包含关键字或空格的列或表时,它们很有用。例如,以下将不起作用:
CREATE TABLE my table (id INT);
Run Code Online (Sandbox Code Playgroud)
但以下将:
CREATE TABLE `my table` (id INT);
Run Code Online (Sandbox Code Playgroud)
此外,以下内容会出错,因为COUNTis 是保留关键字:
SELECT count FROM some_table
Run Code Online (Sandbox Code Playgroud)
但以下内容将被正确解析:
SELECT `count` FROM some_table
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助你。
Fra*_*ens 28
如果你想在对象标识符周围使用一些东西,至少使用标准的双引号:"
这适用于 MySQL、PostgreSQL、SQL Server、Oracle 等。对于 MySQL,您可能需要SQL 模式 ansi_quotes,具体取决于默认配置:
SET sql_mode = 'ANSI_QUOTES';
Run Code Online (Sandbox Code Playgroud)
反引号 ` 仅在 MySQL 中使用,您将学习一种在任何其他品牌的 DBMS 中都不起作用的 SQL。