mysql外键,索引等基本操作 和 跨表复制数据操作
2016-03-16 23:51
721 查看
前言
m_parameter_template参数模板原来为一个包含很多信息的表,目前业务需求,需要把表中一些信息提取出放到另一个表m_parameter_file,pt表通过一个外键parameter_file_id关联到pf表。这样对表pf可以有更多的操作,分离部分操作,实现数据解耦。目标
将pt表的外键parameter_file_id根据pt表还未删除的字段parameter_file_name(pf表已经复制了这个字段作为name字段)等于pf.name来实现关联pf.id主键,方便hibernate进行本地测试。结果
update m_parameter_template as pt left join m_parameter_file as pf on pf.name = pt.parameter_file_name set pt.parameter_file_id = pf.id;
基本操作
/*部分数据复制迁移,某些字段m_parameter_template迁移到m_parameter_file*/ insert into m_parameter_file(id, name, description, insert_time, last_modified_time, application_provider_id, config_file_id, owner_id) select id, parameter_file_name, description, insert_time, last_modified_time, application_provider_id, config_file_id, owner_id from m_parameter_template;
/*删除外键*/ ALTER TABLE `r_parameter_template_jar_file` DROP FOREIGN KEY `FKB16DDE2D32341F1`; /*删除索引*/ ALTER TABLE `m_parameter_template` DROP KEY `FK98E5627DBE949A`;
/*增加外键约束*/ alter table `r_parameter_template_jar_file` add constraint `FKB16DDE2D32341F1` foreign key(`parameter_template_id`) REFERENCES `m_parameter_file`(`id`);
/*数据表更名*/ alter table r_parameter_template_jar_file RENAME r_parameter_file_jar_file;
/*增加字段*/ alter table m_parameter_template add column parameter_file_id bigint(20) NOT NULL;
/*删除字段*/ alter table m_parameter_template drop column parameter_file_name;
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复