当前位置:首页 » 数据仓库 » 数据库describe
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库describe

发布时间: 2022-06-27 21:13:29

Ⅰ 如何查询数据库表结构

mysql
describe 表名 (查询表结构)
show tables(查表名)
show databases(查数据库名)

Ⅱ 什么叫数据库关系模式描述

关系模式是关系的描述。关系模式描述与关系对应的二维表的表结构,即关系中包含那些属性,属性来自那些域,以及与域之间的映象关系。

Ⅲ 想描述一个数据库需要从哪几方面说

1.数据结构化
数据库系统实现了整体数据的结构化,这是数据库的最主要的特征之一。这里所说的“整体”结构化,是指在数据库中的数据不再仅针对某个应用,而是面向全组织;不仅数据内部是结构化,而且整体式结构化,数据之间有联系。数据结构化体现在数据模型之间的联系上。比如订单和用户,订单和用户是两个关系,将两个关系模型从现实中抽象出来后利用属性列表示为某个特定关系;用户和订单两个关系之间是存在某种关系,比如用户可以没有下订单,但是所下的订单必须对一个用户。
2.数据的共享性高,冗余度低,易扩充
因为数据是面向整体的,所以数据可以被多个用户、多个应用程序共享使用,可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。这个很容易理解,数据放在数据库中,只要合法用户均可使用数据;同一个数据表可对应不同应用视图,比如订单表,可以在这个表上建立多个视图,而不是根据多应用建立多个表。因为数据是结构化的,扩充只需要对表的结构进行修改即可,而不需要修改整个数据库。
3.数据独立性高
数据独立性包括数据的物理独立性和逻辑独立性。
物理独立性是指数据在磁盘上的数据库中如何存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样一来当数据的物理存储结构改变时,用户的程序不用改变。这个很容易理解,就和去仓库领用物品一样,你不需要知道东西放在哪怎样存储的,只要能从仓库管理员到你要的东西即可,这个仓库管理员就是DBMS。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不改变。逻辑结构是对数据的定义,比如数据库里面有一个model系统数据库是专门存放对数据的定义的。就是说当改变数据的定义时,你写的程序也可以像原来一样运行。数据与程序的独立,把数据的定义从程序中分离出去,加上存取数据的由DBMS负责提供,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
4.数据由DBMS统一管理和控制
数据库的共享是并发的(concurrency)共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据。这个很容易理解,DBMS就是仓库管理员,你想管理物资,只需要对仓库管理下达管理命令即可。

Ⅳ oracle数据库中有一个表(id,name,describe)想在jsp页面中取出表中的name字段填入select下拉列表框中

先查询出你需要的name放到list中
页面代码
<select id="name">
<%
for(int i=0;i<list.size();i++)
{
%>
<option>
<%
list[i]
%>
</option>
<%
};
%>
</select>

Ⅳ 我想知道数据库中的表的描述以及字段的表述 是不是用describe 什么的有简单的语句吗

describe是描述表中字段以及类型的。

你是想知道对表加的说明和对字段加的说明

还是想描述这个表中有多少个字段?

如果是想知道表中有多少个字段的话

可以用这个语句:

desc 表名

这个命令会把这个表中的字段以及类型都显示出来。

Ⅵ 数据库的命令都有哪些

1、显示当前存在的数据库 mysql> show databases;

2、选择数据库 mysql> USE mysql Database changed (USE 和 QUIT 命令不需要分号结束。),显示当前选择的数据库 mysql> select database();

3、显示当前数据库中存在的表 mysql> SHOW TABLES;

4、显示表(db)的内容 mysql>select * from db;

5、命令的取消 当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令 mysql> select -> user() -> c

6、创建一个数据库abccs mysql> CREATE DATABASE abccs;

7、选择你所创建的数据库 mysql> USE abccs Database changed;

8、创建一个数据库表 首先看现在你的数据库中存在什么表: mysql> SHOW TABLES; Empty set (0.00 sec) 说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable: 我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。 mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), birth DATE, birthaddr VARCHAR(20));

9、显示表的结构: mysql> DESCRIBE mytable;

10、 往表中加入记录 我们先用SELECT命令来查看表中的数据: mysql> select * from mytable; Empty set (0.00 sec) 这说明刚才创建的表还没有记录。 加入一条新记录: mysql> insert into mytable values ('abccs','f','1977-07-07','china');

11、用文本方式将数据装入一个数据库表 如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。 创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在 CREATE TABLE语句中列出的列次序给出,例如: abccs f 1977-07-07 china mary f 1978-12-12 usa tom m 1970-09-02 usa 使用下面命令将文本文件“mytable.txt”装载到mytable表中: mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; 再使用如下命令看看是否已将数据输入到数据库表中: mysql> select * from mytable;

12、从数据库表中检索信息 select语句格式一般为: SELECT 检索关键词 FROM 被检索的表 WHERE 检索条件

13、查询所有数据: mysql> select * from mytable;

14、修正错误记录: 假如tom的出生日期有错误,应该是1973-09-02,则可以用update语句来修正: mysql> update mytable set birth = "1973-09-02" where name = "tom";

15、 选择特定列 假如你想查看表中的所有人的姓名,则可以这样操作: mysql> SELECT name FROM mytable; 如果想列出姓名和性别两列,则可以用逗号将关键词name和birth分开: myaql> select name,birth from mytable;

16、对行进行排序 我们可以对表中的记录按生日大小进行排序: mysql> SELECT name, birth FROM mytable ORDER BY birth; 我们可以用DESC来进行逆序排序: mysql> SELECT name, birth FROM mytable ORDER BY birth DESC;
17、 行计数 数据库经常要统计一些数据,如表中员工的数目,我们就要用到行计数函数COUNT()。 COUNT()函数用于对非NULL结果的记录进行计数: mysql> SELECT COUNT(*) FROM mytable; 员工中男女数量: mysql> SELECT sex, COUNT(*) FROM mytable GROUP BY sex;

18、多表查询 现在我们有了两个表: mytable 和 title。利用这两个表我们可以进行组合查询: 例如我们要查询作者abccs的姓名、性别、文章: mysql> SELECT name,sex,title FROM mytable,title WHERE name=writer AND name='abccs'; 用于查询文章a2的作者、出生地和出生日期: mysql> select title,writer,birthaddr,birth from mytable,title -> where mytable.name=title.writer and title='a2';

19、增加一列: 如在前面例子中的mytable表中增加一列表示是否单身single: mysql> alter table mytable add column single char(1);

20、修改记录 将abccs的single记录修改为“y”: mysql> update mytable set single='y' where name='abccs';

21、增加记录 前面已经讲过如何增加一条记录,为便于查看,重复与此: mysql> insert into mytable values ('abc','f','1966-08-17','china','n');

22、删除记录 用如下命令删除表中的一条记录: mysql> delete from mytable where name='abc'; DELETE从表中删除满足由where给出的条件的一条记录。

23、删除表: mysql> drop table ****(表1的名字),***表2的名字; 可以删除一个或多个表,小心使用。

24、数据库的删除: mysql> drop database

Ⅶ SQL里的show和describe有什么区别.

show table table_name :用于查看表的类型,更新时间等外部信息
describe table table_name:则用于查看表的结构详情信息,

Ⅷ mysql查询一个列名都存在于哪些表

Mysql使用Describe命令判断字段是否存在 工作时需要取得MySQL中一个表的字段是否存在 于是就使用Describe命令来判断 mysql_connect('localhost', 'root', 'root'); mysql_select_db('demo'); $test = mysql_query('Describe cdb_posts first'); $test = mysql_fetch_array($test); $test[0]返回的是该字段的名 工作时需要取得MySQL中一个表的字段是否存在 于是就使用Describe命令来判断 mysql_connect('localhost', 'root', 'root'); mysql_select_db('demo'); $test = mysql_query('Describe cdb_posts first'); $test = mysql_fetch_array($test); $test[0]返回的是该字段的名称,比如我要查询first字段,返回的就是first 如果此字段不存在返回的就是NULL,通过这样可以判断一个字段是否存在 附加资料: describe命令 一、describe命令用于查看特定表的详细设计信息,例如为了查看guestbook表的设计信息,可用: describe guestbook 二、可通过”show comnus”来查看数据库中表的列名,有两种使用方式: show columns form 表名 from 数据库名 或者: show columns from 数据库名.表名 三、用describe命令查询具体列的信息 describe guestbook id 就是查询guestbook中id字段的列信息 {DESCRIBE | DESC} tbl_name [col_name | wild] DESCRIBE 是 SHOW COLUMNS FROM 的缩写。DESCRIBE 提供有关一个表的列信息。col_name 可以是一个列名或是一个包含 SQL 通配符字符 “%” 和“_” 的字符串。没有必要用引号包围字符串。 如果列类型不同于你所期望的基于一个 CREATE TABLE 语句建立的列,注意 MySQL 有时会更改列类型。

Ⅸ 数据库中显示表的各个字段属性,它所用的命令是什么书上说实用describe,但是我用的时候说错误

SELECT
TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END,
TableDesc=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''),
Column_id=C.column_id,
ColumnName=C.name,
PrimaryKey=ISNULL(IDX.PrimaryKey,N''),
[IDENTITY]=CASE WHEN C.is_identity=1 THEN N'√'ELSE N'' END,
Computed=CASE WHEN C.is_computed=1 THEN N'√'ELSE N'' END,
Type=T.name,
Length=C.max_length,
Precision=C.precision,
Scale=C.scale,
NullAble=CASE WHEN C.is_nullable=1 THEN N'√'ELSE N'' END,
[Default]=ISNULL(D.definition,N''),
ColumnDesc=ISNULL(PFD.[value],N''),
IndexName=ISNULL(IDX.IndexName,N''),
IndexSort=ISNULL(IDX.Sort,N''),
Create_Date=O.Create_Date,
Modify_Date=O.Modify_date
FROM sys.columns C
INNER JOIN sys.objects O
ON C.[object_id]=O.[object_id]
AND O.type='U'
AND O.is_ms_shipped=0
INNER JOIN sys.types T
ON C.user_type_id=T.user_type_id
LEFT JOIN sys.default_constraints D
ON C.[object_id]=D.parent_object_id
AND C.column_id=D.parent_column_id
AND C.default_object_id=D.[object_id]
LEFT JOIN sys.extended_properties PFD
ON PFD.class=1
AND C.[object_id]=PFD.major_id
AND C.column_id=PFD.minor_id
-- AND PFD.name='Caption' -- 字段说明对应的描述名称(一个字段可以添加多个不同name的描述)
LEFT JOIN sys.extended_properties PTB
ON PTB.class=1
AND PTB.minor_id=0
AND C.[object_id]=PTB.major_id
-- AND PFD.name='Caption' -- 表说明对应的描述名称(一个表可以添加多个不同name的描述)
LEFT JOIN -- 索引及主键信息
(
SELECT
IDXC.[object_id],
IDXC.column_id,
Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending')
WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,
PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N'' END,
IndexName=IDX.Name
FROM sys.indexes IDX
INNER JOIN sys.index_columns IDXC
ON IDX.[object_id]=IDXC.[object_id]
AND IDX.index_id=IDXC.index_id
LEFT JOIN sys.key_constraints KC
ON IDX.[object_id]=KC.[parent_object_id]
AND IDX.index_id=KC.unique_index_id
INNER JOIN -- 对于一个列包含多个索引的情况,只显示第1个索引信息
(
SELECT [object_id], Column_id, index_id=MIN(index_id)
FROM sys.index_columns
GROUP BY [object_id], Column_id
) IDXCUQ
ON IDXC.[object_id]=IDXCUQ.[object_id]
AND IDXC.Column_id=IDXCUQ.Column_id
AND IDXC.index_id=IDXCUQ.index_id
) IDX
ON C.[object_id]=IDX.[object_id]
AND C.column_id=IDX.column_id
-- WHERE O.name=N'要查询的表' -- 如果只查询指定表,加上此条件 没有写的话,就是查询---该数据库的所有表
WHERE O.name='BusinessCardInfo' --这里是查询表BusinessCardInfo的所有字段属性。
ORDER BY O.name,C.column_id

---------------------------------------------------------------------------------------------------
上面的也测试过了。没问题的。只显示指定表的个字段属性
上面这个方法是以前刚好要用网上一个叫“邹建”的写的,这里就借花献佛下。

其实这个写蛮麻烦的。想好记点就直接用 SP_HELP 表名
不过里面信息比较多,自己得去小找下。