当前位置:Gxlcms > 数据库问题 > mysql创建表与索引

mysql创建表与索引

时间:2021-07-01 10:21:17 帮助过:2人阅读

---------------------------- -- 商品属性表 -- 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创建表与索引

标签:

人气教程排行