首页 > 代码库 > mysql创建表与索引

mysql创建表与索引

-- ------------------------------ 商品属性表-- AUTO_INCREMENT=1为设置了自增长的字段设置起点,1为起点-- ENGINE选择:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。-- NOT NULL 设置字段不为空,DEFAULT NULL设置字段默认值-- COMMENT注释-- DEFAULT CHARSET=utf8为字段设置默认编码(如果表字段没有设置编码,那么默认就是这里指定的编码)-- character set utf-8为某列字段设置编码-- ----------------------------DROP TABLE IF EXISTS cshop_attribute;CREATE TABLE cshop_attribute (  attr_id int(11) NOT NULL AUTO_INCREMENT COMMENT 属性id,  attr_name varchar(100) NOT NULL COMMENT 属性名称,  attr_value text NOT NULL COMMENT 属性值列,  attr_show tinyint(1) NOT NULL COMMENT 是否显示。0为不显示,1为显示,  attr_sort tinyint(1) NOT NULL COMMENT 排序,  CONSTRAINT PRIMARY KEY (attr_id)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT=商品属性表;-- ------------------------------ 商品属性表索引-- 索引语句格式:CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON tbl_name (index_col_name,...)-- index_col_name:col_name [(length)] [ASC | DESC]-- index_type:存储引擎MyISAM允许的索引类型BTREE,存储引擎InnoDB允许的索引类型BTREE,存储引擎MEMORY/HEAP允许的索引类型HASH,BTREE-- 普通索引:创建索引时,不附加任何限制条件(唯一、非空等限制)。该类型的所有可以创建在任何数据类型的字段上。-- UNIQUE唯一索引:创建索引时限制索引的值必须是唯一的,通过该类型的索引可以更快速的查询某条记录,唯一索引字段不可加长度-- FULLTEXT全文索引:主要关联在数据类型为char、varchar、text的字段上,以便能够更加快速的查询数据量较大的字符串类型的字段,必须加上长度-- 多列索引:是指在创建索引时,所关联的字段不是一个字段,而是多个字段。虽然可以通过所关联的字段进行查询,但是只有查询条件中使用了所关联字段中的第一个字段,多列索引才会被使用。(此处意思大概是查询条件中必须包含第一个字段索引才会生效)-- 更多详细介绍可参考mysql中文手册-- ------------------------------ 删除索引DROP INDEX index_attr_id ON cshop_attribute;-- 创建索引CREATE UNIQUE INDEX index_attr_id USING BTREE ON cshop_attribute (attr_id ASC);

 

mysql创建表与索引