Hi Daniel,
through direct SQL it is technically possible, but it is not recommended at all. Incorrect steps may lead to get the contact/interaction data being inconsistent. There are several unique IDs and links between tables which must be strictly observed.
The purest way, from my point of view, is through the PSDK application, where you can use API for these purposes. This will ensure that the process will follow the required steps correctly.
Hope this helps
Regards,
--Jakub--