sqlserver表名,sqlserver表名无效

查看sqlserver数据库有哪些表

--查询数据库里所有表名和字段名的语句

成都创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为广宗企业提供专业的成都网站设计、网站建设、外贸网站建设广宗网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

--SQL

查询所有表名:

SELECT

NAME

FROM

SYSOBJECTS

WHERE

TYPE='U'

SELECT

*

FROM

INFORMATION_SCHEMA.TABLES

--查询表的所有字段名:

SELECT

NAME

FROM

SYSCOLUMNS

WHERE

ID=OBJECT_ID('

表名'

)

SELECT

*

FROM

INFORMATION_SCHEMA.TABLES

SELECT

*

FROM

INFORMATION_SCHEMA.VIEWS

SELECT

*

FROM

INFORMATION_SCHEMA.COLUMNS

---------以下为其他数据库查询表----------

--ORACLE

查看所有表名:

SELECT

TABLE_NAME

FROM

USER_TABLES

--ACCESS

查看所有表名:

SELECT

NAME

FROM

MSYSOBJECTS

WHERE

TYPE=1

AND

FLAGS=0

--MSYSOBJECTS

是系统对象,默认情况是隐藏的。通过工具、选项、视图、显示、系统对象可以使之显示出来。

SQLSERVER如何在数据库里根据某个字段,查出该表名字

SQLSERVER中 根据字段名称查找所在表格名称的方法:

一、语句的思路:

SQLSERVER的两个系统表:1、保存表格字段属性的:syscolumns 2、保存数据库对象属性的:sysobjects ,它们都包含对象ID字段,所以可以使用两个表格的ID字段,作为表格联合检索依据来进行检索。

二、相关系统表格简介:

1、syscolumns :每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。

2、sysobjects :在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。

三、根据字段名称检索所在表格名称

select syscolumns.name,sysobjects.name --syscolumns.name:字段名、sysobjects.name:表格名称

from syscolumns,sysobjects 

where syscolumns.name = 'gc_lczt' and syscolumns.id = sysobjects.id;--以字段名称'gc_lczt'为例,使用字段ID关联两个表格

四、检索结果如图:

五、注意:因为不同表格可能有相同的字段名称,所以结果有可能不只一条。

SQL中怎样修改一个表的列名呢??

SQL中修改一个表的列名的步骤如下:

1、首先我们打开SQL软件。

2、然后右键点击想要修改的列名。

3、点击栏目框中的修改。

4、 点击完毕之后,我们这里可以看到的是在两侧的列名值是一样的  ,此时输入你想要修改的新的列名即可完成修改。

5、   然后ctrl+s保存,保存成功之后,随后在列名上右击选择刷新,就可以确认修改成功了

sqlserver 表名 有备注吗

结果代码是: 建表后,设置表/字段的注释信息。

下面是 读取表/字段 的说明备注 的 SQL 语句。

获取数据库表清单:

select top 1000 

ROW_NUMBER() OVER (ORDER BY a.object_id) AS No,  

a.name AS 表名, 

isnull(g.[value],'-') AS 说明

from 

sys.tables a left join sys.extended_properties g 

on (a.object_id = g.major_id AND g.minor_id = 0)

No 表名 说明

1 test_table 测试表

2 test_main -

获取数据库表的字段清单 [这里是查看 test_table 表的字段]

SELECT

a.column_id AS No,

a.name AS 列名,

isnull(g.[value],'-') AS 说明

FROM

sys.columns a left join sys.extended_properties g

on (a.object_id = g.major_id AND g.minor_id = a.column_id)

WHERE

object_id =

(SELECT object_id FROM sys.tables WHERE name = 'test_table')

No 列名 说明

1 Test_ID 主键(自增长)

2 Test_Key 种类

3 Test_Value 数值

4 Test_Type 内部类型

5 Test_BelongTo 从属关系

6 Test_Grade 等级

7 Test_Remark 备注

8 Test_Visible 是否可见

-----

更加详细一点的信息

SELECT

col.name AS 列名,

typ.name as 数据类型,

col.max_length AS 占用字节数,

col.precision AS 数字长度,

col.scale AS 小数位数,

col.is_nullable  AS 是否允许非空,

col.is_identity  AS 是否自增,

case when exists 

( SELECT 1 

FROM 

sys.indexes idx 

join sys.index_columns idxCol 

on (idx.object_id = idxCol.object_id)

WHERE

idx.object_id = col.object_id

AND idxCol.index_column_id = col.column_id 

AND idx.is_primary_key = 1

) THEN 1 ELSE 0 END  AS 是否是主键

FROM

sys.columns col left join sys.types typ on (col.system_type_id = typ.system_type_id)

WHERE

col.object_id =

(SELECT object_id FROM sys.tables WHERE name = 'test_table')

SQL Server 2005 的 Microsoft SQL Server Management Studio Express

没有 带列名一起复制。 凑合着看看吧,就不手动写列名了。

Test_ID    int    4    10    0    0    1    1    主键(自增长)

Test_Key    varchar    10    0    0    0    0    0    种类

Test_Value    varchar    20    0    0    0    0    0    数值

Test_Type    int    4    10    0    0    0    0    内部类型

Test_BelongTo    int    4    10    0    1    0    0    从属关系

Test_Grade    int    4    10    0    1    0    0    等级

Test_Remark    varchar    50    0    0    1    0    0    备注

Test_Visible    bit    1    1    0    1    0    0    是否可见

SQLServer 动态表名

拼接字符串就可以啊,表名定义一个变量

declare @stable varchar(20) --定义表名

declare @ssql varchar (1000)--要执行的sql语句

set @stable='data'+@sdate--@Sdate 是你转换过的字符,比如你的就是200702可以用substring截取

@ssql='你的相应条件'+stable

exec (@ssql ) 就可以了,我时常做项目都是这样动态的。不明白的百度hi问我,但是要记得给我最佳答案啊,呵呵


当前名称:sqlserver表名,sqlserver表名无效
转载注明:http://myzitong.com/article/dseesde.html