Linux下C/C++连接MySql

首先确保已经安装有MySql的开发包

ubuntu下执行如下命令安装,其他发行版请自行查阅

apt-get install libmysqlclient-dev

范例代码如下:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <mysql.h>

using namespace std;

int main()
{
    MYSQL *conn = mysql_init(NULL);
    conn = mysql_real_connect(conn, "localhost", "root", "lyy", "test", 0, NULL, 0);
    if(!conn){
        perror("mysql_real_connect");
        exit(1);
    }

    int res = mysql_query(conn, "select * from teacher");
    if(res){
        printf("mysql_query: %s\n", mysql_error(conn));
        exit(1);
    } else {
        MYSQL_RES *result = mysql_store_result(conn);
        if(result){
            for(int i = 0; i < mysql_num_rows(result); i++){
                MYSQL_ROW row = mysql_fetch_row(result);
                for(int j = 0; j < mysql_num_fields(result); j++){
                    printf("%s\t", row[j]);
                }
                printf("\n");
            }
        }
        mysql_free_result(result);
    }
    res = mysql_query(conn, "delete from teacher where id = 2");
    if(res){
        printf("mysql_query: %s\n", mysql_error(conn));
        exit(1);
    }

    res = mysql_query(conn, "insert into teacher values(2, ‘lucy‘, 12345678, ‘f‘)");
    if(res){
        printf("mysql_query: %s\n", mysql_error(conn));
        exit(1);
    }
    mysql_close(conn);
    return 0;
}

执行如下命令进行编译

g++ -o test $(mysql_config --cflags) mysql_test.cpp $(mysql_config --libs)

说明:

MySQL中有一个特殊的脚本,叫做mysql_config. 它会为你编译MySQL客户端,并连接到MySQL服务器提供有用的信息.你需要使用下面两个选项.

  1. --libs 选项 - 连接MySQL客户端函数库所需要的库和选项.

  $ mysql_config --libs

  2. --cflags 选项 - 使用必要的include文件的选项等等.

  $ mysql_config --cflags

时间: 2024-12-30 00:49:05

Linux下C/C++连接MySql的相关文章

Linux下C++/C连接MySQL数据库

虚拟机的版本:redhat7.0  64bit 数据库的版本:MySQL5.7 1.将解压得到的文件里对应的库,头文件拷贝到系统能找到的位置 例如:我当时安装数据库的文件都在:/usr/local/下 执行:cp /usr/local/include/* /usr/include/ 注意,拷贝时,如果*里含有文件夹,则需要用: cp -r /usr/local/include/* /usr/include/ (cp将递归复制该目录下所有的子目录和文件) 随意写一段测试文件:1.cpp # inc

MySQL学习笔记_12_Linux下C++/C连接MySQL数据库(二) --返回数据的SQL

 Linux下C++/C连接MySQL数据库(二) --返回数据的SQL 引: 返回数据的SQL是指通过查询语句从数据库中取出满足条件的数据记录 从MySQL数据库值哦功能检索数据有4个步骤: 1)发出查询 2)检索数据 3)处理数据 4)整理所需要的数据 用mysql_query()发出查询,检索数据可以使用mysql_store_result()或mysql_use_result(),取决与怎样检索数据,接着是调用mysql_fetch_row()来处理数据,最后,还必须调用mysql_

MySQL学习笔记_13_Linux下C++/C连接MySQL数据库(三) --处理返回数据

 Linux下C++/C连接MySQL数据库(三) --处理返回数据 一.通过返回结果集中的字段数 [cpp] view plaincopyprint? unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... 示例:

MySQL学习笔记_11_Linux下C++/C连接MySQL数据库(一)

 Linux 下 C++/C 连接 MySQL 数据库(一) 一.连接前准备 原材料:Ubuntu12.04LTS (已经安装了MySQL5.5或者更高级版本,新立得软件包,gcc/g++或者CodeBlosks编译器) 安装了以上的软件包后,我们可以正常使用MySQL完成数据管理工作,但是很多时候我们需要通过编写程序访问MySQL.此时,在程序中需要加载MySQL驱动头文件,但是默认这些驱动包是没有安装的,因此我们需要在新立得中找到"libmysqld-dev"包并安装. 安装完

Linux下通过JDBC连接Oracle,SqlServer和PostgreSQL

今天正好需要统计三个网站栏目信息更新情况,而这三个网站的后台采用了不同的数据库管理系统.初步想法是通过建立一个小的Tomcat webapp,进而通过JDBC访问这三个后台数据库,并根据返回的数据生成报表. 1 开发环境 数据库管理系统:一个是SqlServer 2000,另一个是Oracle 9i,再一个是PostgreSQL9.1 Tomcat执行平台:CentOSx64 + JDK7.0x64 (全64位环境) 2 JDBC驱动的选择 2.1 Oracle9i Oracle官方提供了ojd

Linux下使用Python操作MySQL数据库

安装mysql-python 1.下载mysql-python 打开终端: cd /usr/local sudo wget http://nchc.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz 官网地址:http://sourceforge.net/projects/mysql-python/ 2.解压 sudo tar -zxvf MySQL-python-1.2.2.tar.gz cd MySQL-

linux下的静态连接库和动态链接库

对linux的静态连接库和动态链接库分不清楚,在看了一篇博文后,现在想做个自己的总结,以加深印象: 1.库的基本概念: 库是可执行代码的二进制形式,其可以被调入操作系统调入内存进行执行. 在window和linux系统,都存在各自的库,但是两种系统的库并不能兼容,因为它们的编译器,连接器,汇编器都是不相同的. 在windows下,静态连接库的后缀是.lib;动态链接库的后缀是.dll 在linux系统下,静态链接库的后缀是.a;动态链接库的后缀是.so 2.静态连接库和动态链接库的命名: 静态连

Linux下的动态连接库及其实现机制

Linux与Windows的动态连接库概念相似,但是实现机制不同.它引入了GOT表和PLT表的概念,综合使用了多种重定位项,实现了"浮动代码",达到了更好的共享性能.本文对这些技术逐一进行了详细讨论. 本文着重讨论x86体系结构,这是因为 (1)运行Linux的各种体系结构中,以x86最为普及: (2)该体系结构上的Windows操作系统广为人知,由此可以较容易的理解Linux的类似概念: 下表列出了Windows与Linux的近义词,文中将不加以区分: Windows Linux 动

linux下使用yum安装mysql以及启动、登录和远程访问

linux下使用yum安装mysql,以及启动.登录和远程访问. 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安装mysql客户端: yum install mysql 安装mysql 服务器端: yum install mysql-server yum install mysql-devel 2.启动&&停止 数据库字符集设置 mysql配置文件/etc/