`

linux c++连接mysql示例

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

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

  $ mysql_config --libs

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

  $ mysql_config --cflags

  你需要将上面两个选项加入到对源文件的编译命令中. 所以,要编译上面的程序,要使用下面的命令:

  $ g++ -o output-file $(mysql_config --cflags) test.c $(mysql_config --libs)

  执行编译后的程序:

  $ ./output.file

#include <mysql.h>   
#include <stdlib.h>   
#include <stdio.h>   
static char *server_args[] =   
{   
    "this_program",       /* this string is not used */  
    "--datadir=.",   
    "--key_buffer_size=32M"  
};   
static char *server_groups[] =   
{   
    "embedded",   
    "server",   
    "this_program_SERVER",   
    (char *)NULL   
};   
int main(void)   
{   
    if (mysql_server_init(sizeof(server_args) / sizeof(char *),   
                          server_args, server_groups))   
        exit(1);   
    MYSQL *conn;   
    MYSQL_RES *res;   
    MYSQL_ROW row;   
    char *server = "localhost";   
    char *user = "admin";   
    char *password = "metrics"; /* 此处改成你的密码 */  
    char *database = "test";   
    conn = mysql_init(NULL);   
    /* Connect to database */  
    if (!mysql_real_connect(conn, server,   
                            user, password, database, 0, NULL, 0))   
    {   
        fprintf(stderr, "%s\n", mysql_error(conn));   
        exit(1);   
    }   
    /* send SQL query */  
    if (mysql_query(conn, "show tables"))   
    {   
        fprintf(stderr, "%s\n", mysql_error(conn));   
        exit(1);   
    }   
    res = mysql_use_result(conn);   
//utput table name */   
    printf("MySQL Tables in mysql database:\n");   
    while ((row = mysql_fetch_row(res)) != NULL)   
        printf("%s \n", row[0]);   
    printf ("Number of rows: %lu\n", (unsigned long) mysql_num_rows(res));   
    MYSQL_FIELD *field;   
    while ((field = mysql_fetch_field(res)))   
    {   
        printf("field name %s\n", field->name);   
    }   
    int num_fields = mysql_num_fields(res);   
    for (int i = 0; i < num_fields; i++)   
    {   
        field = mysql_fetch_field_direct(res, i);   
        printf("Field %u is %s\n", i, field->name);   
    }   
    if (!mysql_set_character_set(conn, "utf8"))   
    {   
        MY_CHARSET_INFO cs;   
        mysql_get_character_set_info(conn, &cs);   
        printf("character set information:\n");   
        printf("character set name: %s\n", cs.name);   
        printf("collation name: %s\n", cs.csname);   
        printf("comment: %s\n", cs.comment);   
        printf("directory: %s\n", cs.dir);   
        printf("multi byte character min. length: %d\n", cs.mbminlen);   
        printf("multi byte character max. length: %d\n", cs.mbmaxlen);   
    }   
    /* close connection */  
    mysql_free_result(res);   
    mysql_close(conn);   
    /* Use any MySQL API functions here */  
    mysql_server_end();   
    return EXIT_SUCCESS;   
}  
分享到:
评论
1 楼 blue44sky 2013-01-18  
编绎的两个mysql参数选项太吊了

相关推荐

    linux(centos) 下C++连接mysql数据库

    在Linux(CentOS)系统中,使用C++连接MySQL数据库是一项常见的任务,特别是在开发服务器端应用程序时。这里我们将深入探讨如何实现这一目标,以及在这个过程中可能遇到的关键知识点。 首先,你需要确保你的系统...

    linux下C++连接mysql实例

    在Linux环境下,使用C++与MySQL数据库进行交互是一...以上就是关于“Linux下C++连接MySQL实例”的主要知识点,这只是一个基础的示例,实际开发中可能涉及到更多复杂的功能,如事务处理、预编译语句、游标、批量插入等。

    c++连接mysql 例子和类

    下面将详细讲解如何在C++中连接MySQL,包括使用示例代码和类封装。 首先,为了使用MySQL Connector/C++,你需要在你的项目中包含必要的头文件,并确保已经正确安装了该库。安装后,库文件通常位于`&lt;mysql-connector...

    C++连接MySQL的相关库和头文件

    在这个场景下,我们关注的是"C++连接MySQL的相关库和头文件",这通常指的是`MySQL Connector/C++`,这是一个由MySQL官方提供的C++接口,使得C++程序员能够方便地与MySQL数据库进行交互。下面将详细介绍如何在C++项目...

    linux 下c++连接msyql测试

    下面是一个完整的示例,展示如何在Linux下用C++连接到MySQL并执行查询: ```cpp #include #include &lt;mysql_driver.h&gt; #include &lt;mysql_connection.h&gt; int main() { sql::mysql::MySQL_Driver *driver; sql...

    使用C和C++连接MySQL数据库并进行常用的数据库操作。

    例如,一个简单的C++连接MySQL并执行查询的示例代码可能如下: ```cpp #include &lt;mysql.h&gt; #include int main() { MYSQL* conn = mysql_init(NULL); if (!mysql_real_connect(conn, "localhost", "user", ...

    linux系统C++操作mysql数据库

    本篇文章将深入探讨如何在Linux环境下实现C++与MySQL的集成,包括安装必要的软件包、连接数据库、执行SQL语句以及处理结果。 1. **环境准备**: - 首先,确保Linux系统上已经安装了MySQL服务,可以通过`sudo ...

    MYSQL.zip_C MYSQL_c++ mysql_linux mysql_linux c mysql_linux mys

    在这个名为"MYSQL.zip_C MYSQL_c++ mysql_linux c mysql_linux mys"的压缩包中,包含了一个名为"MYSQL.txt"的文本文件,它很可能提供了关于C或C++编程语言与MySQL数据库进行连接和查询的实例代码。 首先,让我们...

    linux C/C++ 数据库连接池

    在Linux环境下,C/C++开发数据库连接池是提高应用程序性能和效率的重要技术。数据库连接池是一种管理数据库连接的机制,它允许程序重复使用已建立的数据库连接,而不是每次需要时都创建新的连接。这减少了创建和销毁...

    mysql c++ 封装类

    在测试代码中,通常会包含示例场景,如连接到本地的MySQL服务器,创建表,插入数据,执行查询,更新记录,以及断开连接等操作,以验证封装类的功能完整性。 在提供的`_mysql_cpp_`压缩包中,可能包含以下文件: 1....

    Linux下实现C++操作Mysql数据库

    在Linux环境下,使用C++操作MySQL数据库是一种常见的需求,特别是在开发跨平台的应用程序时。本文将详细介绍如何通过MySQL的C API来实现这一功能。 首先,连接MySQL数据库的关键函数是`mysql_real_connect()`。这个...

    Linux安装MySql devel

    6. **开发示例**:安装完MySQL-devel后,开发者就可以利用提供的头文件和库文件创建MySQL连接。例如,使用`mysql.h`头文件和`libmysqlclient.a`库文件,可以编写C或C++程序,使用`mysql_connect()`等函数与MySQL...

    mysql.rar_MYSQL_mysql c++_mysql sdk

    这个SDK包含了头文件、库文件以及必要的示例代码,帮助开发者理解如何在C++项目中集成MySQL功能。 3. **连接数据库** 使用MySQL Connector/C++,开发者可以创建数据库连接,通过提供服务器地址、用户名、密码和...

    linux下mysql 库文件和头文件,以及关于调用它的api的demo

    本资源包含Linux下MySQL的库文件、头文件以及一个调用MySQL API的示例程序,这将帮助我们理解如何在C/C++中连接并操作MySQL数据库。 首先,MySQL的库文件(通常以`.so`动态链接库或`.a`静态链接库形式存在)是C/C++...

    eclipse配置C语言连接mysql环境

    在Linux环境下,使用Eclipse集成开发环境(IDE)进行C/C++编程时,有时需要实现与MySQL数据库的交互功能。这通常涉及到如何在Eclipse中正确配置C/C++项目以支持MySQL库的链接。本文将详细介绍如何在Eclipse中配置C语言...

    linux下C++连接数据库程序源码附加编译命令

    本文将深入探讨如何在Linux下用C++编写连接数据库的程序,并附上编译命令。 首先,C++连接数据库通常依赖于特定的库,如MySQL Connector/C++、PostgreSQL的libpqxx或SQLite3的API。以MySQL为例,你需要安装MySQL的...

    【源码】mysql connector c++ 8.0.15 for linux

    此资源是MySQL Connector/C++ 8.0.15的源代码版本,专为Linux操作系统设计。这个压缩包包含了构建、理解和修改这个连接器所需的所有源代码。 MySQL Connector/C++遵循了C++的SQL API(CLI,Client Library ...

    c++封装mysql接口

    本篇文章将深入探讨如何在C++中封装MySQL接口,并通过一个名为"test"的简单调用示例进行解释。 首先,我们需要了解C++中的面向对象编程(OOP)概念,这是封装的基础。在C++中,封装意味着将数据和操作这些数据的...

    linux下mysql安装包

    你可以通过`mysql`命令行客户端连接到服务器: ```bash sudo /usr/local/mysql/bin/mysql -u root ``` 至此,你已经完成了在Linux环境下编译安装MySQL 5.6.29的全过程。编译安装虽然比使用软件包管理器复杂,但它...

    Linux下访问MySQL

    在C++代码中,使用`mysql_init()`初始化连接,`mysql_real_connect()`建立连接,`mysql_query()`执行SQL语句,最后用`mysql_close()`关闭连接。 6. **MySQL存储过程**: - 在MySQL客户端中,可以创建存储过程,如...

Global site tag (gtag.js) - Google Analytics