第五个参数是要使用的数据库

发布时间:2025-06-24 19:19:39  作者:北方职教升学中心  阅读量:255


请重新安装mysql-devel:

yum install -y mysql-devel;

 这些都准备好了,

创建MYSQL_RES结构也需要分配空间󿀌使用后需要回收#xff1a;

从MYSQL_RES获取数据的行数——mysql_num_rows。

设置字符集。

第二个参数是mysql的命令,可以在命令结束时不带。必须说明库的路径,出库名称󿼌在编译命令中添加以下选项:

-L /usr/lib64/mysql -lmysqlclient;

获取数据——mysql_store_result。

一行数据的多列可以想象成多个char*类型的数据,所以这个MYSQL_ROW就是char**,

第五个参数是要使用的数据库。󿀌您可以开始在c语言中使用mysql༁

mysql的初始化。

Select数据的结果可以通过循环使用上述四个接口的返回值来打印。

第六个参数是mysqld运行的端口号,一般3306,可以在/etc/my.设置在CNF中。

如果我们想插入的数据是中文,不同的字符集和服务端用于客户端,会有乱码的问题。将返回nullptr。

初始化mysql必须申请空间,所以每次使用mysql都要手动释放空间。

头文件包含<mysql/mysql.h>

可以将参数传输到nullptr。

如果连接成功,

第三个参数是登录用户。

第二个参数是登录主机或ip。重新安装mysql。可以直接调用此接口;但是对于select命令,需要返回数据󿀌其他接口需要配合使用。包含很多mysqlc;这个值应该作为后面许多接口中的参数传输,因此!非常重要;如果初始化mysql失败,

此接口参数较多,但都是登录mysql的信息:

第一个参数是初始化mysql的返回值。

成功返回0�不成功返回非0。

返回值是所有列结构体的数组,列的结构体是存储列属性,其中一个name对象是列出的名称。

从MYSQL_RES中获得排名——mysql_fetch_fields。

 该接口的参数是上一个接口的返回值。

 。如果重新安装mysql还没有,

create,insert,delete,update,drop命令,执行后无需返回数据༌因此,

第七个参数通常传输nullptr,第八个参数一般传0。

#include <iostream>#include <mysql/mysql.h>using namespace std;int main(){    //初始化mysqlll    MYSQL* my = mysql_init(nullptr);    if(my == nullptr)     {        cout << "init fail" << endl;        return 1;    }    //连接mysql    my = mysql_real_connect(my, "127.0.0.1", "ly", "123123", "test1", 3306, nullptr, 0);    if(my == nullptr)     {        cout << "connect fail" << endl;        return 2;    }    ///设置字符集    mysql_set_character_set(my, "utf8");    //发出命令    if(mysql_query(my, "create table info(id int primary key, name varchar(32), phone_num char(11) unique)"))    {        cout << "create fail" << endl;    }    if(mysql_query(my, "insert into info (id, name, phone_num) values (1, 'Tom', '12345678999')"))    {        cout << "insert fail" << endl;    }    if(mysql_query(my, "insert into info (id, name, phone_num) values (2, 'Peter', '12345678911')"))    {        cout << "insert fail" << endl;    }    // if(mysql_query(my, "drop table info"))    // {    //     cout << "insert fail" << endl;    // }    if(mysql_query(my, "select * from info"))    {        cout <<  "select fail" << endl;    }    MYSQL_RES* res = mysql_store_result(my);    MYSQL_FIELD* colname = mysql_fetch_fields(res);    int row = mysql_num_rows(res);    int col = mysql_num_fields(res);    ///打印列名    for(int i = 0; i < col; i++)    {        cout << colname[i].name << '\t';    }    cout << endl;    //打印数据    for(int i = 0; i < row; i++)    {        MYSQL_ROW rowdata = mysql_fetch_row(res);        for(int j = 0; j < col; j++)        {            cout << rowdata[j] << '\t';        }        cout << endl;    }    //回收数据结构体    mysql_free_result(res);    //回收mysql    mysql_close(my);}。

首先要保证下载mysql的库和头文件,头文件在/usr/include/mysql/目录-#xff00c;库在/usr/lib64/mysql/目录󿄚

一般情况下安装mysql时,所有这些都提前配置好了,如果没有,只需要像数组一样访问行数据。

MYSQL*接口的返回值是结构指针,属性࿰,

连接mysql。

这个接口可以获得读取结果,MYSQL结构中有数据的缓冲区,该接口是将其缓冲区的数据放入MYSQL_RES结构中。

第四个参数是密码。

编译代码时,

发送mysql命令。

从MYSQL_RES获取数据的列数——mysql_num_fields。

 从MYSQL_RES获取单行数据——mysql_fetch_row。

例子。

成功返回0�不成功返回非0。#xff00c;返回值与第一个参数相同;如果连接失败󿀌返回空指针。