Ⅰ sql如何更改表中的列名称
代码如下:
EXEC sp_rename '表名.[原列名]', '新列名', 'column'
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
语法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
参数 www.2cto.com
[@objname =] 'object_name'
是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name 必须为 table.column 形式。如果要重命名的是索引,那么 object_name 必须为 table.index 形式。object_name 为 nvarchar(776) 类型,无默认值。
[@newname =] 'new_name'
是指定对象的新名称。new_name 必须是名称的一部分,并且要遵循标识符的规则。newname 是 sysname 类型,无默认值。
[@objtype =] 'object_type'
是要重命名的对象的类型。object_type 为 varchar(13) 类型,其默认值为 NULL,可取下列值。
值 描述
COLUMN 要重命名的列。
DATABASE 用户定义的数据库。要重命名数据库时需用此选项。
INDEX 用户定义的索引。
OBJECT 在 sysobjects 中跟踪的类型的项目。例如,OBJECT 可用来重命名约束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用户表、视图、存储过程、触发器和规则等对象。
USERDATATYPE 通过执行 sp_addtype 而添加的用户定义数据类型。
返回代码值
0(成功)或非零数字(失败)
Ⅱ sql sum中column_name有括号怎么办
列名带有括号说明名字是数据库的保留关键字。就是在数据库中有特殊含义的
应该不影响SUM函数吧
Ⅲ “plicate column name”是什么意思
重复的列名。出现Duplicate column name错误,一般是sql语句查询的时候,出现了相同的列名。
出现此类错误我们首先要看一下查询的sql语句,如果是多表关联查询,最后形成一个统一的查询,多表中有字段名相同,会导致错误,解决方法一种是通过as进行重命名,一种是修改字段名。
其次我们需要看一下数据库表,两个表字段名是否相同。
然后对其中一个表的字段名进行修改,也可以在sql语句查询的时候,使用as对字段名进行重新命名。
(3)sqlcolumnname扩展阅读:
在多表联合查询的时候可能会遇到的问题,两张表的字段重复了,sql不知道该查询哪个字段,一般遇到这种情况 给字段一个别名就能解决了。
在操作数据库时, 出现“Duplicate column name ‘XXX’”,一般两种情况:
1. 是在前台添加数据库字段时,数据库中字段已经存在,如
ALTER TABLE `cdb_posts` ADD `orgid` INT( 6 ) UNSIGNED NOT NULL DEFAULT '0';
当数据库中已经有了orgid这个字段时,在插入字段会报错:字段orgid重复。
2. 多表查询时未制定确定每个表的字段出错。
Ⅳ 怎么使用SQL语句批量删除多个表的相同字段
在phpmyadmin中先运行(假设前缀是\"cdb_\"):
select
concat(\'drop
table
\',
table_name,
\';\')
from
information_schema.tables;
where
table_name
like
\'cdb_%\'
然后把执行的结果从网页中复制出来,粘贴到记事本中,把记事本中的文件另存为:droptable.sql
。(文件类型中选“所有文件”)
在phpmyadmin中,顶部的菜单中,有“import”,点击后,你把新建的文件上传上去,然后点击右下方的“执行”
Ⅳ sql如何更改数据库中一张表的列属性
alter table tablename
alter column columnName varchar(50) null
如上,tablename是你的表名,columnName是你要改的列名,注意列数据类型属性不可少,我是以varchar(50)为例,你要看你的具体情况来定。null表示允许为空,not null不允许为空。
Ⅵ SQL语句中column的意思和常用法 是怎么的 谢谢 麻烦解释下
sql:column() 函数 (XQuery)
如主题在 XML 内部绑定关系数据中所述,当使用 XML 数据类型方法在 XQuery 内显示关系值时,可以使用 sql:column(() 函数。
例如,使用 query() 方法(XML 数据类型)对存储在变量或 xml 类型列中的 XML 实例指定查询。有时,您可能还希望查询使用其他非 XML 列中的值同时引入关系数据和 XML 数据。若要达到此目的,请使用 sql:column() 函数。
SQL 值将映射到相应的 XQuery 值,其类型将为 XQuery 基类型,等效于相应的 SQL 类型。
语法
sql:column("columnName")
注释
请注意,引用在 XQuery 的 sql:column() 函数中指定的列是指引用正在处理的行中的列。
在 SQL Server 中,仅可在 XML-DML 插入语句源表达式的上下文中引用 xml 实例,否则无法引用 xml 类型的列或 CLR 用户定义类型的列。
JOIN 操作不支持 sql:column() 函数。可改用 APPLY 操作。
示例
A. 使用 sql:column() 检索 XML 中的关系值
在构造 XML 时,下面的示例说明了如何从非 XML 关系列中检索值以绑定 XML 数据和关系数据。
该查询将构造如下形式的 XML 内容:
复制代码
<Proct ProctID="771" ProctName="Mountain-100 Silver, 38" ProctPrice="3399.99" ProctModelID="19"
ProctModelName="Mountain 100" />
请注意构造的 XML 中的下列内容:
从 Proct 表中获取的 ProctID、ProctName 和 ProctPrice 属性值。
从 ProctModel 表中检索的 ProctModelID 属性值。
若要使查询更加有趣,可以从 xml 类型列 CatalogDescription 中获取 ProctModelName 属性值。由于未存储所有产品型号的 XML 产品型号目录信息,因此将使用 if 语句检索该值(如果存在)。
复制代码
SELECT P.ProctID, CatalogDescription.query('
declare namespace pd="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProctModelDescription";
<Proct
ProctID= "{ sql:column("P.ProctID") }"
ProctName= "{ sql:column("P.Name") }"
ProctPrice= "{ sql:column("P.ListPrice") }"
ProctModelID= "{ sql:column("PM.ProctModelID") }" >
{ if (not(empty(/pd:ProctDescription))) then
attribute ProctModelName { /pd:ProctDescription[1]/@ProctModelName }
else
()
}
</Proct>
') as Result
FROM Proction.ProctModel PM, Proction.Proct P
WHERE PM.ProctModelID = P.ProctModelID
AND CatalogDescription is not NULL
ORDER By PM.ProctModelID
请注意上述查询的以下方面:
由于从两个不同的表检索值,因此 FROM 子句指定两个表。WHERE 子句中的条件用于筛选结果,并只检索产品型号具有目录说明的产品。
XQuery Prolog 中的关键字 namespace 用于定义查询主体中使用的 XML 命名空间前缀“pd”。请注意,表别名(“P”和“PM”)是在查询本身的 FROM 子句中定义的。
sql:column() 函数用于将非 XML 值引入 XML。
下面是部分结果:
复制代码
ProctID Result
-----------------------------------------------------------------
771 <Proct ProctID="771" ProctName="Mountain-100 Silver, 38"
ProctPrice="3399.99" ProctModelID="19"
ProctModelName="Mountain 100" />
...
下面的查询构造了包含产品特定信息的 XML。此信息包括 ProctID、ProctName、ProctPrice 以及属于特定产品型号 (ProctModelID=19) 的所有产品的 ProctModelName(如果有)。然后,将 XML 分配给 xml 类型的 @x 变量。
复制代码
declare @x xml
SELECT @x = CatalogDescription.query('
declare namespace pd="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProctModelDescription";
<Proct
ProctID= "{ sql:column("P.ProctID") }"
ProctName= "{ sql:column("P.Name") }"
ProctPrice= "{ sql:column("P.ListPrice") }"
ProctModelID= "{ sql:column("PM.ProctModelID") }" >
{ if (not(empty(/pd:ProctDescription))) then
attribute ProctModelName { /pd:ProctDescription[1]/@ProctModelName }
else
()
}
</Proct>
')
FROM Proction.ProctModel PM, Proction.Proct P
WHERE PM.ProctModelID = P.ProctModelID
And P.ProctModelID = 19
select @x
Ⅶ SQL 中如何选取 列名为NAME的列
SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '表名' and COLUMN_NAME = 'NAME'
Ⅷ sql中column_name(s) 是什么意思啊,为什么一会用column_name(s),一会用column_name
数据库表中所有列的名称