Linux 操作系统&MySQL 数据库APL函数

1 MYSQL 相关API函数

在使用API函数之前需要提前使用指令创建一个数据库

函数功能:链接一个数据库

函数头文件:

 

链接库:

-lmysqlclient

函数的原型:

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 :它是Mysql核心结构体

需要你定一个该结构变量

然后调用mysql_init()进行初始化

举例:

方式1:

MYSQL  A;

mysql_init(&A);

方式2:

MYSQL *a = mysql_init(NULL);

host:  主机名,固定填写'localhost'本地主机

user:访问Mysql的用户  ---  "root"

passwd:访问Mysql的密码  --  "1"

db:你要访问的数据库  ---  对应的是数据库名字

port:0

unix_socket :NULL (没用链接网络)

client_flag:0

该函数的返回值:

如果失败返回NULL

如果成功返回的就是第一个参数

举例:

mysql *sql = mysql_init(NULL);//返回值就是初始化好的结构体指针
sql = mysql_real_connect(sql,“localhost”,”root”,”1”,”two_9206”,0,NULL,0);

2  关闭数据库链接

函数原型:

void mysql_close(MYSQL *mysql)

参数:

mysql:上面的核心结构体

3  mysql_query()

函数的功能:c语言执行数据库的SQL命令语法

函数的原型:

int mysql_query(MYSQL *mysql, const char *query)

函数的参数:

mysql:核心结构体

query:后面跟需要执行的SQL语句,具体的SQL语句参考。

Linux 操作系统&MySQL 数据库1

函数的返回值:

成功返回0,失败返回非0

使用顺序:

初始化数据库 MYSQL *sql = mysql_init();
连接数据库 sql = mysql_real_connect(sql,.....);
执行 mysql 的语法 int a = mysql_query(sql,”select * from ACC;”);
获取结果集合: MYSQL_RES *res = mysql_store_result(sql);

4 mysql_store_result函数

函数功能:

MYSQL_RES *mysql_store_result(MYSQL *mysql)

函数的参数:

mysql:就是执行完查询语句后的刚才核心的结构体

函数返回值:

返回值里面封装的就是我们要的结果集合!

这个集合一般需要借助外部的其他函数来获取结果

1-> int mysql_num_fields(MYSQL_RES * res)

        返回值就是结果集合的列数

        int  lie = mysql_num_fields(res);

2-> int mysql_num_rows(MYSQL_RES*res)

        返回值就是结果集合的行数(不包括列头);

        int hang = mysql_num_row(res);

3->char **mysql_fetch_row(MYSQL_RES *res)

        调用一次,获取结果集一行信息,如果查找到多行,要循环调用该函数

        指向失败;NULL或错误码

4-> MYSQL_FIELD *mysql_fetch_field(MYSQL_RES*res)

        获取一列的列头信息,该函数返回的结构体里面的name。就是我们要找的表头,但是该函数里面name是一个char * 类型,也就是说该函数调用一场,仅仅返回表头中的一列,想要看到整个表头,要一直往后获取,直到取到NULL

你可能感兴趣的:(Linux系统编程,数据库,mysql)