mysql sql primary key,key,index

mysql 中的 sql 语句:

[sql1]

create table `t1`(

name char(30) key,

age int(4)

);

其中的 key 表示 name 主键,相当于 name char(30) primary key;

[sql2]

create table `t2`(

name char(30),

age int(4),

key(`name`)

);

其中的 key 表示 name 为索引,相当于 index,此时的索引名默认的索引名,即(第一列名称或别的)

一般有如下建立:

[sql3]  还有一个是文的索引

CREATE TABLE IF NOT EXISTS `terms` (
  `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(200) NOT NULL DEFAULT '',
  `slug` varchar(200) NOT NULL DEFAULT '',
  `term_group` bigint(10) NOT NULL DEFAULT '0',

 `datetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, // 2014-03-19 16:00:00

   `date` date NOT NULL, // 2000-01-01

 `time` time NOT NULL, // 00:01:01

 `content` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`term_id`), //主键索引
  UNIQUE KEY `slug` (`slug`), //唯一索引
  KEY `name` (`name`,`term_group`) //普通索引 

) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

主键可以是多列组合,如多语言表,不能为空,可作外键,唯一索引列可为 NULL ,不能作外键,可建立多个唯一索引,默认时用主键是唯一索引

posted @ 2013-06-01 07:09  好记性还真不如烂笔头  阅读(462)  评论(0编辑  收藏  举报