sql语句如何取得数据库中表的字段信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句如何取得数据库中表的字段信息相关的知识,希望对你有一定的参考价值。

可能是我表述有问题,我意思是直接在数据库中用sql语句查看一个列的数据类型,我用的sqlserver2000的数据库。谢谢

select *from 表名 where ‘列名1’=‘值’,'列名2'='值'
例如从一个学生成绩表(course)中查找语文不及格的学生
select * from course
where ‘语文’<60
参考技术A 不知道你用的编程环境是什么,不过都是相似的

Set conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver=Microsoft Access Driver (*.mdb);DriverId=25;FIL=MS Access;"
Set rs1 = Server.CreateObject("ADODB.Recordset")
rs1.Open "产品",conn1,1,3
Response.Write "text<BR>"
Response.Write "ActualSize: " & rs1("名称").ActualSize & "<BR>"
Response.Write "DefinedSize: " &rs1("名称").DefinedSize & "<BR>"
Response.Write "Type: " & rs1("名称").Type & "<BR>"
Response.Write "Name: " & rs1("名称").Name & "<BR>"
Response.Write "NumericScale: " & rs1("名称").NumericScale & "<BR>"
Response.Write "Precision: " & rs1("名称").Precision & "<p>"
参考技术B 查看单一表table1。
select t1.name,t2.name from syscolumns t1 left join systypes t2
on t1.xtype=t2.xtype where t1.id=object_id('table1')
查看所有表。
select tablename=t1.name,columnname=t2.name,typename=t3.name from sysobjects t1
left join syscolumns t2 on t1.id=t2.id
left join systypes t3 on t2.xtype=t3.xtype
where t1.xtype='U'
参考技术C SELECT name, type_name(xtype) AS type, length
FROM syscolumns
WHERE (id = OBJECT_ID('dbuser')) --用你的表名换一下dbuser
参考技术D 代码如下:

using (var conn = new mysqlConnection(connStr))

conn.Open();
var command = new MySqlCommand("desc user", conn);
var reader = command.ExecuteReader();
while (reader.Read())

Console.Write(reader.GetString(0));
Console.Write(reader.GetString(1));
Console.WriteLine();

取得指定Schema下的表

MYSQL中取得指定Schema下所有表定义的SQL语句如下(假设Schema名为demoschema):


SHOWTABLES FROM demoschema

MSSQLServer中的系统表sysobjects中记录了当前系统中定义的对象,其中xtype字段等于U的记录为表定义,因此取得当前数据库中所有表定义的SQL语句如下(假设Schema名为demoschema):


SELECT name FROM demoschema.sysobjects where xtype="U"

Oracle中的系统表all_objects中记录了当前系统中定义的对象,其中Object_Type字段等于TABLE的记录为表定义,OWNER字段为Schema,因此取得当前数据库中所有表定义的SQL语句如下(假设Schema名为demoschema):


select Object_Name from all_objects where Object_Type="TABLE" and OWNER="demoschema"

DB2中的系统表all_syscat.tables中记录了当前系统中定义的表和视图,其中TYPE字段等于T的记录为表定义,TABSCHEMA字段为Schema,因此取得当前数据库中所有表定义的SQL语句如下(假设Schema名为demoschema):


SELECT TABNAME FROM syscat.tables where TYPE="T" and TABSCHEMA="demoschema"

以上是关于sql语句如何取得数据库中表的字段信息的主要内容,如果未能解决你的问题,请参考以下文章

在ASP中SQL语句中表名或列名为啥要加中括号

如何对sqlserver2005数据库中表字段进行加密,解密?

C#中查询数据库中表的信息的语句怎么写

SQL:如何取得分组中某个字段为最大值的那些记录

SQL语法怎么取得一个字段的最大值

如何在java中用hql或sql查询得到某表的所有字段名?