基本原理
1: mysql服务器提供了服务协议,客户端遵守它的协议给他发送数据;
2: mysql有很多针对不同开发语言的 实现了和服务器通讯的客户端库;
3: 开发人员使用这些遵守mysql协议的库与mysql进行数据通讯;
4: 课程使用: mysql-connector-c
搭建mysql开发环境
1: 创建项目;
2:下载 mysql-connector-c 库与头文件;
https://dev.mysql.com/downloads/connector/c/6.1.html
64位为例 (32位兼容64位)
3: 配置好mysql的开发环境:
1>头文件搜索路径;
把库文件的.dll文件放到bin文件夹
把头文件和库文件放到项目的pro.win32->mysql_connector文件夹
打开项目,属性–》添加头文件目录
2>库文件搜索路径
4: 配置好win socket环境WSAStartup/WSACleanup
5: 运行时用的.dll文件;
mysql 连接
建立连接就像我们使用工具一样例如heidiSQL工具一样的客户端
1: MYSQL* pConn = mysql_init(NULL); 创建一个mysql操作上下文;
2: 连接到服务器:
mysql_real_connect(pConn, “127.0.0.1”, “root”, “123456”, “user_center”, 3306, NULL, 0)
3: 配置客户端的字符编码的环境:
mysql_query(pConn, “set names gbk”);
客户端输入是什么编码 数据库会转换成它自己的编码;
当数据回给客户端的时候,也会将数据库编码指定为客户端的编码;
4: mysql_close(pConn);
mysql sql 操作
1: mysql_query, 命令执行函数, MYSQL 链接对象, 后面跟sql语句字符串;
如果有错误:将会打印出来;
修改一条记录
2: 如果没有数据返回的指令如update, insert into, delete
mysql_affected_rows(pConn)处理受影响的记录数目;
客户端增加、修改、删除都会显示受影响行数
3: 如果执行有错误,可以返回错误信息 mysql_error(pConn);
删除
4: 如果指令的命令是有返回结果的,比如select
MYSQL_RES *result = mysql_store_result(pConn)
MYSQL_ROW row;
while (row = mysql_fetch_row(result)) {
printf(“%s: %s %s\n”, row[0], row[1], row[2]); // 每个字段
}
查询