mysql外键,索引等基本操作 和 跨表复制数据操作

前言

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 外键索引是用于在关系型数据库中建立表与表之间的关联关系的一种索引类型。外键索引可以用来确保数据的完整性和一致性,同时提高查询的性能。 在MySQL中,外键索引通常由两个关键字来定义:FOREIGN KEY和REFERENCES。通过FOREIGN KEY关键字,我们可以指定一个列作为外键,并指定其参照的表和列。REFERENCES关键字用于指定被参照的表和列。 例如,假设我们有两个表:订单表和客户表。订单表中有一个列customer_id用于存储客户ID,我们可以将其定义为外键,并指定参照的是客户表的ID列。 ```sql CREATE TABLE customer ( id INT PRIMARY KEY, name VARCHAR(100) ); CREATE TABLE order ( id INT PRIMARY KEY, customer_id INT, order_date DATE, FOREIGN KEY (customer_id) REFERENCES customer(id) ); ``` 上述示例中,order表的customer_id列被定义为外键,并参照了customer表的id列。这样,当我们在order表中插入数据时,系统会自动检查customer_id的值是否存在于customer表的id列中,以确保数据的完整性。 外键索引可以提高查询的性能,特别是在涉及到跨表查询时。它可以帮助数据库优化查询计划,并加速数据检索过程。 需要注意的是,使用外键索引的同时也需要考虑数据库的性能和维护成本。过多的外键关系可能会影响插入、更新和删除操作的性能。因此,在设计数据库时,需要权衡数据完整性和性能之间的平衡。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值