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);
时间: 2024-08-08 22:03:52

mysql创建表与索引的相关文章

MySQL创建表和删除表

创建表 简单的方式 CREATE TABLE person ( number INT(11), name VARCHAR(255), birthday DATE ); 或者是 CREATE TABLE IF NOT EXISTS person ( number INT(11), name VARCHAR(255), birthday DATE ); 查看mysql创建表: SHOW CREATE table person; CREATE TABLE `person` ( `number` int

(转)mysql创建表时反引号的作用

(转)mysql创建表时反引号的作用 试用navicat工具查看现网mysql建表语句时,发现表名和字段名都是反引号引起来的 1 2 3 4 5 6 7 8 9 10 11 CREATE TABLE `tab_notice_title_tv` (   `i_id` int(11) NOT NULL AUTO_INCREMENT,   `c_opcom_key` varchar(32) DEFAULT NULL,   `c_view_type` int(11) DEFAULT '1' COMMEN

Oracle创建表、索引、主键、字段描述

-- 创建表 create table SX04_LBALANCE ( YEAR VARCHAR2(10) not null, PROGRAMNO VARCHAR2(40) not null, FDATE VARCHAR2(10) not null, FACCTCODE VARCHAR2(50) not null, FCURCODE VARCHAR2(3) not null, FAACCCREDIT NUMBER(19,4) default 0 not null, FAENDBAL NUMBER

MySQL 创建表时,设置时间字段自己主动插入当前时间

MySQL 创建表时,设置时间字段自己主动插入当前时间 DROP TABLE IF EXISTS `CONTENT`; CREATE TABLE `CONTENT` ( `ID` char(20) NOT NULL, `CURRENT_TIME` timestamp not null default current_timestamp, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

oracle与mysql创建表时的区别

oracle创建表时,不支持在建表时同时增加字段注释.故采用以下方式: #创建表CREATE TABLE predict_data as ( id integer NOT NULL, uid varchar2(80), mid varchar2(80), time date , content varchar2(300), constraint predict_data primary key (id) );#字段注释comment on table predict_data is '预测表';

MySQL 创建表时,设置时间字段自动插入当前时间

MySQL 创建表时,设置时间字段自动插入当前时间 DROP TABLE IF EXISTS `CONTENT`; CREATE TABLE `CONTENT` ( `ID` char(20) NOT NULL, `CURRENT_TIME` timestamp not null default current_timestamp, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Python MySQL 创建表

章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python MySQL Where Python MySQL Order By Python MySQL Delete Python MySQL 删除表 Python MySQL Update Python MySQL Limit Python MySQL Join 创建表 要在MySQL中创建表,可使用"CRE

mysql创建表分区

MySQL创建表分区 create table erp_bill_index( id int primary key auto_increment, addtime datetime ); insert into erp_bill_index(addtime) values ('2018-02-01 12:00:00'), ('2018-03-01 12:00:00'), ('2018-04-01 12:00:00'), ('2018-05-01 12:00:00'), ('2018-06-01

企业如何给MYSQL创建表,查询表,创建索引实例

创建表 数据类型   int(整形,整数) not null,char(字符) tinyint(最小的整形) varchar (变长的字符类型) create table xiaohu( id int(4) not null, name char(20) not null, age tinyint(2) not null default '0',(不可以为空,但可以给0) dept varchar(16) default null (可以为空) 如 mysql> create table stu