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数据库
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)