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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,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即可


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
关系型数据库 MySQL 数据库
关于mysql涉及到的知识点,C语言如何操作mysql
关于mysql涉及到的知识点,C语言如何操作mysql
167 0
|
安全 关系型数据库 MySQL
【MySQL】表的增删查改
【MySQL】表的增删查改
126 1
|
编译器 C语言
C语言进阶⑯(自定义类型)项目:静态通讯录,增删查改排序打印。
C语言进阶⑯(自定义类型)项目:静态通讯录,增删查改排序打印。
113 1
|
SQL Java 关系型数据库
MySQL数据库基础:增删查改
本文详细介绍了数据库中常用数据类型的使用方法及其在Java中的对应类型,并演示了如何创建表、插入数据、查询数据(包括全列查询、指定列查询、去重查询、排序查询、条件查询和分页查询)、修改数据以及删除数据。此外,还特别强调了处理NULL值时的注意事项,以及在执行修改和删除操作时应谨慎使用条件语句,以避免误操作导致的数据丢失。
277 15
MySQL数据库基础:增删查改
|
存储 关系型数据库 MySQL
【探究Mysql表中的增删查改(进阶篇)】
【探究Mysql表中的增删查改(进阶篇)】
139 7
|
SQL 关系型数据库 MySQL
MySQL基本操作——增删查改
MySQL基本操作——增删查改
125 2
|
SQL 存储 关系型数据库
MySQL进阶-增删查改(全网最详细sql教学)-3
MySQL进阶-增删查改(全网最详细sql教学)
117 0
|
SQL 关系型数据库 MySQL
MySQL进阶-增删查改(全网最详细sql教学)-2
MySQL进阶-增删查改(全网最详细sql教学)
140 0
|
SQL NoSQL 关系型数据库
MySQL进阶-增删查改(全网最详细sql教学)-1
MySQL进阶-增删查改(全网最详细sql教学)
158 0
|
NoSQL 关系型数据库 MySQL
【MySQL探索之旅】MySQL数据表的增删查改——约束
【MySQL探索之旅】MySQL数据表的增删查改——约束

推荐镜像

更多