我的一个专栏叫。我不能改名字,因为不是我做的。 我是否允许做一些像SELECT from TableName或有一个特殊的语法,以避免SQL Server混淆?
当前回答
在MySQL中,除了使用反引号('),您还可以使用UI来更改列名。右键单击表>修改表>编辑包含sql关键字>提交的列名。
select [from] from <table>
需要注意的是,上述方法在MySQL中不起作用
其他回答
你的问题似乎已经回答得很好了,但我想再补充一点。
那些设计数据库的人应该很清楚保留的关键字,并避免使用它们。如果你发现有人在使用它,告诉他们(以礼貌的方式)。这里的关键字是保留字。
更多信息:
不应使用保留关键字 作为对象名。数据库升级 从早期版本的SQL Server 可能包含标识符,包括 话不保留在前面 版本,但那是保留的话 SQL Server的当前版本。 可以使用引用对象 分隔标识符直到名称 是可以改变的。” http://msdn.microsoft.com/en-us/library/ms176027.aspx
and
"如果你的数据库确实包含名字 匹配保留关键字,您必须 使用分隔标识符时 引用这些对象。更多的 有关信息,请参见标识符(DMX)。 http://msdn.microsoft.com/en-us/library/ms132178.aspx
嗨,我在完全符合ANSI标准的Teradata系统上工作。使用双引号“”来命名这样的列。
例如,type是一个SQL保留关键字,当在引号中使用时,type被视为用户指定的名称。
参见下面的代码示例:
CREATE TABLE alpha1
AS
(
SEL
product1
type_of_product AS "type"
FROM beta1
) WITH DATA
PRIMARY INDEX (product1)
--type is a SQL reserved keyword
TYPE
--see? now to retrieve the column you would use:
SEL "type" FROM alpha1
当你这样做的时候,把它别名为其他东西(或者更好的是,使用一个视图或SP并弃用旧的直接访问方法)。
SELECT [from] AS TransferFrom -- Or something else more suitable
FROM TableName
如果您正在使用SQL Server,您可以简单地将方括号括在列名或表名周围。
select [select]
from [table]
在Oracle SQL Developer中,pl/ SQL可以使用双引号,但如果使用双引号,则必须以大写字母输入列名。例如,从MY_TABLE中选择“FROM”
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- 从现有模式生成表关系图(SQL Server)
- 我如何循环通过一组记录在SQL Server?
- 数据库和模式的区别
- 如何在SQL Server中一次更改多个列
- 如何从命令行通过mysql运行一个查询?
- 外键约束可能导致循环或多条级联路径?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N
- 货币应该使用哪种数据类型?
- 如何选择每一行的列值不是独特的