mysql常用表修改索引等命令

因为发现自己一直记不住,每次要用都需要去百度,于是乎自己干脆把要用的列一下

一、创建表

注意:

主键id自增,尽量都用bigint,现在动不动数据量就上亿的,int万一若干年以后又要做int转long,没差这点存储

创建时间自动生成,默认当前时间

更新时间自动生成,默认当前时间,且每次更新时自动更新时间

所以一般这两个自动是不用传会自动更新的

CREATE TABLE `trade_log2` (
    `id` bigint(20)  NOT NULL  AUTO_INCREMENT COMMENT 数据库自增主键,
    `created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,
    `updated_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,
    PRIMARY KEY (`id`),
    KEY `index_created_time` (`created_time`)
) ENGINE=InnoDB COMMENT=交易日志;

二、新增字段

mysql新增字段tddl

新增用户id,订单号等

alter TABLE 表名 ADD COLUMN `字段名` 类型 默认值 备注;

alter TABLE `trade_log`
ADD COLUMN `user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT 用户id,
ADD COLUMN `order_id` bigint(20) NOT NULL DEFAULT 0 COMMENT 订单号;

三、修改字段

alter table clue_source change 现有字段名称 修改后字段名称 数据类型

ALTER TABLE trade_log MODIFY `user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT 用户注册id;

为什么我这儿只举例了枚举类型呢,因为其他字段不希望大家学会去改

因为改类型,容易坑;改字段名称,容易坑;这些尽量再建个字段来处理。没有那么频繁的修改,除非你设计就有问题

四、删除字段

不想讲,因为基本不会让你删,也不用去学

五、新增索引

新增普通索引

alter table trade_log add index `idx_order_id`(`order_id`);

新增唯一索引

alter table sc add unique (name);

create unique index 索引名称 on 表名(字段名称)

create unique index ui_order_id on trade_log(`order_id`);

新增一个联合索引的例子

alter table trade_log add index `idx_order_user`(`order_id`, `user_id`);

新增联合唯一索引

create unique index ui_order_user on trade_log(`order_id`,`user_id`);

六、删除索引

DROP INDEX 索引名称 ON `table` ;

DROP INDEX index_order_user ON  `trade_log` ;

七、修改索引

木有此项,有也不要学

经验分享 程序员 微信小程序 职场和发展