mysql语句:KEY `name` (`pername`,`status`,`pid`)是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql语句:KEY `name` (`pername`,`status`,`pid`)是啥意思?相关的知识,希望对你有一定的参考价值。

CREATE TABLE `mall_permission` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`pid` smallint(5) unsigned NOT NULL,
`pername` varchar(20) NOT NULL COMMENT '英文名称',
`status` tinyint(3) unsigned NOT NULL,
`date` char(20) NOT NULL COMMENT '新增日期',
PRIMARY KEY (`id`),
KEY `name` (`pername`,`status`,`pid`)
)
这里的KEY `name` (`pername`,`status`,`pid`)是什么语法?

KEY在mysql中,是INDEX的别名,属于伪语法,所以KEY `name` (`pername`,`status`,`pid`)表示在mall_permission表上创建的名为name的多列索引 参考技术A CREATE TABLE wh_logrecord (
logrecord_id int(11) NOT NULL auto_increment,
user_name varchar(100) default NULL,
operation_time datetime default NULL,
logrecord_operation varchar(100) default NULL,
PRIMARY KEY (logrecord_id),
KEY wh_logrecord_user_name (user_name)
)
解析:
KEY wh_logrecord_user_name (user_name)
本表的user_name字段与wh_logrecord_user_name表user_name字段建立外键
括号外是建立外键的对应表,括号内是对应字段
类似还有 KEY user(userid)
当然,key未必都是外键

总结:
Key是索引约束,对表中字段进行约束索引的,都是通过primary foreign unique等创建的。常见有foreign key,外键关联用的。

KEY forum (status,type,displayorder) # 是多列索引(键)
KEY tid (tid) # 是单列索引(键)。

如建表时: KEY forum (status,type,displayorder)
select * from table group by status,type,displayorder 是否就自动用上了此索引,
而当 select * from table group by status 此索引有用吗?

key的用途:主要是用来加快查询速度的。
参考技术B http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#create-table

KEY通常是INDEX同义词
参考技术C 唯一的意思吧追问

不懂。请不要猜迷式的回答。

mysql之索引

特点:查询速度大大提高

   维护创建消耗大

unique 唯一索引,加上是索引,不加是遍历

普通索引:key / index index_name(有默认值) (name)

唯一索引:unique+普通索引

全文索引:fulltext+普通索引

多列索引:index / key (name,resume)

delimiter !  以!为语句结束符,修改结束符

添加索引:create 和 add

create index index_name on tab_name(id);

alter table tab_name add [unique,fulltext... ] index index_name (field);

删除索引名:drop index index_name on tab_name;

技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片

以上是关于mysql语句:KEY `name` (`pername`,`status`,`pid`)是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据表key和value设计,怎么查询?

mysql key分区,分区数制定

mysql之索引

mysql ON DUPLICATE KEY UPDATE重复插入时更新

mysql ON DUPLICATE KEY UPDATE重复插入时更新

MySql查询数据字典的SQL语句