可以从数据库中的系统表 sysobjects 得到想要的数据表信息,具体SQL语句如下:
查看数据库中表名:
select name from sysobjects where type = 'U';
由于系统表sysobjects保存的都是数据库对象,其中type表示各种对象的类型,具体包括:
U = 用户表
S = 系统表
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
TF = 表函数
TR = 触发器
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程及相关的对象信息。
在sql server 2000 中加载驱动和URL路径的语句是
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433; databasename=test";
而sql server 2005 中加载驱动和url的语句则为
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433; databasename=test";
查询列名:
select name from syscolumns where id=object_id('dd_Stu') and objectproperty(id,'IsUserTable')=1;
或者
sp_columns dd_Stu;
Java中查询表中字段、类型、长度等信息:
SELECT
字段名=a.Name,
类型=B.Name,
长度=COLUMNPROPERTY(a.ID,a.Name,'PRECISION'),
字段说明=IsNull(G.[value],'')
FROM syscolumns a
left join systypes B On a.Xtype=B.xusertype
left join sysproperties G On a.ID=G.ID And a.colid=G.smallid
Where a.id=object_id('要查询的表') --如果只查询指定表,加上此条件
order by a.ID,a.colorder
ASP.net中表的相关操作:
--删除主键,只有删除主键后才能删除主键对应的列
alter table worklog drop constraint PK_worklog
--创建主键
alter table worklog add constraint PK_worklog primary key(employeeNo,logNo)
--查询主键
select * from sysobjects where xtype='PK'
--创建外键,外键也必须制定字段 如,foreign key(employeeNo)
alter table worklog add constraint FK_worklog_employee foreign key(employeeNo) references employee(employeeNo)
--查询外键
select * from sysobjects where xtype='F'
--查询表
select * from sysobjects where xtype='U'
或者
select * from sysobjects where sysobjects.type='u'
name
id
xtype
uid
info
status
base_schema_ver
replinfo
parent_obj
crdate
ftcatid
schema_ver
stats_schema_ver
type
userstat
sysstat
indexdel
refdate
version
deltrig
instrig
updtrig
seltrig
category
cache
worklog |
357576312 |
U |
1 |
0 |
0 |
0 |
0 |
0 |
2014/1/21 12:09:19 |
0 |
0 |
0 |
U |
1 |
3 |
0 |
2014/1/21 12:09:19 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
--查询表信息
sp_help employee
Name
Owner
Type
Created_datetime
employee |
dbo |
user table |
2014/1/25 13:46:56 |
--查询字段信息表
select * from sys.extended_properties
class
class_desc
major_id
minor_id
name
1 |
OBJECT_OR_COLUMN |
1365579903 |
0 |
microsoft_database_tools_support |
select * from syscolumns --表字段信息表
name
id
xtype
typestat
xusertype
length
xprec
xscale
colid
xoffset
bitpos
reserved
colstat
cdefault
domain
number
colorder
offset
collationid
language
status
type
usertype
printfmt
prec
scale
iscomputed
isoutparam
isnullable
collation
rowsetid |
4 |
127 |
1 |
127 |
8 |
19 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
63 |
0 |
|
19 |
0 |
0 |
0 |
0 |
|
rowsetcolid |
4 |
56 |
1 |
56 |
4 |
10 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
0 |
56 |
7 |
|
10 |
0 |
0 |
0 |
0 |
|
select * from sysobjects where sysobjects.type='s' --数据库所有的系统表的信息
select * from syscomments --所有的触发器的东西
--查询表名、字段序号、字段名、标识、主键、类型、占用字节数、长度、小数位数、允许空、默认值
SELECT
(case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空
a.colorder as 字段序号,
a.name as 字段名,
(case when COLUMNPROPERTY( a.id,a.name, 'IsIdentity' )=1 then '√' else '' end) as 标识,
(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 '√' else '' end) as 主键,--查询主键END
b.name as 类型,
a.length as 占用字节数,
COLUMNPROPERTY(a.id,a.name,'PRECISION' ) as 长度,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale' ),0) as 小数位数,
(case when a.isnullable=1 then '√' else '' end) as 允许空,
isnull(e.text,'' ) as 默认值,
isnull(g.[value],'' ) AS 字段说明
FROM syscolumns a left join systypes b
on a.xtype=b.xusertype
inner join sysobjects d
on a.id=d.id and d.xtype='U' and d.name<> 'dtproperties'
left join syscomments e
on a.cdefault=e.id
left join sys.extended_properties g
on a.id=g.major_id AND a.colid = g.minor_id
where d.name='employee' --所要查询的表
order by a.id,a.colorder
表名
字段序号
字段名
标识
主键
类型
占用字节数
长度
小数位数
允许空
默认值
employee |
1 |
employeeNo |
|
√ |
nvarchar |
100 |
50 |
0 |
|
|
|
2 |
employeeName |
|
|
nchar |
40 |
20 |
0 |
√ |
|
|
3 |
employeePwd |
|
|
nchar |
40 |
20 |
0 |
√ |
|
|
4 |
employeeEmail |
|
|
nchar |
80 |
40 |
0 |
√ |
|
|
5 |
employeeAuthority |
|
|
char |
1 |
1 |
0 |
√ |
|
|
6 |
employeePhone |
|
|
nvarchar |
22 |
11 |
0 |
√ |
|
分享到:
相关推荐
Oracle获取用户下所有表名 获取表所有的列名及数据类型 两个SQL查询语句
而"交友网站页面设计.zip"可能涵盖了前端展示和用户体验方面的设计,这两部分都需要与后端数据库表设计紧密配合,确保数据的一致性和实时性。 总之,数据库表设计是一门深奥的学问,它不仅关乎数据的存储,还关乎...
在Qt框架中,显示数据库表中的数据通常涉及到多个步骤,包括连接数据库、执行查询语句、将查询结果映射到TableView组件以及自定义数据模型。以下是对这些关键知识点的详细说明: 1. **Qt与数据库连接**:Qt提供了一...
CREATE TABLE <表名>(<列名><数据类型>[列级完整性约束条件], ... , <表级完整性约束条件>); ``` 创建表的操作需要`CREATE TABLE`系统权限,如果要在其他用户的模式中创建,则需要`CREATE ANY TABLE`系统权限。 ##...
根据给定的信息,本文将详细解释如何通过SQL查询获取数据库中的表名以及这些表的列名。这在数据库管理及开发工作中是常见的需求之一,掌握这些技能有助于更好地管理和操作数据库。 ### 一、获取数据库中的所有表名 ...
在数据库管理中,掌握如何查看数据库表的大小以及如何有效地清理和压缩数据库空间是非常重要的技能。针对"查看数据库所有表大小"和相关标签"数据库"、"压缩"、"清理日志",以下将详细解释这些知识点。 首先,查看...
在MySQL数据库管理中,了解如何查询数据库中的表名、列名以及数据类型是十分重要的基本操作。以下将详细解释这些知识点及其应用场景。 1. **查询表名** 使用`SHOW DATABASES;`命令可以列出当前MySQL服务器上的所有...
- **表结构**:包括列名、数据类型、约束等。 - **表数据**:存储在表中的实际数据。 #### 准备工作 1. **确认源数据库和目标数据库已存在**:确保源数据库中有待复制的表,并且目标数据库已经建立好。 2. **检查...
总结,复制数据库表中的数据到另一个数据库的表涉及多种技术,具体使用哪种取决于你的数据库系统、数据量以及对实时性、完整性和性能的要求。务必在执行这些操作前做好充分的测试,以确保数据的准确性和系统的稳定性...
在SQL Server中,使用CREATE TABLE语句创建表,指定表名、列名、数据类型和约束条件。例如: ```sql CREATE TABLE 表名称 ( 列1 数据类型, 列2 数据类型, ... ); ``` 6. 修改表结构 修改表结构通常涉及...
在SQL Server中,创建数据库表需要定义列名、数据类型、是否允许为空,以及主键、默认值、标识列和检查约束。常见的约束类型包括: - 主键约束:确保列中数据的唯一性。 - 外键约束:建立两个表之间的关联,参照主表...
标题“数据库列名写入Excel”涉及的主要知识点是C++ Builder 2010环境下,如何将数据库中的列名导出并保存到Excel文件中。这个过程通常涉及到数据库连接、SQL查询、数据处理以及Excel文件操作。下面我们将详细讨论...
- **PL/SQL过程**:编写一个PL/SQL块,使用游标(CURSOR)遍历`USER_TAB_COLUMNS`视图中的数据,提取表名和列名,并插入到`table_tmp`表中。 ### 二、实现步骤详解 #### 1. 创建存储结果的表 ```sql CREATE TABLE ...
使用`DESC`命令可以快速查看表`aa10`中所有列的数据类型、长度和是否为空等信息。 ```sql SELECT table_name, COLUMN_ID, column_name, data_type, data_length, DATA_PRECISION, NULLABLE FROM user_tab_columns ...
通过扩展,它可以支持其他版本的SQL Server或其他类型的数据库系统,也可以添加更多的功能,比如获取索引信息、查看约束等。 在C#编程中,处理数据库操作时还需要注意错误处理和资源管理,确保在操作完成后正确关闭...
该实验旨在让学生了解 SQL Server 数据库的逻辑结构和物理结构,并了解表的结构特点和 SQL Server 的基本数据类型。 一、实验目的和要求 * 了解 SQL Server 数据库的逻辑结构和物理结构 * 了解表的结构特点 * 了解...
首先,CREATE TABLE语句是DDL的核心,它用于定义表格的结构,包括列名、数据类型、约束条件等。例如,创建一个学生表可能包括姓名(VARCHAR类型)、年龄(INT类型)和学号(PRIMARY KEY,确保唯一性)。在这个实验中...
- **数据类型兼容性**:检查Excel文件中的数据类型是否与目标表中的列类型兼容。如果不兼容,可能需要先转换数据类型。 - **错误处理**:在实际操作中可能会遇到各种错误,如文件路径错误、权限不足等。确保在执行...