初步探索MySQL 的C语言API(配置+建立数据库)
1、 Mysql免安装文件配置(window 7)
复制my-default.ini,改名为my.ini,并修改参数如下:
[client]
port=3306
default-character-set = utf8
[mysqld]
# These are commonly set, remove the # and set as required.
port = 3306
basedir = F:\Program Files\mysql (免安装文件夹所在位置)
datadir = F:\Program Files\mysql\data
#server_id = .....
character_set_server = utf8
在命令行中启用mysql(运行cmd)
例如:输入F:,回车再输入\Program Files\mysql\bin
(注:也可以把…mysql\bin目录添加到系统变量path中,这样在任何文件夹下都能运行mysql)
- 安装mysql: mysqld install MySQL --defaults-file="F:\Program Files\mysql\my.ini" (移除musql语句:mysqld remove)
- 启动服务net start MySQL (停止服务net stop MySQL)
- 输入mysql -u root,接下来可建立数据库等一系列操作。
2、 MySQL建立数据库
Mysql> USE test;
Mysql> CREATE TABLE book(
Mysql> book_id int NOT NULL PRIMARY KEY,
Mysql> title VARCHAR(50) NOT NULL;
Mysql> author CHAR(10) );
Mysql> INSERT INTO book (book_id,title,author)
Mysql> VALUES (1,Database Programing with Java,George),
Mysql> (2,JavaServer Pages,Han),
Mysql> (3,Java Distributed Computing,Jim);

2 打开VS,新建一个c++控制台项目
VS配置:右击项目->属性


把libmysql.lib 和 libmysql.dll拷到工程目录下
3 在项目源文件中加入以下代码,访问1中test数据库里的book表
#include "stdafx.h"
#include "windows.h" //加入window.h,否则报错
#include <stdio.h>
#include <mysql.h>
int main(int argc,char** argv)
{
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *connection,test; //test是步骤1中创建的数据库
int state;
mysql_init(&test);
connection=mysql_real_connect(&test,"localhost","root","登陆MySQL密码","test",0,0,0);
if(connection==NULL)
{ printf(mysql_error(&test));
return 1;
}
//查看book表中的title、author列
state=mysql_query(connection,"SELECT title,author FROM book");
if (state!=0)
{ printf(mysql_error(connection));
return 1;
}
result=mysql_store_result(connection);
printf("Rows;%d\n",mysql_num_rows(result));
while ((row=mysql_fetch_row(result))!=NULL)
{
printf("title: %s,author:s %\n",(row[0]?row[0]:"NULL"),(row[1]?row[1]:"NULL"));
}
mysql_free_result(result);
mysql_close(connection);
printf("Done.\n");
return 0;
}
运行结果:


浙公网安备 33010602011771号