数据库建表规范
1.如何建立索引
建表时,建立的索引命名应遵循以下规则
主键索引命名为pk_字段名
唯一索引命名为uk_字段名
普通索引命名为idk_字段名
联合索引命名
pk_字段名1_字段名2…
或uk_字段名1_字段名2…
或idx_字段名1_字段名2…
建表时如何创建各种索引
//创建主键索引,注意,主键索引通常不需要显式的命名,mysql会自动生成默认名称
PRIMARY KEY PK_SERI_NO_ACC_NO_BATCH_NO (`SERI_NO`,`ACC_NO`,`BATCH_NO`) USING BTREE,
//创建唯一索引
UNIQUE KEY UK_DEPARTMENT (DEPARTMENT) USING BTREE,
//创建普通索引
KEY IDX_NAME (NAME) USING BTREE,
或者INDEX IDX_NAME (NAME) USING BTREE,
说明:INDEX和KEY等价
实际示例
CREATE TABLE `ad_acc_entrie` (
`ACC_NO` varchar(200) NOT NULL COMMENT,
`SERI_NO` varchar(50) NOT NULL COMMENT,
`BATCH_NO` varchar(20) NOT NULL COMMENT,
`SSTRING01` varchar(200) DEFAULT NULL COMMENT,
`MSTRING01` varchar(200) DEFAULT NULL COMMENT,
`LSTRING01` varchar(255) DEFAULT NULL COMMENT,
`INT01` int(11) DEFAULT NULL,
`DECIMAL01` decimal(38,2) DEFAULT NULL COMMENT,
`DATE01` datetime DEFAULT NULL COMMENT,
PRIMARY KEY (`SERI_NO`,`ACC_NO`,`BATCH_NO`) USING BTREE,
UNIQUE KEY UK_DEPARTMENT (DEPARTMENT) USING BTREE,
KEY `IDX_ACCENTIRE_LINESERINO` (`LINE_ITEM_SERI`) USING BTREE,
KEY `IDX_ACCENTRE_BUSNO` (`MSTRING09`) USING BTREE,
KEY `UK_ACCENTRE_MSTRING01` (`MSTRING01`) USING BTREE,
KEY `IDX_ACCENTRE_MSTRING03` (`MSTRING03`) USING BTREE,
KEY `IDX_ACCENTRE_MSTRING05` (`MSTRING05`) USING BTREE,
KEY `IX_AD_ACC_ENTRIE_SSTRING10` (`SSTRING10`) USING BTREE,
KEY `IX_AD_ACC_ENTRIE_SSTRING07` (`SSTRING07`) USING BTREE,
KEY `IDX_ADACCENTRIE_DATE01` (`DATE01`) USING BTREE,
KEY `IDX_ACCENTRIE_BATCHNO_PZLX` (`BATCH_NO`,`SSTRING06`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='xxx表';
2.##