mysql建表建索引

Posted 会飞的鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql建表建索引相关的知识,希望对你有一定的参考价值。

建表:

CREATE TABLE `sj_projects` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL DEFAULT ‘‘ COMMENT ‘项目名称‘,
`platform_id` int(11) NOT NULL DEFAULT ‘0‘ COMMENT ‘平台id‘,
`unique_id` varchar(255) NOT NULL DEFAULT ‘‘ COMMENT ‘项目和数据的唯一id‘,
`repayway` varchar(255) NOT NULL DEFAULT ‘‘ COMMENT ‘还款方式‘,
`profit` decimal(5,2) NOT NULL DEFAULT ‘0.00‘ COMMENT ‘年化收益‘,
`speed` decimal(5,2) NOT NULL DEFAULT ‘0.00‘ COMMENT ‘进度‘,
`frequency` int(11) NOT NULL DEFAULT ‘0‘ COMMENT ‘投资人次‘,
`amount` decimal(20,2) NOT NULL DEFAULT ‘0.00‘ COMMENT ‘融资金额‘,
`res_amount` decimal(20,2) NOT NULL DEFAULT ‘0.00‘ COMMENT ‘剩余可投金额‘,
`invtime` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ COMMENT ‘项目投资起始时间‘,
`endtime` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ COMMENT ‘项目投资结束时间‘,
`turntime` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ COMMENT ‘项目还款时间(客户收款时间)‘,
`term` varchar(50) NOT NULL DEFAULT ‘‘ COMMENT ‘期限‘,
`type` int(11) NOT NULL DEFAULT ‘0‘,
`PageUrl` text COMMENT ‘注意大小写PageUrl‘,
`insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘添加时间‘,
`orderby_id` int(11) NOT NULL DEFAULT ‘1‘ COMMENT ‘排序‘,
`status` tinyint(1) NOT NULL DEFAULT ‘1‘ COMMENT ‘状态 0为关闭,1为开启‘,
PRIMARY KEY (`id`),
KEY `unique_id` (`unique_id`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=2383 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT=‘项目表‘;

如果为唯一索引: UNIQUE KEY `unique_id` (`unique_id`) USING BTREE

也可以直接这样:(唯一索引)    

unique_id  VARCHAR(255) UNIQUE NOT NULL DEFAULT ‘‘ COMMENT ‘项目和数据的唯一id‘,

 

查询:

show index from sj_projects;  -- 查询sj_projects的所有索引

 SHOW CREATE TABLE sj_projects\G 

 

添加索引:

ALTER TABLE `sj_projects` ADD UNIQUE `unique_id` (`unique_id`);  -- 唯一索引

ALTER TABLE `sj_projects` ADD INDEX `unique_id` (`unique_id`);    -- 普通索引

ALTER TABLE `sj_projects` ADD INDEX `uniqueId` (`unique_id`);    -- 普通索引可以修改名字

 

删除索引:

ALTER TABLE `sj_projects` DROP INDEX `unique_id`;     

 

删除自增id索引:

需要先将id键的自动增长取消:

ALTER TABLE `sj_projects`  MODIFY `id`  int(10) NOT NULL COMMENT ‘id‘;

再次执行: ALTER TABLE `sj_projects` DROP PRIMARY KEY;

 

以上是关于mysql建表建索引的主要内容,如果未能解决你的问题,请参考以下文章

常用SQL语句常见建表建索引等DDL语句(PGSQL)

MySQL的建库建表建约束与存储引擎

MySQL的建库建表建约束与存储引擎

mysql 一个典型的数据库建表建用户过程

索引很重要,记得建表之初加索引

获取MySQL中某个数据库下所有表建表语句的DDL