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

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

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 表名

不过里面信息比较多,自己得去小找下。

1.在VB界面选“工程”菜单-》“部件”菜单项,系统打开“部件”对话框

选择2个

ADO

控件,即“Microsoft

ADO

Data

Control

6.0”(简称ADODC)和“Microsoft

DataGrid

Control

6.0”。这两个控件前者用来连接数据库,用于以

表格

形式显示数据库表的内容。

2.在VB界面中加入ADODC及DataGrid,设置ADODC的ConnectionString属性。选择该属性,单击“...”按钮,系统打开对话框,单击“生成...”按钮,系统显示“数据连接属性”,在提供程序中选择“Microsoft.Jet.OLEDB.4.0”,在连接中选择填写数据库表的

名称

,最后单击“确定”

3.设置ADODC的RecordSource属性,打开

属性页

,在命令类型中选择“1-adCmdText”,命令文本中输入数据库的命令(如select

*

from

表名

where

查询条件)

4.设置DataGrid的“DataSource”为ADODC的名称

5.然后就是编程问题了。明天继续

如还有问题加我QQ:272388243

请注明加我的理由

查询一个数据库中的所有表sql语句是show tables;

显示所有数据库的命令是:show databases;要查看某个数据库先要进入数据库使用user <数据库名>命令;进入数据库之后才能查询数据库中有哪些表。使用以下命令即可查出所有表:

show tables;

扩展资料

mysql数据库的基本sql *** 作命令介绍:

1、显示当前数据库服务器中的数据库列表:mysql>SHOW DATABASES

2、建立数据库:mysql>CREATE DATABASE 库名

3、建立数据表:mysql>USE 库名mysql>CREATE TABLE 表名 (字段名 VARCHAR(20), 字

名 CHAR(1))

4、删除数据库:mysql>DROP DATABASE 库名

5、删除数据表:mysql>DROP TABLE 表名;

6、将表中记录清空:mysql>DELETE FROM 表名

7、往表中插入记录:mysql>INSERT INTO 表名 VALUES ("hyq","M")

8、更新表中数据:mysql->UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c'

9、用文本方式将数据装入数据表中:mysql>load data local infile "d:/mysql.txt" into table 表名

10、导入.sql文件命令:mysql>USE 数据库名mysql>source d:/mysql.sql


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9983319.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存