[SQL]取得数据库里的数据表、字段、型态、长度、数据结构等资讯

如果想动态做查询条件,或是撰写表单产生器,以及动态产生表单,可以利用以下语法,放到检视表里以供使用。

如果想动态做查询条件,或是撰写表单产生器,以及动态产生表单,可以利用以下语法,放到检视表里以供使用。

假设我数据库里有两个数据表分别为Departments和Employees如下:

Departments
数据行名称 数据类型 长度 允许Null
dno varchar 50 0
name varchar 50 0
manager varchar 50 0
budget int 4 0
Employees
数据行名称 数据类型 长度 允许Null
eno varchar 50 0
name varchar 50 0
dpno varchar 50 1
salary int 4 0
aaa char 10 1

我使用下列语法:

SELECT dbo.sysobjects.name AS sTableName,
dbo.syscolumns.name AS sColumnsName,
dbo.syscolumns.prec AS iColumnsLength,
dbo.syscolumns.colorder AS iColumnsOrder,
dbo.systypes.name + ‘‘ AS sColumnsType,
dbo.syscolumns.isnullable AS iIsNull
FROM dbo.sysobjects INNER JOIN
dbo.syscolumns ON dbo.sysobjects.id = dbo.syscolumns.id INNER JOIN
dbo.systypes ON dbo.syscolumns.xusertype = dbo.systypes.xusertype
WHERE (dbo.sysobjects.xtype = ‘U‘)

?以下是呈现画面,我们可以知道数据库里由使用者所建立的相关数据表及其它消息。

sTableName sColumnsName iColumnsLength iColumnsOrder sColumnsType iIsNull
Departments dno 50 1 varchar 0
Departments name 50 2 varchar 0
Departments manager 50 3 varchar 0
Departments budget 10 4 int 0
Employees eno 50 1 varchar 0
Employees name 50 2 varchar 0
Employees dpno 50 3 varchar 1
Employees salary 10 4 int 0
Employees aaa 10 5 char 1

?目前在2000或是2005下测试正常。



聪明人会抓住每一次机会,更聪明的人会不断创造新机会。

每一秒都有千万种可能,包括奇迹!

技术永远不是问题!

座右铭:有电脑的地方,就找得到我!!

原文:大专栏  [SQL]取得数据库里的数据表、字段、型态、长度、数据结构等资讯

原文地址:https://www.cnblogs.com/chinatrump/p/11458272.html

时间: 2024-10-13 12:17:16

[SQL]取得数据库里的数据表、字段、型态、长度、数据结构等资讯的相关文章

取得数据库里的数据表、字段、型态、长度、数据结构等资讯 (SQL Server 2008)

取得数据库里的数据表.字段.型态.长度.数据结构等资讯 ?SELECT???????? dbo.sysobjects.name AS sTableName,?????????????????????????? dbo.syscolumns.name AS sColumnsName,?????????????????????????? dbo.syscolumns.prec AS iColumnsLength,?????????????????????????? dbo.syscolumns.co

MySQL 中的数据库名称、数据表名称、字段名称

如何查询Oracle,Sql Server,MySQL 中的数据库名称.数据表名称.字段名称 分类: Database2012-09-24 22:16 7034人阅读 评论(0) 收藏 举报 数据库sql serveroraclemysqltableobject 目录(?)[+] 在开发项目的时候有个功能需要查看数据库中有哪些表,以及每个表有哪些字段,在网上查看了一下,现在分享给大家. Oracle: 查询数据表(Tables)名称:select Table_Name, Tablespace_N

update忘了加where条件,不小心把oracle数据库里某张表的全表数据都更新了怎么办?

问题描述:数据库突然出问题了,一张物资价格表全部更新成了同一个价格,13万条数据 跟大家分享一下我自己跳的坑,希望对遇到类似问题的小伙伴有一点点帮助.ps:属于技术比较low的,所以自己进的坑比较深,解决方法可以直接看6和8 1.首先客户有数据库备份,每天凌晨都有数据库备份,我们没有dba权限,客户通过数据库监控日志查出18号有一个13万数据的update没有加where条件,给了我备份的数据库文件. 2.创建了新的表空间,表用户,导入18号的数据库(我的电脑上装了oracle服务) eg:创建

java导出数据库里的数据至Excel进行数据备份

调用部分: package com.otdrmsys.action; import com.otdrmsys.util.ResultSetToExcel; public class ExcelExport { public static void main(String[] args) { // String fileName = "otdr";//文件名,不带路径,不带.xls后缀 // String [] coloumItems = {"otdr编号",&quo

运用反射原理的简单工厂模式和运用反射原理从数据库里读出数据直接封装到实体集合里

一:简单工厂 最初学习的一个运用简单工厂的例子是做一个计算器: 首先是接口 public interface Cal { public double Calcu(double num1,double num2); } 然后是加减乘除类实现计算接口: public class Add implements Cal{ @Override public double Calcu(double num1, double num2) { return num1+num2; } } 再写一个工厂类,里面有一

ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function testdb(){ $obj=M("User"); dump($obj); } 此时浏览器输出: object(Model)#5 (20) { ["_extModel:private"] => NULL ["db:protecte

用sql删除数据库重复的数据的方法

/***********************************************两个意义上的重复记录:1.是完全重复的记录,也即所有字段均重复的记录,2.是部分关键字段重复的记录,比如username字段重复,  而其他字段不一定重复或都重复可以忽略,这类重复  问题通常要求保留重复记录中的第一条记录************************************************/ /*1.数据完全重复(用到了一个临时表#Tmp)*/CREATE TABLE ad

mysql之创建数据库,创建数据表

写在前面 项目中用到mysql数据库,之前也没用过mysql,今天就学下mysql的常用的语法,发现跟sql server的语法极其相似.用起来还是蛮简单的. 一个例子 1.创建一个名为School的数据库. 1.创建一个学生信息表:学生id(自增,主键),姓名,年龄,性别,电话,籍贯,入学时间,所属班级id(外键). 2.创建一个学生成绩表:成绩id(自增,主键),科目,成绩,学生id(外键),创建时间. 3.创建一个学生班级表:班级id(主键,自增),班级名称. 创建表和数据库 #如果存在数

让你提前认识软件开发(36):如何扩展数据表字段?

第2部分 数据库SQL语言 如何扩展数据表字段? [文章摘要] 在通信类软件中,经常会与数据库打交道.由于需求变化,或者是程序优化升级等原因,对数据表字段进行扩展是常有的事情.这就要求开发人员必须熟练掌握对数据表字段进行扩展的操作流程. 本文基于作者的数据库方面的工作经验,以实际的SQL程序为例,详细介绍了如何对对数据表字段进行扩展,为相关的开发工作提供了参考. [关键词] 数据库  数据表  扩展  SQL  开发 一.前言 在实际的软件开发项目中,对数据表字段的扩展包括如下两个方面: 第一,