----1. 获取所有的数据库名-----
SELECT
NAME
FROM
MASTER.DBO.SYSDATABASES
ORDER
BY
NAME
-----2. 获取所有的表名------
SELECT
NAME
FROM
SYSOBJECTS
WHERE
XTYPE=
‘U‘
ORDER
BY
NAME
--XTYPE=‘U‘:表示所有用户表;
--XTYPE=‘S‘:表示所有系统表;
SELECT
NAME
FROM
SYSOBJECTS
WHERE
TYPE =
‘U‘
AND
SYSSTAT =
‘83‘
----注意:一般情况只需要TYPE = ‘U‘,但有时候会有系统表混在其中(不知道什么原因),加上后面一句后就能删除这些系统表了。
----3.获取所有字段名-----
SELECT
NAME
FROM
SYSCOLUMNS
WHERE
ID=OBJECT_ID(
‘BCUSTOMER‘
);
SELECT
SYSCOLUMNS.
NAME
,SYSTYPES.
NAME
,SYSCOLUMNS.ISNULLABLE,SYSCOLUMNS.LENGTHFROM SYSCOLUMNS, SYSTYPES
WHERE
SYSCOLUMNS.XUSERTYPE = SYSTYPES.XUSERTYPE
AND
SYSCOLUMNS.ID = OBJECT_ID(
‘BCUSTOMER‘
);
/*注意点:
----(A)这里为了重点突出某些重要内容,选取了其中几项信息输出。
(B)SYSCOLUMNS表中只含有数据类型编号,要获取完整的名字需要从SYSTYPES表中找,一般用户使用的数据类型用XUSERTYPE对应比较好,不会出现一对多的情况。
(C)SYSCOLUMNS.LENGTH得到的是物理内存的长度,所以NVARCHAR和VARCHAR等类型在数据库中的显示是这个的一半。*/
----4、得到表中主键所包含的列名------
SELECT
SYSCOLUMNS.
NAME
,SYSOBJECTS.XTYPE
FROM
SYSCOLUMNS,SYSOBJECTS,SYSINDEXES,SYSINDEXKEYS
WHERE
SYSCOLUMNS.ID = OBJECT_ID(
‘BCUSTOMER‘
)
AND
SYSOBJECTS.XTYPE =
‘PK‘
AND
SYSOBJECTS.PARENT_OBJ = SYSCOLUMNS.ID
AND
SYSINDEXES.ID = SYSCOLUMNS.ID
AND
SYSOBJECTS.
NAME
= SYSINDEXES.
NAME
AND
SYSINDEXKEYS.ID = SYSCOLUMNS.ID
AND
SYSINDEXKEYS.INDID = SYSINDEXES.INDID
AND
SYSCOLUMNS.COLID = SYSINDEXKEYS.COLID;
/*注意:这是在4张系统表中寻找的,关系比较复杂,大致可以表示为:
SYSCOLUMNS中存有表中的列信息和表ID,
SYSOBJECTS表中存有主键名字(即PK_TABLE类似)和表ID,
SYSINDEXES中存有主键名字和表ID和INDEX编号,
SYSINDEXKEYS中存有表ID和INDEX编号和列编号,
一项一项对应起来后就能找到列名了,呼~*/
----5、得到表中列的描述内容-----
‘表示没有找到‘
SELECT
A.
NAME
,G.VALUE
FROM
SYSCOLUMNS
AS
A
LEFT
JOIN
SYSPROPERTIES G
ON
A.ID=G.ID
AND
A.COLID = G.SMALLID
WHERE
A.ID=
‘BCUSTOMER‘
SQL Server 获取所有库名
标签:server length pes 显示 需要 exe code word prope
小编还为您整理了以下内容,可能对您也有帮助:
sql server 如何获取当前操作的数据库名
1、首先我们打开电脑里的sql server软件。
2、打开电脑的开始菜单,选择“控制面板”选项。
3、在“控制面板”选项卡中,选择“管理工具”选项。
4、在“管理工具”选项卡中,选择“服务”界面。
5、在“服务”中,找到sql 开头的服务名。
6、这个“SQL Server (MSSQLSERVER)”服务后缀就"MSSQLSERVER"是该数据库的实例名。
sql server 如何获取当前操作的数据库名
1、首先我们打开电脑里的sql server软件。
2、打开电脑的开始菜单,选择“控制面板”选项。
3、在“控制面板”选项卡中,选择“管理工具”选项。
4、在“管理工具”选项卡中,选择“服务”界面。
5、在“服务”中,找到sql 开头的服务名。
6、这个“SQL Server (MSSQLSERVER)”服务后缀就"MSSQLSERVER"是该数据库的实例名。
怎么用Sql语句获取一个数据库中的所有表的名字
在程序中通过sql语句查询来获得某个数据库的所有表名,代码如下:
SELECT
table_name
FROM
information_schema.tables
WHERE table_schema = 'mydatabasename'
AND table_type = 'base table'
扩展资料
1,利用sys.tables目录视图查询所有表的名字,sys.tables目录视图为每个表对象返回一行. 示例语句如下:
select * from sys.tables
注意:sys.tables目录视图也只有在SQL SERVER2005及以上的版本中才能使用。
2,利用存储过程sp_tables sp_tables存储过程,可返回可在当前环境中查询的对象列表。这代表可在FROM子句中出现的任何对象。 我们可以执行如下语句:
exec sp_tables
在结果集中筛选出所有TABLE_TYPE等于TABLE的记录就是表信息了。
参考资料:百度百科 sql语句
百度百科 sys.tables
如何用sql获取数据库中所有表名
1、双击打开MySQL软件,在左侧中找到【表】并且右击选择【新建表】,
2、选择新建表之后,在界面右侧可以添加数据,点击【添加栏目】就可以在下方再添加一行数据,
3、点击【另存为】,会弹出一个【表名】窗口,输入表名,比如Class,点击【确定】按钮,
4、在表的下方就会出现一个名为Class的表了