1 /*mysql.c,连接本地mysql服务器的c程序
2 *mysql数据库的增删改查基本操作
3 *2012-10-3
4 */
5
6 #include <stdlib.h>
7 #include <stdio.h>
8 #include <string.h>
9 #include <mysql/mysql.h> //MySQL头文件
10
11 int main(int argc, char *argv[]) {
12 // 初始化一个类型为MYSQL的数据结构
13 MYSQL *mysql;
14 mysql = mysql_init(NULL);
15 if (!mysql){
16 fprintf(stderr, "mysql_init failed\n");
17 return EXIT_FAILURE;
18 }
19
20 // 建立连接。
21 mysql = mysql_real_connect(mysql, "127.0.0.1", "root", "123",
22 "mysqltest", 0, NULL, 0);
23 if(mysql){
24 printf("Connection success\n");
25 }
26 else {
27 printf("Connection failed\n");
28 }
29
30 //创建表
31 mysql_query(mysql,"create table name(id int(3) auto_increment not null primary key,"
32 "xm char(8),xb char(4),csny date) DEFAULT CHARSET=utf8");
33
34 //插入数据
35 mysql_query(mysql,"insert into name values('','小峰' , '男' , '1990-12-18')");
36 mysql_query(mysql,"insert into name values('','瑶瑶','女','1990-05-16')");
37 mysql_query(mysql,"insert into name values('','坏蛋','男','1989-7-25')");
38
39 //删除
40 mysql_query(mysql,"delete from name where xm='兰瑶' ");
41
42 //修改
43 mysql_query(mysql,"update name set csny='1990-06-18' where xm='肖峰' ");
44
45 //查询
46 mysql_query(mysql,"select * from name");
47
48 // 获取语句执行的返回结果。
49 MYSQL_RES *res;
50 res=mysql_store_result(mysql);
51
52 //显示
53 MYSQL_ROW row;
54 int r,t;
55 for(r = 1; r <= mysql_num_rows(res); r++) //行数
56 {
57 // 取回结果集中的下一条记录 。
58 row = mysql_fetch_row(res);
59
60 // 获得一条记录中的各个字段
61 for(t = 0; t < mysql_num_fields(res); t++)//列数
62 {
63 printf("%s ",row[t]);
64 }
65 printf("\n");
66 }
67
68 //释放空间
69 mysql_free_result(res);
70 mysql_close(mysql);
71
72 return 0;
73 }