----------------------------------分界线--------------------------------------
数据库Client与Sever之间也是采用tcp协议的.<mysql同理oracle,端口协议发收数据>
1. 初始化client
2. 建立连接
3. Client向server发送sql语句,server将执行sql语句的结过返回给client.
4. 断开连接
------------------编写mysql程序,成功连接sever之后,第一个执行的语句是设置字符集set name utf8.不然后面因为编码错误,但又不是语法错误,不报错,无结果.关于文件也要设置为utf8模式进行编码.统一.
-----------------------------这部分----可以略过---------------------------------------
步骤:
1. 安装MySQL数据库2. 项目属性页->C/C++->常规->附加包含目录:xxx\MySQL Server 5.6\include
3. 项目属性页->链接器->常规->附加库目录:xxx\MySQL Server 5.6\lib
4.项目属性页->链接器->输入->附加依赖项:libmysql.lib . 将libmysql.dll拷贝到项目中
5.引入头文件:#include <mysql.h>
核心思想:软件是通过sql语句来和数据库进行交互的.mysql_query函数中有一个参数就是sql语句.
#include "stdafx.h"
#include <mysql.h>
#include<iostream>
#include<string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
MYSQL mysql = {0};
MYSQL * connection;
mysql_init(&mysql);
connection = mysql_real_connect(&mysql,"localhost","root","manager","one",0,NULL,0);
if (NULL == connection)
{
printf("Connect err,%s\n",mysql_error(&mysql));
return -1;
}
if (0 != mysql_query(connection,"set names utf8"))
{
printf("设置字符集错误,%s",mysql_error(&mysql));
}
if (0 != mysql_query(connection,"insert into hello(age,name) values(200,'Ting')"))
{
printf("执行sql语句失败,%s\n",mysql_error(&mysql));
}
char he[100] = {0};
gets(he);
if (0 != mysql_query(connection,he))
{
printf("执行sql语句失败,%s\n",mysql_error(&mysql));
printf("%s\n",he);
}
mysql_close(connection);
return EXIT_SUCCESS;
}