文章目录
准备工作
- 搜索是否包含依赖库
sudo apt-cache search mysqlclient-dev
(显然打错了,是libmysqlclient-dev库)
- 安装依赖库
sudo apt install libmysqlclient-dev
- 查看是否已经安装
sudo apt list --installed |grep libmysqlclient-dev
- 查看头文件是否已经包含
find /usr|grep mysql.h
相关函数解释
C变量类型
MYSQL
表示对一个数据库的连接句柄;
MYSQL_RES
代表返回行的一个查询的(SELECT, SHOW, DESCRIBE, EXPLAIN)的结果。返回的数据称为“数据集”,用过数据库的应该对数据库中查询后得到的结果集不会陌生,在C的API里对应的就是MYSQL_RES了,从数据库读取数据,最后就是从MYSQL_RES中读取数据。
MYSQL_ROW
这是一个行数据的类型安全(type-safe)的表示。当前它实现为一个计数字节的字符串数组。(如果字段值可能包含二进制数据,你不能将这些视为空终止串,因为这样的值可以在内部包含空字节) 行通过调用mysql_fetch_row()获得。
MYSQL_FIELD
这个结构包含字段信息,例如字段名、类型和大小。其成员在下面更详细地描述。你可以通过重复调用mysql_fetch_field()对每一列获得MYSQL_FIELD结构。字段值不是这个结构的部分;他们被包含在一个MYSQL_ROW结构中。
MYSQL
表示对一个数据库的连接句柄;
MYSQL_RES
个结构代表返回行的一个查询的(SELECT, SHOW, DESCRIBE, EXPLAIN)的结果。返回的数据称为“数据集”,用过数据库的应该对数据库中查询后得到的结果集不会陌生,在C的API里对应的就是MYSQL_RES了,从数据库读取数据,最后就是从MYSQL_RES中读取数据。
MYSQL_ROW
这是一个行数据的类型安全(type-safe)的表示。当前它实现为一个计数字节的字符串数组。(如果字段值可能包含二进制数据,你不能将这些视为空终止串,因为这样的值可以在内部包含空字节) 行通过调用mysql_fetch_row()获得。
MYSQL_FIELD
这个结构包含字段信息,例如字段名、类型和大小。其成员在下面更详细地描述。你可以通过重复调用mysql_fetch_field()对每一列获得MYSQL_FIELD结构。字段值不是这个结构的部分;他们被包含在一个MYSQL_ROW结构中。
my_ulonglong
该类型用于行编号和mysql_affected_rows()、mysql_num_rows()和mysql_insert_id()。
该类型用于行编号和mysql_affected_rows()、mysql_num_rows()和mysql_insert_id()。
C语言常用开发接口
mysql_init
原型:MYSQL *mysql_init(MYSQL *mysql)
mysql_init的作用是初始化MYSQL变量,为mysql_real_connect()做准备。
返回值:MYSQL句柄或描述符;内存不足是为NULL;
mysql_real_connect
MYSQL *my