Linux下C语言笔记操作MySQL

Linux下C语言学习笔记—操作MySQL

注:下面的所有例子在mandriva linux下测试通过

1,使用c语言操作mysql之前,先在mysql里头创建一个数据库,一个表,在表里头添加数据如下:

创建数据库,库名为cusemysql:
mysql>create database cusemysql;
创建表,表名为:
mysql>use cusemysql;
mysql>create table children(childno int not null unique,fname varchar(20),age int);
添加一点数据哦:
mysql>insert into children values(5,"anny",10);
对拉,为了方便起见,把表的大致样子给大家看看


childno         fname       age
1                小星      9
2                大量      15

//////////////////
/*  select1.c */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "/usr/include/mysql/mysql.h"
 
int main(int argc, char *argv[])
{
MYSQL my_connection;
MYSQL_RES *res_ptr;   /*指向检索的结果存放地址的指针*/
MYSQL_ROW sqlrow;     /*返回的记录信息*/
MYSQL_FIELD *fd;      /*字段结构指针*/
char aszflds[25][25]; /*用来存放各字段名*/
int res;             /*执行查询操作后的返回标志*/
int i,j,k;

mysql_init(&my_connection);

/*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)*/
if (mysql_real_connect(&my_connection, "127.0.0.1", "root", "你的密码","cusemysql",0,NULL,CLIENT_FOUND_ROWS))
{
    printf("Connection success\n");
    res = mysql_query(&my_connection, "select childno,fname,age from children where age<20");

if (res)
    {
        printf("SELECT error:%s\n",mysql_error(&my_connection));
    }
    else
    {
       res_ptr=mysql_store_result(&my_connection);
       if(res_ptr)
       {
              printf("Retrieved %lu Rows\n",(unsigned long)mysql_num_rows(res_ptr));
              /*取得各字段名*/
              for(i=0;fd=mysql_fetch_field(res_ptr);i++)
                     strcpy(aszflds[i],fd->name);
              /*输出各条记录*/
              printf("下面是检索出的各条记录信息:\n");
              j=mysql_num_fields(res_ptr);
              for(i=0;i<j;i++)
              printf("%s\t",aszflds[i]);
              printf("\n");
              while((sqlrow=mysql_fetch_row(res_ptr)))
              {
                     for(i=0;i<j;i++)
                     printf("%s\t",sqlrow[i]);
                     printf("\n");
              }
              if (mysql_errno(&my_connection))
              {
                     fprintf(stderr,"Retrive error:s\n",mysql_error(&my_connection));
              }
       }
       mysql_free_result(res_ptr);
       }
    mysql_close(&my_connection);
}

else
{
    fprintf(stderr, "Connection failed\n");

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsdxg.html