查询数据库
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. nodejs调用脚本(python/shell)和系统命令

    每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,文档见http://nodejs.org/api/ch ...

  2. paramiko修改本分源码

    一.获取paramiko源码 环境:Python3 下载地址:https://github.com/paramiko/paramiko 使用的是 demos这个文件夹 二.修改部分源码用以登入 2.1 ...

  3. bootstrap-switch

    首先需要引入bootstrap的css和js文件,再引入bootstrap-switch.css和bootstrap-switch.js文件 <script type="text/ja ...

  4. MySQL数据库应用 从入门到精通 学习笔记

    以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库查看所有数据库: SHOW DATABASES创建数据库: CREATE DA ...

  5. 2018年9月22日CCPC吉林站参赛总结

    发现思维题是硬伤,代码能力是硬伤,对知识点的理解不深刻是硬伤 接下来要做的就是 1.熟悉每一个知识点,把每一个知识点和实现它的代码联系在一起学习 2.多见题,看看他们是怎么考察这些知识点的,等比赛的时 ...

  6. Golang入门教程(一)GOPATH与工作空间(Windows)

    https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/01.2.md Windows 环境: 下面我就 ...

  7. Metrics.Net实践(2)在WEB中应用度量

    Gauges 可以画出Http Request执行时间的波形图: actionInfo表示MVC中的Action,即按照action类型来分组 Metric.Context(this.actionIn ...

  8. [php]php时间格式化

    1.将毫秒转化为时间格式 date("Y-m-d H:i:s",$millsec);

  9. 【BZOJ】4259: 残缺的字符串 FFT

    [题意]给定长度为m的匹配串B和长度为n的模板串A,求B在A中出现多少次.字符串仅由小写字母和通配符" * "组成,其中通配符可以充当任意一个字符.n<=3*10^5. [算 ...

  10. HDU 1717 小数化分数2 数学题

    解题报告:输入一个小于1的小数,让你把这个数转化成分数,但注意,输入的数据还有无限循环的小数,循环节用一对括号包含起来. 之前还没有写过小数转分数的题,当然如果没有循环小数的话,应该比较简单,但是这题 ...