查询数据库
select * From master.dbo.sysdatabases where name='数据库名' and status<>512
 
--读取库中的所有表名 (当前数据库)
select name from sysobjects where xtype='u'

--读取指定表的所有列名 
select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名') 
获取数据库表名和字段 
sqlserver中各个系统表的作用 
    sysaltfiles      主数据库                  保存数据库的文件
syscharsets      主数据库                  字符集与排序顺序
sysconfigures    主数据库                  配置选项
syscurconfigs    主数据库                  当前配置选项
sysdatabases      主数据库                  服务器中的数据库
syslanguages      主数据库                  语言
syslogins        主数据库                  登陆帐号信息
sysoledbusers    主数据库                  链接服务器登陆信息
sysprocesses      主数据库                  进程
sysremotelogins主数据库                  远程登录帐号

syscolumns        每个数据库                列
sysconstrains    每个数据库                限制
sysfilegroups    每个数据库                文件组
sysfiles          每个数据库                文件
sysforeignkeys 每个数据库                外部关键字
sysindexs        每个数据库                索引
sysmenbers        每个数据库                角色成员
sysobjects        每个数据库                所有数据库对象
syspermissions 每个数据库                权限
systypes          每个数据库                用户定义数据类型
sysusers          每个数据库                用户

//
用什么方法可以得到一个表中所有的列名。SQl语句。
select      列名=name      from      syscolumns      where      id=object_id(N'要查的表名')

use gpStrudy
select      name="name"      from      syscolumns      where      id=object_id(N'bookTable') 
获得字段的属性
//这是从一段代码中考出来的,使用的是using    System.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查询  
    //获取数据库的架构信息  
    DataTable    schemaTable    =    dr.GetSchemaTable();  
    
    int    fieldColumnCount    =    0;  
    
    fields    =    new    String[schemaTable.Rows.Count];  
    fieldTypes    =    new    String[schemaTable.Rows.Count];  
    
    for(int    i    =    0;i    <    schemaTable.Columns.Count;i++)  
    ...{  
    if(schemaTable.Columns[i].ColumnName.IndexOf("ColumnName")    >=    0)  
    ...{  
    //获取字段名称  
    
    for(int    k    =    0;k    <    schemaTable.Rows.Count;k++)  
    fields[k]    =    schemaTable.Rows[k].ItemArray[i].ToString();  
    
    fieldColumnCount++;  
    if(fieldColumnCount    >=    2)  
    ...{  
    dr.Close();  
    dc.Dispose();  
    
    dr    =    null;  
    dc    =    null;  
    return    schemaTable.Rows.Count;  
    }  
    }  
    else    if(schemaTable.Columns[i].ColumnName.IndexOf("DataType")    >=    0)  
    ...{  
    //获取字段类型  
    
    for(int    k    =    0;k    <    schemaTable.Rows.Count;k++)  
    fieldTypes[k]    =    schemaTable.Rows[k].ItemArray[i].ToString();  
    
    fieldColumnCount++;  
    if(fieldColumnCount    >=    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    String[1];  
    fieldTypes    =    new    String[1];  
    m_ErrorString    =    "Ado_Application:GetTableFields:error:"    +    ee.Message;  
    return    0;  
    }  
    }

SQl查询数据库库名,表名、表的列名的更多相关文章

  1. SQL查询数据并插入新表

    SQL查询数据并插入新表 --如果接受数据导入的表已经存在 insert into 表 select * from tablename --如果导入数据并生成表 select * into 表 fro ...

  2. oracle执行sql查询语句出现错误ORA-00942:表或视图不存在

    情况是这样,A库的用户名和表空间分别为SH , SH 把业务表SH所有数据从A库,导入到B库, 表空间为SH,用户名为SP 在B库里面执行sql查询语句出现错误ORA-00942:表或视图不存在 语句 ...

  3. SQL查询数据总结

    SQL查询数据 完整语法 Select [select选项] 字段列表[字段别名]/* from 数据源 [where条件子句] [group by子句] [having子句] [order by子句 ...

  4. SQL反模式学习笔记18 减少SQL查询数据,避免使用一条SQL语句解决复杂问题

    目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如 ...

  5. Oracle表明明存在SQL查询数据提示表不存在异常

    今天同事遇到一个很奇怪的问题,恢复了一个数据库,表明明存在,用PLSQL和sqlplus都试过了,SQL语句select * from 表名,查询数据,却提示表名不存在异常 然而,使用select * ...

  6. sql 查询目标数据库中所有的表以其关键信息

    1.查询目标库中的所有表 SELECT obj.name tablename, ---表名 schem.name schemname, ---表所属的方案 idx.rows, ---一共有几行数组 C ...

  7. 20150221—LINQ to SQL 查询数据

    LINQ to SQL 可以快捷的查询基于SQL的数据,直接在VS中包括基本的Object/relation映射器,O/R映射器可以快速的将基于SQL的数据源映射为CLR对象,之后就可以使用LINQ查 ...

  8. SQL查询数据的几大方法

    有你,查询数据我什么都不怕.快快掌握!! 出大招的工具: 1.使用LIKE.BETWEEN.IN进行模糊查询 eg1: SELECT * FROM Students WHERE 姓名 like '张% ...

  9. 基于Spring Boot,使用JPA动态调用Sql查询数据

    在<基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD>,<基于Spring Boot,使用JPA调用Sql Server数据库的存储过程并返回记录集合 ...

随机推荐

  1. python之旅:面向对象之继承与派生

    一 初识继承 编写类时,并非总要从空白开始.如果你要编写的类正好是另一个现成类的特殊版本,可使用继承来减少代码冗余,子类会“遗传”父类的属性,从而解决代码重用问题 什么是继承 继承是一种创建新类的方式 ...

  2. Codeforces Round #426 (Div. 2) D 线段树优化dp

    D. The Bakery time limit per test 2.5 seconds memory limit per test 256 megabytes input standard inp ...

  3. BP神经网络人口预测程序(matlab实现)

    自己测试人口预测的matlab实现: x=[54167    55196    56300    57482    58796    60266    61465    62828    64653  ...

  4. socket利用多线程实现一对多通信

    1.服务器端:socket()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接.将accept()写入死循环,每次连接一个客户端,开一个线程. 2.一般情况下建立s ...

  5. C# list.ForEach用法

    list.ForEach(delegate(T model) { ... });

  6. MVVM模式原则

    1.MVVM简介 这个模式的核心是ViewModel,它是一种特殊的model类型,用于表示程序的UI状态.它包含描述每个UI控件的状态的属性.例如,文本输入域的当前文本,或者一个特定按钮是否可用.它 ...

  7. 洛谷P2766 最长递增子序列问题

    https://www.luogu.org/problemnew/show/P2766 注:题目描述有误,本题求的是最长不下降子序列 方案无限多时输出 n 网络流求方案数,长见识了 第一问: DP 同 ...

  8. Presto通过RESTful接口新增Connector

    在实际使用Presto的过程中,经常会有以下的一些需求. 添加一个新的Catalog 对不再使用的Catalog希望把它删除 修改某个Catalog的参数 但在Presto中如果进行上述的修改,需要重 ...

  9. noip2012 P1081 开车旅行

    小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为Hi,城市 i 和城市 j ...

  10. <P>标签小细节

    html标签对大小写不敏感. 注释:浏览器会自动地在段落的前后添加空行.(<p> 是块级元素) 提示:使用空的段落标记 <p></p> 去插入一个空行是个坏习惯.用 ...