初步探索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;

}

 运行结果:

posted @ 2013-06-26 19:58  miley  阅读(223)  评论(0)    收藏  举报