Mysql—C语言API接口-创新互联
Mysql—C语言API接口
当前题目:Mysql—C语言API接口-创新互联
URL链接:http://ybzwz.com/article/djjipe.html
- 一、mysql-arp访问数据的操作流程
- 1. 初始化mysql操作句柄;
- 2. 连接mysql服务器;
- 3. 设置mysql客户端字符集(保持与服务器一致);
- 4. 选择要操作的数据库;
- 5. 定义sql语句,并且执行语句;
- 6. 将查询结果保存到本地;
- 7. 获取结果中的条数和列数;
- 8. 根据条数和列数遍历结果集;
- 9. 释放保存在本地的结果集;
- 10. 关闭mysql句柄,释放资源;
- 二、接口认识
- 1. 初始化mysql句柄
- 2. 连接mysql服务器
- 3. 设置当前客户端的字符集
- 4. 选择操作的数据库
- 5. 执行sql语句
- 5.1 获取mysql-api接口运行失败的原因:
- 6. 保存查询结果到本地
- 7. 获取结果集中的行数与列数
- 8. 遍历结果集
- 9. 释放结果集
- 10. 关闭数据库客户端连接,销毁句柄:
一、mysql-arp访问数据的操作流程 1. 初始化mysql操作句柄; 2. 连接mysql服务器; 3. 设置mysql客户端字符集(保持与服务器一致); 4. 选择要操作的数据库; 5. 定义sql语句,并且执行语句;了解api接口,自己实现mysql客户端,在代码中访问数据库操作数据。
(就是将sql发送给服务器,服务器进行解析完成操作);
- 如果是新增,修改,删除操作语句执行成功意味着本次操作完成,
- 但是如果是查询,语句执行成功只是第一步。
MYSQL *mysql_init(MYSQL *mysql);
mysql:传入一个句柄的地址进行初始化,
如果传入NULL,则内部申请空间进行初始化并返回申请的句柄的首地址。
返回值:失败返回NULL;
2. 连接mysql服务器MYSQL *mysql_real_connect(MYSQL *mysql, char *host, char *user, char *pass,
char *db, int port, char *socket, int clientflag);
mysql:mysql_init返回的句柄;
host:mysql服务器地址;
user:用户名;
db:默认要操作的库名称;
port:端口,0表示默认使用3306端口
socket:套接字或者管道文件,通常置NULL;
clientflag:客户端标志,通常置0;
返回值:成功返回句柄首地址,失败返回NULL;
3. 设置当前客户端的字符集int mysql_set_character_set(MYSQL *mysql, const char *csname);
mysql:初始化完成的句柄;
csname:字符集名称,通常是uft8;
返回值:成功返回0,失败返回非0;
4. 选择操作的数据库int mysql_select_db(MYSQL *mysql, const char *db);
mysql:初始化完成的句柄;
db:要操作的数据库名称;
返回值:成功返回0,失败返回非0;
5. 执行sql语句int mysql_query(MYSQL *mysql, const char *sql);
mysql:初始化完成的句柄;
sql:要执行的sql语句;
返回值:成功返回0,失败返回非0;
5.1 获取mysql-api接口运行失败的原因:char * mysql_error(MYSQL *mysql)
6. 保存查询结果到本地MYSQL_RES *mysql_store_result(MYSQL *mysql)
7. 获取结果集中的行数与列数uint64_t mysql_num_rows(MYSQL_RES *res);
res:保存到本地的结果集地址;
返回值:结果集中数据的**条数**;
unsigned int mysql_num_fields(MYSQL_RES *res);
res:保存到本地的结果集地址;
返回值:结果集中每一条数据的**列数**;
8. 遍历结果集MYSQL_ROW mysql_fetch_row(MYSQL_RES *res);
res:保存到本地的结果集地址;
遍历结果集,会在res中做标记,保存读写位置,每获取一条就会向后偏移;
MYSQL_ROW这是一个char *res[xxxx] - - 每个元素都是一个字段的值。
9. 释放结果集mysql结果不管是什么类型,保存过来就是一个字符串;
int mysql_free_result(MYSQL_RES *res);
10. 关闭数据库客户端连接,销毁句柄:int mysql_close(MYSQL *mysql);
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前题目:Mysql—C语言API接口-创新互联
URL链接:http://ybzwz.com/article/djjipe.html