C++ connection mysql and retrieve select sql result
1.Install mysqlconnector for c++ via executing below cmd;
sudo apt-get install libmysqlcppconn-dev
2.
#include <iostream> #include <stdlib.h> #include <string> #include <mysql_connection.h> #include <cppconn/driver.h> #include <cppconn/exception.h> #include <cppconn/resultset.h> #include <cppconn/statement.h> #include <mysql_driver.h> using namespace std; void con1(); int main() { con1(); return 0; } void con1() { sql::mysql::MySQL_Driver *driver; sql::Connection *con; sql::Statement *stmt; sql::ResultSet *res; driver = sql::mysql::get_mysql_driver_instance(); con = driver->connect("tcp://127.0.0.1:3306", "username", "password"); stmt = con->createStatement(); res = stmt->executeQuery("select host,user,plugin from mysql.user where user in ('root','fred','ms');"); while (res->next()) { cout << "Host=" << res->getString(1); cout << ",user=" << res->getString(2); cout << ",plugin=" << res->getString(3) << endl; } delete res; delete stmt; delete con; }
3.g++ compile the cpp via below command
g++ -std=c++11 -I .../include -L .../lib64 h2.cpp -lmysqlcppconn -o h2
or if you want to debug via gdb should add -g argument as below.
g++ -g -std=c++11 -I .../include -L .../lib64 h2.cpp -lmysqlcppconn -o h2
4.Run the compiled result
./h2
5.The result illustrated as below.
Which is the same result as executed the below sql in mysql
select host,user,plugin from mysql.user where user in ('root','fred','ms');