查询数据库
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. JavaScript演示下Singleton设计模式

    单例模式的基本结构: MyNamespace.Singleton = function() { return {}; }(); 比如: MyNamespace.Singleton = (functio ...

  2. 目标检测应用化之web页面(YOLO、SSD等)

    在caffe源码目录下的examples下面有个web_demo演示代码,其使用python搭建了Flask web服务器进行ImageNet图像分类的演示. 首先安装python的依赖库:pip i ...

  3. Android Studio 安装在Windows10中的陷阱

    操作系统:Windows 10 Pro CPU:AMD IDE:Android Studio 2.0 JDK:8.0 安装完AS(Android Studio)之后,运行AS发现无法启动模拟器,提示“ ...

  4. Linux运维七:网络基础

    1:网线 2:交换机,路由器 交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备.它可以为接入交换机的任意两个网络节点提供独享的电信号通路.最常见的交换机是以太网交换机.其他常见的 ...

  5. 解决Pytohn安装第三方库出现read timed out 问题

    输入pip --default-timeout=100 install -U Packages 如pip --default-timeout=100 install -U Pillow

  6. [转载]Visual Studio支持Node.js

    http://news.cnblogs.com/n/193893/ https://nodejstools.codeplex.com/ 微软发布了一个官方插件“Node.js Tools for Vi ...

  7. 20155321 2016-2017-2 《Java程序设计》第六周学习总结

    20155321 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 第十章 IO 流 IO 流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 J ...

  8. Exp2:后门原理与实践

    Exp2:后门原理与实践 1 实践目标 任务一:使用netcat获取主机操作Shell,cron启动 (0.5分) 任务二:使用socat获取主机操作Shell, 任务计划启动 (0.5分) 任务三: ...

  9. HDU 2063 过山车 二分匹配

    解题报告:有m个女生和n个男生要结成伴坐过山车,每个女生都有几个自己想选择的男生,然后要你确定最多能组成多少对组合. 最裸的一个二分匹配,这是我第一次写二分匹配,给我最大的感受就是看那些人讲的匈牙利算 ...

  10. caffe的特殊层

    每次写博客都带有一定的目的,在我看来这是一个记录的过程,所以尽量按照循序渐进的顺序逐步写,前面介绍的CNN层应该是非常常用的,这篇博客介绍一下某些特殊的layer,但是由于特殊的layer都带有一定的 ...