查询数据库
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. UIScrollview 与 Autolayout 的那点事

    原文  http://www.cocoachina.com/ios/20151221/14757.html 前言 自从写了 介绍Masonry 那篇文章以后 就一直有人对UIScrollView的那个 ...

  2. WHY C++ ?(by Herb Sutter) & C++17 standard

    WHY C++ ? C++

  3. [Leetcode] Backtracking回溯法解题思路

    碎碎念: 最近终于开始刷middle的题了,对于我这个小渣渣确实有点难度,经常一两个小时写出一道题来.在开始写的几道题中,发现大神在discuss中用到回溯法(Backtracking)的概率明显增大 ...

  4. python 导入自定义模块

    1. 2.

  5. C语言第九节进制

    进制 什么是进制 是一种计数的方式,数值的表示形式 数一下方块的个数 汉字:十一 十进制:11 二进制:1011 八进制:13 多种进制:十进制.二进制.八进制.十六进制.也就是说,同一个整数,我们至 ...

  6. 你知道吗?undefined 与 null 的区别

    大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的none,Ruby语言的nil. 有点奇怪的是,JavaScript ...

  7. 阿里云mysql数据库设置让公网访问客户端访问

    第一步 首先使用root登入你的mysql ./mysql -u root -p 你的密码 第二步 备注:也可以添加一个用户名为yuancheng,密码为123456,权限为%(表示任意ip都能连接) ...

  8. ASP.NET mvc下在Controller下action的跳转方式

    在ASP.NET mvc下,action有多种挑战方式: return RedirectToAction("Index");//一个参数时在本Controller下 如果Redir ...

  9. dubbox ExceptionMapper Filter request response 数据获取 数据传递

    dubbx虽然是基于jboss的resteasy实现restfull,但是对resteasy原生的配置却不支持(可能是考虑到dubbo本事的设计模式及实现难度,但是和大部分framework的设计风格 ...

  10. 收集了一些python的文章

    来自: 戴铭 2010-08-31 17:52:31 newthreading - safer concurrency for Python 安全并发(1回应) http://www.starming ...