查询数据库
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. logger.debug的用处

    原文:https://www.cnblogs.com/xiangkejin/p/6426761.html logger.debug的用处 简单的说,就是配合log的等级过滤输出 根据你log4j的配置 ...

  2. ubuntu thrift

    1.下载 http://www.apache.org/dyn/closer.cgi?path=/thrift/0.9.2/thrift-0.9.2.tar.gz 2.解压 tar -xvf thrif ...

  3. python 获取本机 IP

    原文 通过 UDP 获取本机 IP,目前见过最优雅的方法 这个方法是目前见过最优雅获取本机服务器的IP方法了.没有任何的依赖,也没有去猜测机器上的网络设备信息. 而且是利用 UDP 协议来实现的,生成 ...

  4. Java基础之疑难知识点

    问题列表: 1. Java中子类中可以有与父类相同的属性名吗? 2. Java中子类继承了父类的私有属性及方法吗? 3. Java中抽象类到底能不能被实例化? 1. Java中子类中可以有与父类相同的 ...

  5. P2207 Photo

    P2207 Photo 题目描述 Framer Jhon 打算给他的N头奶牛照相,( 2 <= N <= 1 000 000 000) . 他们排成一条线,并且依次取1~N作为编号. 每一 ...

  6. 大量DOM操作的解决方案

    案例:如何在页面元素ul中一次性插入30000个li标签,保证页面体验流畅呢? 解决方案:可以从减少 DOM 操作次数.缩短循环时间两个方面减少主线程阻塞的时间 减少 DOM 操作次数的良方是 Doc ...

  7. 深入浅出CSS(三):隐藏BOSS大盘点之默认属性小总结

    写在前面 严重警告,本文包含大量文字,且无配图,请做好充分心理准备后,再进行阅读! 严重警告,本文包含大量文字,且无配图,请做好充分心理准备后,再进行阅读! 严重警告,本文包含大量文字,且无配图,请做 ...

  8. Jenkins git 的配置及问题解决

    背景:最近项目需要 Jenkins 集成git,着手记录遇到的问题及解决方式 一.搭建Jenkins环境步骤这里(略) 二.安装Jenkins插件(系统管理-->插件管理-->可选插件)选 ...

  9. git 第一次关联远程仓库

    1.首先需要先git pull origin master 2.然后合并两个无关的仓库 git pull origin master --allow-unrelated-histories

  10. Web Api问题汇总

    在公网上布署Web Api的时候,不能调用,返回404 在web.config中 Adding the following to the web.config file worked for me: ...