Here we learn how to write custom mysql query in Magento2.

Suppose we have table ’employee’ with fields emp_id, emp_name, emp_code and emp_salary.

 

Custom Mysql Query

            $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // Instance of object manager
            $resource = $objectManager->get('Magento\Framework\App\ResourceConnection');
            $connection = $resource->getConnection();
            $tableName = $resource->getTableName('employee'); //gives table name with prefix

            //Select Data from table
            $sql = "Select * FROM " . $tableName;
            $result = $connection->fetchAll($sql); // gives associated array, table fields as key in array.

            //Delete Data from table
            $sql = "Delete FROM " . $tableName." Where emp_id = 10";
            $connection->query($sql);

            //Insert Data into table
            $sql = "Insert Into " . $tableName . " (emp_id, emp_name, emp_code, emp_salary) Values ('','XYZ','ABD20','50000')";
            $connection->query($sql);

            //Update Data into table
            $sql = "Update " . $tableName . " Set emp_salary = 20000 where emp_id = 12";
            $connection->query($sql);