zoukankan      html  css  js  c++  java
  • C语言写数据库(一)

    /***
    connect.c
    ***/
    #include<stdio.h>
    #include<stdlib.h>
    #include"mysql.h"
    
    int main()
    {
        MYSQL mysql;
        int t,r;
        mysql_init(&mysql);
        if(!mysql_real_connect(&mysql,"localhost","root","mysql123","csql",0,NULL,0))
        {
            printf("Error connecting to database:%s
    ",mysql_error(&mysql));
        }
        else
        {
            printf("Connect MYSQL successfully!
    ");
        }
        mysql_close(&mysql);
        return 0;
    }

    gcc编译:gcc connect.c -o connect -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient

    /***
    query
    ***/
    #include<stdio.h>
    #include<stdlib.h>
    #include"mysql.h"
    
    int main()
    {
        MYSQL* conn_ptr;
        MYSQL_RES* res_ptr;
        MYSQL_ROW sqlrow;
        char taskID[256];
        char taskName[256];
        int res,i,j;
        
        conn_ptr = mysql_init(NULL);
        if(!conn_ptr)
        {
            return EXIT_FAILURE;
        }
        conn_ptr = mysql_real_connect(conn_ptr,"localhost","root","mysql123","csql",0,NULL,0);
        if(conn_ptr)
        {
            res = mysql_query(conn_ptr,"select * from task where taskState=4 order by taskLastEditTime desc");
            if(res)
            {
                printf("SELECT error:%s
    ",mysql_error(conn_ptr));
            }
            else
            {
                res_ptr=mysql_store_result(conn_ptr);
                if(res_ptr)
                {
                    printf("%lu Rows
    ",(unsigned long)mysql_num_rows(res_ptr));
                    j = mysql_num_fields(res_ptr);
                    
                    while((sqlrow = mysql_fetch_row(res_ptr)))
                    {
                        for(i = 0 ; i  < j; i++)
                        {
                            printf("%s	",sqlrow[i]);
                        }
                        printf("
    ");
                        break;
                    }
                    if(mysql_errno(conn_ptr))
                    {
                        fprintf(stderr,"Receive error:%s",mysql_error(conn_ptr));
                    }
                }
                mysql_free_result(res_ptr);
            }
            if(res)
            {
                printf("mysql_insert error:%s
    ",mysql_error(conn_ptr));
            }
        }
        else
        {
            printf("Connection failed
    ");
        }
        mysql_close(conn_ptr);
        return EXIT_SUCCESS;
    }

    gcc编译:gcc query.c -o query -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient

    /**
    insert
    ***/
    #include<stdio.h>
    #include<stdlib.h>
    #include"mysql.h"
    
    int main(){
        MYSQL *conn_ptr;
        int res;
        
        conn_ptr = mysql_init(NULL);
        if(!conn_ptr){
            printf("mysql_init failed!
    ");
            return EXIT_FAILURE;
        }
        conn_ptr = mysql_real_connect(conn_ptr,"localhost","root","shenhaoinfo","csql",0,NULL,0);
        if(conn_ptr){
            res = mysql_query(conn_ptr,"insert into children values(null,'jesffsui',5)");
            //
            if(!res){
                printf("Insert %lu rows
    ",(unsigned long)mysql_affected_rows(conn_ptr));
            }else{
                fprintf(stderr,"insert error %d: %s
    ",mysql_errno(conn_ptr),mysql_error(conn_ptr));
            }
        }else{
            printf("Connection failed
    ");
        }
        mysql_close(conn_ptr);
        return EXIT_SUCCESS;
    }

    gcc编译:gcc insert.c -o insert -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient

    /***
    delete
    ***/
    #include<stdio.h>
    #include<stdlib.h>
    #include"mysql.h"
    
    int main(){
        MYSQL *conn_ptr;
        int res;
        
        conn_ptr = mysql_init(NULL);
        if(!conn_ptr){
            printf("mysql_init failed!
    ");
            return EXIT_FAILURE;
        }
        conn_ptr = mysql_real_connect(conn_ptr,"localhost","root","shenhaoinfo","csql",0,NULL,0);
        if(conn_ptr){
            //res = mysql_query(conn_ptr,"insert into children values(null,'jesffsui',5)");
            res =mysql_query(conn_ptr,"delete from children where fname = 'jesffsui'");
            if(!res){
                printf("delete %lu rows
    ",(unsigned long)mysql_affected_rows(conn_ptr));
            }else{
                fprintf(stderr,"delete error %d: %s
    ",mysql_errno(conn_ptr),mysql_error(conn_ptr));
            }
        }else{
            printf("Connection failed
    ");
        }
        mysql_close(conn_ptr);
        return EXIT_SUCCESS;
    }

    gcc编译:gcc delete.c -o delete -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient

    分别是大写的i,表示INCLUDE,大写的L,表示LINK,小写的L,表示link 一个库

    无论是windows环境下还是linux环境下,编译链接都要带上mysql的库,头文件和附属链接。如何配置网上其他网友写的都已经很详细了。

  • 相关阅读:
    js中eval详解
    javascript数组操作大全
    JavaScript面向对象编程深入分析
    IBatisNet系列二QuickStart篇
    IBatis.Net系列Mapped Statements的语法
    MonoRail学习-入门实例篇
    IBatisNet系列执行存储过程
    IBatis.Net系列多参数的SQL语句的配置
    Castle Startable Facility 简单理解
    wxPython创建系统托盘
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/10979007.html
Copyright © 2011-2022 走看看