mysql 基本操作笔记:
创建表demo:
CREATE TABLE `role` (
`role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
`name` char(50) NOT NULL COMMENT '角色名称',
`menus` text COMMENT '权限列表,记录每个菜单的MD5,多个MD5用逗号分隔',
`creater_id` int(10) unsigned NOT NULL COMMENT '创建人',
`updater_id` int(10) unsigned DEFAULT NULL COMMENT '修改人',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
`delete_time` timestamp NULL DEFAULT NULL COMMENT '删除时间,删除时间不为空代表失效',
PRIMARY KEY (`role_id`),
KEY `fk_role_creater_id` (`creater_id`),
KEY `fk_role_updater_id` (`updater_id`),
KEY `idx_role_name` (`name`),
CONSTRAINT `fk_role_creater_id` FOREIGN KEY (`creater_id`) REFERENCES `staff` (`STAFF_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_role_updater_id` FOREIGN KEY (`updater_id`) REFERENCES `staff` (`STAFF_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=1000000001 DEFAULT CHARSET=utf8 COMMENT=' 角色表';
1. 新增列:
ALTER TABLE 【表名字】 ADD 【列名称】 TYPE DEFAULT COMMENT '注释说明'
alter table role add note varchar(50) default 'big' comment '备注';
2. 删除列:
ALTER TABLE 【表名字】 DROP 【列名称】
alter table role drop note;
3. 修改列:
ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT NULL COMMENT '注释说明'
alter table role change note role_note varchar(100) default 'more' comment '备注';
4. 重命名表
ALTER TABLE 【表名字】 RENAME 【表新名字】
alter table role rename zhangsan;
5. 删除表中主键
Alter TABLE 【表名字】 DROP PRIMARY KEY
alter table role drop primary key;
6. 添加主键
ALTER TABLE 【表名字】 ADD CONSTRAINT PRIMARY KEY (resid,resfromid)
每个表只能添加一个主键
7. 添加索引
ALTER TABLE 【表名字】 ADD INDEX 【索引名称】 (name);
alter table role add index idx_role_note (name,note);
8. 添加唯一限制条件索引
ALTER TABLE 【表名字】 ADD UNIQUE 【索引名称】(cardnumber);
alter table role add unique uidx_role_create_time (create_time);
9. 删除索引
ALTER TABLE 【表名】 DROP INDEX 【索引名称】
alter table role drop index idx_role_note;
创建表demo:
CREATE TABLE `role` (
`role_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
`name` char(50) NOT NULL COMMENT '角色名称',
`menus` text COMMENT '权限列表,记录每个菜单的MD5,多个MD5用逗号分隔',
`creater_id` int(10) unsigned NOT NULL COMMENT '创建人',
`updater_id` int(10) unsigned DEFAULT NULL COMMENT '修改人',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
`delete_time` timestamp NULL DEFAULT NULL COMMENT '删除时间,删除时间不为空代表失效',
PRIMARY KEY (`role_id`),
KEY `fk_role_creater_id` (`creater_id`),
KEY `fk_role_updater_id` (`updater_id`),
KEY `idx_role_name` (`name`),
CONSTRAINT `fk_role_creater_id` FOREIGN KEY (`creater_id`) REFERENCES `staff` (`STAFF_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_role_updater_id` FOREIGN KEY (`updater_id`) REFERENCES `staff` (`STAFF_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=1000000001 DEFAULT CHARSET=utf8 COMMENT=' 角色表';