SQL查询表名、列名、列属性

上传人:桔**** 文档编号:479260177 上传时间:2022-08-21 格式:DOCX 页数:5 大小:64.59KB
返回 下载 相关 举报
SQL查询表名、列名、列属性_第1页
第1页 / 共5页
SQL查询表名、列名、列属性_第2页
第2页 / 共5页
SQL查询表名、列名、列属性_第3页
第3页 / 共5页
SQL查询表名、列名、列属性_第4页
第4页 / 共5页
SQL查询表名、列名、列属性_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《SQL查询表名、列名、列属性》由会员分享,可在线阅读,更多相关《SQL查询表名、列名、列属性(5页珍藏版)》请在金锄头文库上搜索。

1、Oracle:1.查询表名:select table_name,tablespace_name,temporary from user_tables /在所有非管理员仓 U 建的表中查询select table_name,tablespace_name,temporary from dba_tables /在所有管理员创建 的表中查询select table_name,tablespace_name,temporary from all_tables /在所有表中查询select table_name,tablespace_name,temporary from all_tables wher

2、e table_name=表名在所有表中查询指定表select table_name,tablespace_name,temporary fromall_tables where lespace_name=表空间名在所有表中查询属性指定表空间的表其中:table_name:表名(varchar2(30);tablespace_name:存储表名的表空间(varchar2 (30);temporary:能无法为暂时表(varchar2 (1)。eg: select table_name,tablespace_name,temporary from user_tables wheretable_n

3、ame=TEST_TEMP;结果:table_name tablespace_name temporaryTEST_TEMP SDMP N注:表名变量值必须大写。2.查询表列名:复制代码代码如下:SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME =表名ORDER BY COLUMN_IDSELECT COLUMN_NAME FROM DBA_TAB_COLUMNS WHERE TABLE_NAME =表名ORDER BY COLUMN_IDSELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE

4、 TABLE_NAME =表名ORDER BY COLUMN_IDselect column_name,data_type ,data_length,data_precision,data_scale from user_tab_columns where table_name=表名;其中:column_name:列名(varchar2(30);data_type:列的数据类型(varchar2(106);data_length:列的长度(number);eg:select column_name,data_type ,data_length,data_precision,data_scale

5、 from user_tab_columns where table_name=TEST_TEMP;结果:column_name data_type data_length data_precision data_scaleID NUMBER 22 0NAME NVARCHAR2 20SEX CHAR 1GRADE NVARCHAR2 10注:表名变量值必须大写。另外,也可以议决all tab columns来获取有关表的数据。eg:select * from all tab columns where table name=TEST TEMP;sqlserver:select name fr

6、om syscolumns where id=object id(表 名)select count(*) from syscolumns where id=object id(表 名) 读取库中的所有表名select name from sysobjects where xtype=u-读取指定表的所有列名select name from syscolumns where id=(select max(id) fromsysobjects where xtype=u and name=表名)获取数据库表名和字段sqlserver中各个系统表的作用sysaltfiles主数据库保存数据库的文件s

7、yscharsets主数据库字符集与排序顺序sysconfigures主数据库配置选项syscurconfigs主数据库当前配置选项sysdatabases主数据库服务器中的数据库syslanguages主数据库语言syslogins主数据库登陆帐号信息sysoledbusers主数据库链接服务器登陆信息sysprocesses主数据库进程sysremotelogins 主数据库远程登录帐号syscolumns每个数据库列sysconstrains每个数据库限制sysfilegroups每个数据库文件组sysfiles每个数据库文件sysforeignkeys每个数据库外部关键字sysinde

8、xs每个数据库索引sysmenbers每个数据库角色成员sysobjects每个数据库所有数据库对象syspermissions每个数据库权限systypes每个数据库用户定义数据类型sysusers每个数据库用户/ 用什么方法可以得到一个表中所有的列名。SQl语句。select歹U名=namefrom syscolumns whereid=object_id(N要 查的表名)use gpStrudyselect name=name from syscolumns where id=object_id(NbookTable)获得字段的属性这是从一段代码中考出来的,使用的是using Syste

9、m.Data.OleDb;public int GetTableFields(String tableName,out String fields,out String fieldTypes).try.OleDbCommand dc = m_OleDb.CreateCommand();/创建一个执行对象用于执行sql查询dc.CommandText = select * from + tableName;dc.Transaction = m_OleTrans;OleDbDataReader dr = dc.ExecuteReader();/执行 sql 查询获取数据库的架构信息DataTabl

10、e schemaTable = dr.GetSchemaTable();int fieldColumnCount = 0;fields = new StringschemaTable.Rows.Count;fieldTypes = new StringschemaTable.Rows.Count;for(int i= 0;i = 0).获取字段名称for(int k = 0;k = 2).dr.Close();dc.Dispose();dr = null;dc =null;return schemaTable.Rows.Count;else if(schemaTable.Columns.Col

11、umnName.IndexOf(DataType) = 0).获取字段类型for(int k = 0;k = 2).dr.Close();dc.Dispose();dr = null;dc = null;return schemaTable.Rows.Count;dr.Close();dc.Dispose();dr = null;dc = null;return 0;catch(Exception ee).fields = new String1;fieldTypes = new String1;m_ErrorString = Ado_Application:GetTableFields:error: + ee.Message;return 0;查看当前库中所有表和字段信息d.xtype=V) and d.namedtproperties left join syscomments e on a.cdefault=e.id |where d.name=purchase|medicine| order by a.colorder红色部分为限制条件,加上则为查询purchase medicine这个表,不加的话,就查询所有的表。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号