Linux下C/C++编程访问MYSQL
本文介绍Linux下使用C/C++编程访问MYSQL数据库方法,归纳以下方法其实也很简单:安装MYSQL、包含mysql.h头文件、写main函数即可,本文测试系统为Ubuntu11.10,其它L家族系统方法类似。
一、安装mysql数据库
sudo apt-get install mysql-server mysql-client
自动安装最新版本mysql(包括server和client端,区别基本可理解为mysql-server主要提供MYSQL系统服务,mysql-client主要提供MYSQL访问终端,也可只装mysql-server),安装完成后,MySQL服务会自动启动。
检查 MySQL 服务运行状态:
sudo netstat -tap | grep mysql
手动启动mysql:
sudo /etc/init.d/mysql restart
停止mysql:
sudo /etc/init.d/mysql stop
更多:
二、安装mysql开发包
sudo apt-get install libmysqlclient16-dev
Ubuntu Package查询地址(输入关键词查询到最新的package名字,比如libmysqlclient,然后装最新的版本):
三、如何调用MYSQL库文件
加入头文件: #include <mysql/mysql.h>
四、编译方法
gcc -o test test.c -lmysqlclient
或(c++程序)
g++ -o test test.cpp -lmysqlclient
还是找不到mysql.h?添加参数-I/usr/include/mysql/看看(示例如下),假设mysql.h在该目录下。
gcc -o test test.c -lmysqlclient -I/usr/include/mysql/
五、实例代码
#include "mysql.h"
#include "stdio.h"
#include <string.h>
#include <algorithm>
MYSQL DbObj;//handle
MYSQL_RES *pRes;//results
MYSQL_ROW sqlrow;//rows
int main()
{
char tmp[255];
mysql_init(&DbObj);
if (!mysql_real_connect(&DbObj, host,usr, pass, db, 0, NULL, 0))
{
return 0;
}
sprintf(tmp,"select * from usertb where name=\'abc\' and pwd=\'123456\'");
int res=mysql_query(&DbObj,tmp);
pRes = mysql_use_result(&DbObj);
if((sqlrow=mysql_fetch_row(pRes))!=NULL)
{
mysql_free_result(pRes);
printf("OK.\n");
}
else
{
printf("Failed.\n");
}
mysql_close(&DbObj);
return 0;
}
参考资料:
MYSQL安装指南:Ubuntu中文网
ubuntu下mysql安装与开发包配置:百度空间
更多文章:
