使用c语言对mysql进行增删查改

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
全局流量管理 GTM,标准版 1个月
简介: 使用c语言对mysql进行增删查改
#include"stdafx.h"
#include<winsock2.h>//这个是必须添加的,不然就会出现102个错误  
#include"mysql.h"  
#include<my_global.h>
#include<stdio.h>  
#include<stdlib.h>  
staticMYSQL*conn;      // 连接connection
//初始化函数,主要是进行数据库连接等工作
void init(){
    char*server= "localhost";  // 数据库所在主机的ip    
    char*user = "root";     // 数据库的root用户    
    char*password= "huachao"; //root用户的密码
    char*database= "test";    // 操作的数据库名  
    //连接到mysql数据库
    conn=mysql_init(NULL);  
    //根据具体的配置信息链接数据库.  
    if(!mysql_real_connect(conn , server, user, password, database, 0, NULL,0)) {  
       printf("Conection error : %s\n",mysql_error(conn ));  
       exit(1);  
    }  
}
//通过sql语句进行插入数据
bool insertBySQL(char*str){
    /**//*执行插入语句*/
    if(mysql_query(conn,str)){
       printf("执行插入失败");
       returnfalse;
    }else{
       printf("插入成功,受影响行数:%lu\n",(ulong)mysql_affected_rows(conn));
       returntrue;
    }
}
//通过sql语句来对数据库表进行修改数据
void updateBySQL(char*sql){
    /**//*执行插入语句*/
    if(mysql_query(conn,sql)){
       printf("修改失败");
    }else{
       printf("修改成功,受影响行数:%lu\n",(ulong)mysql_affected_rows(conn));
    }
}
//根据sql语句来对数据库表进行查询
void getBySQL(char *sql,intcolNum){
    MYSQL_RES *res;   //结果
    MYSQL_ROW row;    //结果行(一行一行)
    //将查询发送到数据库  
    if(mysql_query(conn, sql))  
    {  
       printf("MySQL query error : %s\n",mysql_error(conn));  
       exit(1);  
    }  
    res=mysql_use_result(conn);  
    while((row = mysql_fetch_row(res)) !=NULL)  
    {
       printf("%s\t%s\t%s\n", row[0],row[1],row[2]);  
    }
    mysql_free_result(res);  
}
void deleteBySQL(char*sql){
    if(mysql_query(conn,sql)){
       printf("删除失败");
    }else{
       printf("删除成功,受影响行数:%lu\n",(ulong)mysql_affected_rows(conn));
    }
}
int_tmain(intargc,_TCHAR* argv[])
{
    init();
    //insertBySQL("insertinto test(name,password) values('hh','22')");
    //getBySQL("select* from test",2);
    //updateBySQL("updatetest set name='lisi' where id=2");
    deleteBySQL("delete from test where id=5");
    mysql_close(conn);  
    getchar();
    return0;  
}


出现如下错误:


error LNK2019: 无法解析的外部符号 _mysql_real_connect@32,该符号在函数 _main 中被引用


error LNK2019: 无法解析的外部符号 _mysql_query@8,该符号在函数 _main 中被引用


error LNK2019: 无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用


error LNK2019: 无法解析的外部符号 _mysql_close@4,该符号在函数 _main 中被引用


如果按照之前的步骤还会出现这种错误,可能是因为新建的项目是win32,而操作系统和mysql软件都市64位的,此时如下解决:


右击项目->属性->配置管理器,如图:


20140811144607515.png


然后在“活动解决方案平台”点击下拉,“新建”选择x64即可


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
安全 关系型数据库 MySQL
【MySQL】表的增删查改
【MySQL】表的增删查改
|
11月前
|
关系型数据库 MySQL 数据库
关于mysql涉及到的知识点,C语言如何操作mysql
关于mysql涉及到的知识点,C语言如何操作mysql
|
15天前
|
SQL Java 关系型数据库
MySQL数据库基础:增删查改
本文详细介绍了数据库中常用数据类型的使用方法及其在Java中的对应类型,并演示了如何创建表、插入数据、查询数据(包括全列查询、指定列查询、去重查询、排序查询、条件查询和分页查询)、修改数据以及删除数据。此外,还特别强调了处理NULL值时的注意事项,以及在执行修改和删除操作时应谨慎使用条件语句,以避免误操作导致的数据丢失。
57 14
MySQL数据库基础:增删查改
|
5月前
|
编译器 C语言
C语言进阶⑯(自定义类型)项目:静态通讯录,增删查改排序打印。
C语言进阶⑯(自定义类型)项目:静态通讯录,增删查改排序打印。
46 1
|
5月前
|
SQL 关系型数据库 MySQL
MySQL基本操作——增删查改
MySQL基本操作——增删查改
33 2
|
5月前
|
SQL 存储 关系型数据库
MySQL进阶-增删查改(全网最详细sql教学)-3
MySQL进阶-增删查改(全网最详细sql教学)
38 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL进阶-增删查改(全网最详细sql教学)-2
MySQL进阶-增删查改(全网最详细sql教学)
37 0
|
5月前
|
SQL NoSQL 关系型数据库
MySQL进阶-增删查改(全网最详细sql教学)-1
MySQL进阶-增删查改(全网最详细sql教学)
43 0
|
5月前
|
NoSQL 关系型数据库 MySQL
【MySQL探索之旅】MySQL数据表的增删查改——约束
【MySQL探索之旅】MySQL数据表的增删查改——约束
|
12月前
|
SQL 安全 关系型数据库
MySQL数据库中的增删查改(MySQL最核心,工作中最常用的部分)
MySQL数据库中的增删查改(MySQL最核心,工作中最常用的部分)
503 0
下一篇
无影云桌面