When changing transaction data in a block change the hash of previous block?
When a new block is received by a node, it is validated. This validation includes verifying the validity of each individual transaction, constructing the merkle tree and the merkle root, verifying the merkle root against the block header, verifying the PoW in the block header, and finally verifying the hash itself.

After this validation is completed, the block is saved into the node's local chain database.

If you were to go and modify the stored data, it would have little effect - no other nodes will see your modified data, and all you will achieve is a broken local state if you run a reindex or reindex-chainstate.