mysql desc指令_MySQL Desc指令相关

MySQL Desc指令相关

2011-08-09 11:25:50|  分类: my基本命令 |举报 |字号 订阅

1、desc tablename;

例如 :mysql> desc jos_modules;

+------------------+---------------------+------+-----+---------------------+----------------+

| Field              | Type

| Null   |

Key   | Default

| Extra          |

+--------------- ---+---------------------+------+-----+---------------------+----------------+

| id                   | int(11)

| NO    | PRI

| NULL                |

auto_increment |

| title                | text

| NO    |

| NULL

|

|

| content          | text

| NO    |

| NULL

|

|

| ordering         | int(11)

| NO    |

| 0

|

|

+------------------+---------------------+------+-----+---------------------+----------------+

使用MySQL数据库desc 表名时,我们看到Key那一栏,可能会有4种值,即' ','PRI','UNI','MUL'。

1. 如果Key是空的, 那么该列值的可以重复, 表示该列没有索引, 或者是一个非唯一的复合索引的非前导列;

2. 如果Key是PRI,  那么该列是主键的组成部分;

3. 如果Key是UNI,  那么该列是一个唯一值索引的第一列(前导列),并别不能含有空值(NULL);

4. 如果Key是MUL,  那么该列的值可以重复, 该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值NULL。

如果对于一个列的定义,同时满足上述4种情况的多种,比如一个列既是PRI,又是UNI,那么"desc 表名"的时候,显示的Key值按照优先级来显示 PRI->UNI->MUL。那么此时,显示PRI。

一个唯一性索引列可以显示为PRI,并且该列不能含有空值,同时该表没有主键。

一个唯一性索引列可以显示为MUL, 如果多列构成了一个唯一性复合索引,因为虽然索引的多列组合是唯一的,比如ID+NAME是唯一的,但是没一个单独的列依然可以有重复的值,只要ID+NAME是唯一的即可。

查看mysql表结构的方法有三种:

1、desc tablename;

例如:

要查看jos_modules表结构的命令:

desc jos_modules;

查看结果:

mysql> desc jos_modules;

+------------------+---------------------+------+-----+---------------------+----------------+

| Field            |

Type

| Null | Key |

Default

| Extra          |

+------------------+---------------------+------+-----+---------------------+----------------+

|

id

| int(11)

| NO   | PRI |

NULL

| auto_increment |

| title            |

text

| NO   |     | NULL

|

|

| content          |

text

| NO   |     |

NULL

|

|

| ordering         |

int(11)

| NO   |     |

0

|

|

| position         |

varchar(50)         | YES

|     |

NULL

|

|

| checked_out      | int(11)

unsigned    | NO   |     |

0

|

|

| checked_out_time |

datetime            |

NO   |     | 0000-00-00 00:00:00

|

|

| published        |

tinyint(1)          |

NO   | MUL |

0

|

|

| module           |

varchar(50)         | YES | MUL |

NULL

|

|

| numnews          |

int(11)

| NO   |     |

0

|

|

| access           |

tinyint(3) unsigned | NO   |     |

0

|

|

| showtitle        | tinyint(3) unsigned |

NO   |     |

1

|

|

| params           |

text

| NO   |     |

NULL

|

|

| iscore           |

tinyint(4)          |

NO   |     |

0

|

|

| client_id        |

tinyint(4)          |

NO   |     |

0

|

|

| control          |

text

| NO   |     |

NULL

|

|

+------------------+---------------------+------+-----+---------------------+----------------+

2、show create table tablename;

例如:

要查看jos_modules表结构的命令:

show create table jos_modules;

查看结果:

mysql> show create table jos_modules;

jos_modules | CREATE TABLE `jos_modules` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`title` text NOT NULL,

`content` text NOT NULL,

`ordering` int(11) NOT NULL DEFAULT '0',

`position` varchar(50) DEFAULT NULL,

`checked_out` int(11) unsigned NOT NULL DEFAULT '0',

`checked_out_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

`published` tinyint(1) NOT NULL DEFAULT '0',

`module` varchar(50) DEFAULT NULL,

`numnews` int(11) NOT NULL DEFAULT '0',

`access` tinyint(3) unsigned NOT NULL DEFAULT '0',

`showtitle` tinyint(3) unsigned NOT NULL DEFAULT '1',

`params` text NOT NULL,

`iscore` tinyint(4) NOT NULL DEFAULT '0',

`client_id` tinyint(4) NOT NULL DEFAULT '0',

`control` text NOT NULL,

PRIMARY KEY (`id`),

KEY `published` (`published`,`access`),

KEY `newsfeeds` (`module`,`published`)

) ENGINE=MyISAM AUTO_INCREMENT=145 DEFAULT CHARSET=utf8

3、use information_schema;select * from columns where

table_name='tablename'

例如:

要查看jos_modules表结构的命令:

use information_schema;

select * from columns where table_name='jos_modules';

查看结果:

略。

如果要查看怎么建立数据表的命令用第二种方法最佳

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值