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
-- 普通索引:建立索引時,不附加任何限制條件(惟1、非空等限制)。該類型的全部能夠建立在任何數據類型的字段上。
-- 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);
相關文章
相關標籤/搜索