CREATE TABLE counties
(
id
int(11)NOT NULL auto_increment,
county
tinytext NOT NULL,
主要关键(id
)
)TYPE = MyISAM;
--
INSERT INTO `counties` VALUES (1, 'Alachua County');
我在这里看到了一些模式。 人们使用``来围绕字段名称并使用''来围绕值。 真的吗?
或者这样做的主要原因是因为我们可以将代码放在文本文件中并导入到数据库中。
谢谢
答案 0 :(得分:4)
是的,您使用反引号[`]来包围字段,表和数据库名称。除非您在字段/表名中使用空格,或者在SQL中具有特殊含义的单词(即:from,where)
,否则您根本不需要它。单引号[']
用于包围字符串。
答案 1 :(得分:2)
使用``环绕字段名称特定于MySQL afaik;如果希望SQL可移植,可能需要避免使用它。 table.column或schema.table.column表示法通常运行良好,除非你做了一些愚蠢的事情,比如在表/列名中加上空格。
如果你正在查看一个包含大量表和列的大型dtd,那么使用table.column也会让你更容易迷失。
答案 2 :(得分:2)
''
很常见 - 它适用于几乎所有的编程语言,并且在MySQL中绝对需要字符串值。 (您有时会看到'1'
。它可以工作,但单引号是不必要的,实际上更多的工作是MySQL引擎可以处理整数值。)
表和字段名称的反引号是可选的。如果您没有使用任何保留关键字,则不需要它们。但是,如果您错误地将列命名为select
,则需要使用反引号来避免语法错误。一些程序员(以及任何自动查询构建过程)使用反引号只是为了安全。