安装完MySQL之后,将安装目录中的include目录下的libmysql.lib文件拷到VS2008安装目录中的VC\lib\下,然后在 项目-选项-c/c++-常规 中的附加包含目录以及 链接器-常规 中的附加库目录中加入“c:\MySQL\include\”,并且在 链接器-输入 中的附加依赖项内添加“libmysql.lib”,这样即可使编译器找到mysql.h头文件,并可在程序中使用c语言的mysql API来操作数据库。(如果MySQL安装目录中无include目录,可到MySQL官网下载并安装MySQL connector for C,并修改include目录路径)
01 |
#include
<Windows.h> |
02 |
#include
<stdio.h> |
03 |
#include
<stdlib.h> |
04 |
#include
<string.h> |
05 |
#include
<mysql.h> |
06 |
#include
<iostream> |
07 |
using namespace std; |
08 |
09 |
int main() |
10 |
{ |
11 |
const char user[]
= "root"; //username |
12 |
const char pswd[]
= "root"; //password |
13 |
const char host[]
= "localhost"; //or"127.0.0.1" |
14 |
const char table[]
= "test"; //database |
15 |
unsigned int port
= 3306; //server
port |
16 |
MYSQL
myCont; |
17 |
MYSQL_RES
*result; |
18 |
MYSQL_ROW
sql_row; |
19 |
MYSQL_FIELD
*fd; |
20 |
char column[32][32]; |
21 |
int res; |
22 |
mysql_init(&myCont); |
23 |
if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,0)) |
24 |
{ |
25 |
cout<<"connect
succeed!"<<endl; |
26 |
mysql_query(&myCont, "SET
NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文 |
27 |
res=mysql_query(&myCont,"select
* from samples");//查询 |
28 |
if(!res) |
29 |
{ |
30 |
result=mysql_store_result(&myCont);//保存查询到的数据到result |
31 |
if(result) |
32 |
{ |
33 |
int i,j; |
34 |
cout<<"number
of result: "<<(unsigned long)mysql_num_rows(result)<<endl; |
35 |
for(i=0;fd=mysql_fetch_field(result);i++)//获取列名 |
36 |
{ |
37 |
strcpy(column[i],fd->name); |
38 |
} |
39 |
j=mysql_num_fields(result); |
40 |
for(i=0;i<j;i++) |
41 |
{ |
42 |
printf("%s\t",column[i]); |
43 |
} |
44 |
printf("\n"); |
45 |
while(sql_row=mysql_fetch_row(result))//获取具体的数据 |
46 |
{ |
47 |
for(i=0;i<j;i++) |
48 |
{ |
49 |
printf("%s\n",sql_row[i]); |
50 |
} |
51 |
printf("\n"); |
52 |
} |
53 |
} |
54 |
} |
55 |
else |
56 |
{ |
57 |
cout<<"query
sql failed!"<<endl; |
58 |
} |
59 |
} |
60 |
else |
61 |
{ |
62 |
cout<<"connect
failed!"<<endl; |
63 |
} |
64 |
if(result!=NULL)
mysql_free_result(result);//释放结果资源 |
65 |
mysql_close(&myCont);//断开连接 |
66 |
return 0; |
67 |
} |
[代码] [C/C++]代码
01 |
测试环境:MySQL
5.1.35 |
02 |
安装MySQL之后,打开MySQL
Command Line Client,输入root密码,即可操作数据库 |
03 |
04 |
//查看MySQL版本 |
05 |
mysql>
select version(); |
06 |
07 |
//显示所有数据库 |
08 |
mysql>
show databases; |
09 |
10 |
//使用数据库 |
11 |
mysql>
use database_name; |
12 |
13 |
//显示所有数据表 |
14 |
mysql>
show tables; |
15 |
16 |
//显示数据表结构 |
17 |
mysql>
describe table_name; |
18 |
19 |
//创建数据库 |
20 |
mysql>
create database database_name; |
21 |
22 |
//删除数据库 |
23 |
mysql>
drop database database_name; |
24 |
25 |
//创建数据表 |
26 |
mysql>
use database_name; |
27 |
mysql>
create table table_name (字段名 VARCHAR(20), 字段名 CHAR(1)); |
28 |
29 |
//删除数据表 |
30 |
mysql>
drop table table_name; |
31 |
32 |
//查询记录 |
33 |
mysql>
select * from table_name; |
34 |
35 |
//导入.sql文件 |
36 |
mysql>
use database_name; |
37 |
mysql>
source c:/mysql.sql |
38 |
39 |
//修改root密码 |
40 |
mysql>
UPDATE mysql.user SET password=PASSWORD('新密码')
WHERE User='root'; |
41 |
42 |
//退出 |
43 |
mysql>
quit |
本文转自:http://my.oschina.net/u/156363/blog/62069
本博客展示了如何在C/C++环境下通过MySQL Connector/C连接MySQL数据库,执行查询和操作数据表的基本步骤。包括安装配置、代码实现及常用数据库操作指令演示。
509

被折叠的 条评论
为什么被折叠?



