首先通过apt-get安装MYSQL。
用命令行新建一个名为“web”的数据库,在数据库里面建一个数据表“test”,两个字段:num和name。
然后用C++写个小程序,作用是连接数据库和读数据表的内容:
//file: mysqltest.cpp
#include <iostream>
#include <stdio.h>
#include <mysql/mysql.h>
using namespace std;
int main()
{
/*declare structures and variables */
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
//initialize MYSQL structure
mysql_init(&mysql);
//connect to database
//MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)
mysql_real_connect(&mysql, "127.0.0.1", "root", "900", "web", 3306, NULL, 0);
//execute query
mysql_query(&mysql,"select * from test");
//get result set
result=mysql_store_result(&mysql);
//process result set
while ((row=mysql_fetch_row(result)))
{
fprintf(stdout,"%s - %s\n",row[0],row[1]);
}
//mysql_query(&mysql,"insert into test values(3,'a')");
//clean up
mysql_free_result(result);
mysql_close(&mysql);
return 0;
}
编译的时候提示mysql/mysql.h文件找不到。应该是没有安装mysql-dev包。安装mysql-dev包后能找到该文件。
但是编译又提示另外一个错误“undefined reference to '_mysql_init'“等错误。百度后发现,需要链接 mysqlclient.a文件。连接后能编译通过,至于为什么需要连接这个文件,还不清楚。G++编译语句为:"g++ mysqltest.cpp -o mysqltest -lmysqlclient "。
这样就可以对MYSQL进行简单的操作。
参考资料:
http://www.oschina.net/code/snippet_12_2327
http://bbs.suda123.com/Archiver/webbiancheng/thread-253143-1.html