程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQl查詢數據庫庫名,表名、表的列名

SQl查詢數據庫庫名,表名、表的列名

編輯:關於SqlServer
查詢數據庫 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; 
    } 
    }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved