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` ;

七、修改索引

木有此项,有也不要学

你可能感兴趣的:(mysql,sql,mysql,表修改,索引)