A. sql 语句。获取指定表的列名
--isnull函数:需要个参数,如果第一个参数为空,则赋值第二个参数。
SELECT
--空格代表as关键字
( CASE WHEN a.colorder = 1 THEN d.name
ELSE ''
END ) 表名 ,
a.colorder 字段序号 ,
a.name 字段名 ,
( CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN '√'
ELSE ''
END ) 标识 ,
( CASE WHEN ( SELECT COUNT(*)
FROM sysobjects
WHERE ( name IN (
SELECT name
FROM sysindexes
WHERE ( id = a.id )
AND ( indid IN (
SELECT indid
FROM sysindexkeys
WHERE ( id = a.id )
AND ( colid IN (
SELECT
colid
FROM
syscolumns
WHERE
( id = a.id )
AND ( name = a.name ) ) ) ) ) ) )
AND ( xtype = 'PK' )
) > 0 THEN 'true'
ELSE 'false'
END ) 主键 ,
b.name 类型 ,
a.length 占用字节数 ,
COLUMNPROPERTY(a.id, a.name, 'PRECISION') AS 长度 ,
ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小数位数 ,
( CASE WHEN a.isnullable = 1 THEN 'true'
ELSE 'false'
END ) 允许空 ,
ISNULL(e.text, '') 默认值 ,
ISNULL(g.[value], '') AS 字段说明
--a代表列集合表:为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行
--b代表列类型表:为数据库中定义的每种系统提供的数据类型和每种用户定义的数据类型返回一行。
FROM syscolumns a
LEFT JOIN systypes b ON a.xtype = b.xusertype
--d代表对象表:在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行
INNER JOIN sysobjects d ON a.id = d.id
AND d.xtype = 'U'
AND d.name <> 'dtproperties'
--e代表e.text是默认值:包含数据库中每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项
LEFT JOIN syscomments e ON a.cdefault = e.id
--g代表g.[value]是字段说明:针对当前数据库中的每个扩展属性返回一行。
LEFT JOIN sys.extended_properties g ON a.id = g.major_id
AND a.colid = g.major_id
ORDER BY a.id ,
a.colorder
这个方法可以获取当前库存中所有表的所有列。希望对你有用。
B. sql语句怎么查询指定表的列名
如果用mysql 的话 mysql> desc 表名
C. 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(成功)或非零数字(失败)
D. sql中如何使用中文列名
select sno 学号,sname 姓名 from student
直接在列名后写中文就可以了。
E. SQL 语句中如何修改表中的一个列名
应该是
sp_rename
'表名.原列名',
'新列名'
标点符号也不能错,另外有约束列不能修改
补充:sql
提供了sp_rename改名,alter
table可以修改、增加、删除列属性,但不能更改列名,除非是删除这个列,重新建一个列,这样的话数据就会丢失。这个题目的逻辑有问题。
F. sql修改列名,增加列,删除列语句怎么写
查看列:desc 表名;
修改表名:alter table t_bookrename tobbb;
添加列:alter table 表名addcolumn 列名 varchar(30);
删除列:alter table 表名dropcolumn 列名;
修改列名: alter table bbbchangennnnn hh int;
修改列属性:alter table t_bookmodifyname varchar(22);
G. SQL中怎样修改一个表的列名
各个数据库不一样。
oracle: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名
sqlserver:exec sp_rename '[表名].[列名]','[表名].[新列名]'
mysql:ALTER TABLE 表名 CHANGE 列名 新列名 列类型
H. SQL 修改表中的列名(急~~~)
1、在oracle数据库中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver数据库中:exec sp_rename '[表名].[列名]‘,’[表名].[新列名]'。
3、在mysql数据库中:ALTER TABLE 表名 CHANGE 列名 新列名 列类型。
(8)sql列名列名扩展阅读:
SQL中对表的其它操作:
1、插入列:
ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。
2、为表中某列添加约束:大于等于100
alter table 表名 add check(列名>=100)。
3、更改表某列的数据类型为nchar(30):
alter table 表名 altercolumn列名 nchar(30)。
4、删除表中某列的相关约束:
alter table 表名 dropconstraint约束名。
5、删除表中的某列:
alter table 表名 dropcolumn列名。
参考资料:网络-SQL语句大全
I. SQL中在做查询时怎样给列重命名
SQL 查询中重命名使用as来处理,语法:select 字段名 as 重命名
1、as可理解为:用作、当成,作为;一般式重命名列名或者表名。
2、例如:
有表table, 列 column_1,column_2
可以写成 select column_1 as 列1,column_2 as 列2 from table as 表
上面的语句就可以解释为,选择 column_1 作为 列1,column_2 作为 列2 从 table 当表
J. SQL如何给列重命名
如果没有数据可以直接修改列名,在编辑器修改或用语句修改即可
如果有数据,参考下面的语句
Sql 命令如下:
ALTER TABLE TB_INFO ADD (CONTENT1 varchar2(20));//添加varchar2类型新列
UPDATE TB_INFO SET CONTENT1=CONTENT; //将content列内容复制到content1列
ALTER TABLE TB_INFO DROP COLUMN CONTENT;//删除varchar2类型列
ALTER TABLE TB_INFO RENAME COLUMN CONTENT1 TO CONTENT;