数据库中显示表的各个字段属性,它所用的命令是什么?书上说实用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.查看数据库,选中使用数据库,并查看数据库表,具体 *** 作命令如下:

show databases

use student

show tables

2.选择student数据库中的一张表stu_score,查看数据库表数据,并利用explain分析数据库表,如下图所示:

select * from stu_score

explain select * from stu_score

3.查看数据库使用索引的情况,使用命令:

show status like 'Handler_read%'

4.用于分析和存储表的关键字,分析的结果可以得到精准的信息,利用命令analyze,

analyze table stu_score

5.检查数据库表stu_score,检查表是否有错误,利用命令:

check table stu_score

6.优化数据库表,利用命令:

optimize table stu_score

扩展资料:

可以使用命令行工具管理 MySQL 数据库(命令 mysql 和 mysqladmin),也可以从 MySQL 的网站下载图形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。

phpMyAdmin是由 php 写成的 MySQ L资料库系统管理程程序,让管理者可用 Web 界面管理 MySQL 资料库。

phpMyBackupPro也是由 PHP 写成的,可以透过 Web 界面创建和管理数据库。它可以创建伪 cronjobs,可以用来自动在某个时间或周期备份 MySQL 数据库。

另外,还有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager, navicat等等。

show tables和desc table作用不用,show tables作用显示数据库中有哪些数据表,而desc table需要加表名等参数,作用是是显示数据表的表都定义了哪些字段,及各个字段的类型大小,及哪些是主键,哪些有约束条件,以及各个字段是否定义了默认值。

扩展资料:

mysql常用命令

使用SHOW语句找出在服务器上当前存在什么数据库:SHOW DATABASES。

创建一个数据库MYSQLDATA:CREATE DATABASE MYSQLDATA。

选择你所创建的数据库:USE MYSQLDATA; (按回车键出现Database changed 时说明 *** 作成功!)

查看现在的数据库中存在什么表:SHOW TABLES。

创建一个数据库表: CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1))。

显示表的结构: DESCRIBE MYTABLE。

往表中加入记录:mysql>insert into MYTABLE values (”hyq”,”M”)。

用文本方式将数据装入数据库表中(例如D:/mysql.txt):LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE。

导入sql文件命令(例如D:/mysql.sql):use databasesource d:/mysql.sql。

删除表:drop TABLE MYTABLE。

清空表:delete from MYTABLE。

更新表中数据:update MYTABLE set sex=”f” where name=’hyq’。

参考资料来源:百度百科-MySQL数据库


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

原文地址: http://outofmemory.cn/sjk/9983314.html

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

发表评论

登录后才能评论

评论列表(0条)

保存