当前位置 : 主页 > 编程语言 > c语言 >

MySQL系列教程之使用C语言来连接数据库

来源:互联网 收集:自由互联 发布时间:2023-02-01
目录 写在前面 一、准备工作 1.1 把 libmysql.dll 和 libmysql.lib 文件复制到工程目录下 1.2 添加 libmysql.lib 1.3 添加 include目录 1.4 包含头文件 1.5 其他准备工作 1.5.1 代码准备 1.5.2 创建数据库连
目录
  • 写在前面
  • 一、准备工作
    • 1.1 把 libmysql.dll 和 libmysql.lib 文件复制到工程目录下
    • 1.2 添加 libmysql.lib 
    • 1.3 添加 include目录
    • 1.4 包含头文件
    • 1.5 其他准备工作
      • 1.5.1 代码准备
      • 1.5.2 创建数据库连接
    • 1.6 选择相应方案配置 Release,解决方案平台 x64
    •  二、代码测试案例
      • 2.1 向数据库插入数据
        • 2.2 向数据库删除数据
          • 2.3 修改数据
            • 2.4 查询数据,打印出来
            • 三、使用C语言连接MySQL数据库 的测试案例代码
              • 总结

                写在前面

                知道了 Java中使用 JDBC编程 来连接数据库了,但是使用 C语言 来连接数据库却总是连接不上去~

                立即安排一波使用 C语言连接 MySQL数据库的教程~

                一、准备工作

                1.1 把 libmysql.dll 和 libmysql.lib 文件复制到工程目录下

                首先,我们要找到刚刚开始下载的 MySQL数据库 的安装目录,打开目录,并且将 libmysql.dll文件 和 libmysql.lib文件 复制到工程目录下~

                我安装MySQL的路径:C:\Program Files\MySQL\MySQL Server 5.7\lib

                1.2 添加 libmysql.lib 

                1.3 添加 include目录

                我的这个路径是:C:\Program Files\MySQL\MySQL Server 5.7\include 

                来到 VS2019 页面,和上述操作一样~

                右键MySQL工程,选择属性 右键,选择 C/C++,选择常规,选择 附加包含目录,同时进行编辑,将刚刚复制的 include路径 给粘贴上去~

                1.4 包含头文件

                接下来 在VS2019里面,先后敲出代码:

                #include <WinSock.h> 和 #include <mysql.h> ,需要注意的是,两行代码的顺序不可以改变~ 

                1.5 其他准备工作

                1.5.1 代码准备

                #include <iostream>
                using namespace std;
                #include <WinSock.h>
                #include <mysql.h>
                 
                void test();
                 
                int main()
                {
                	cout << "main" << endl;
                 
                	test();
                	getchar();
                	return 0;
                }
                 
                void test() 
                {
                	printf("test\n");
                 
                	MYSQL m;        //mysql连接
                	MYSQL_RES* res; //查询结果集
                	MYSQL_ROW row;  //二维数组,存放数据
                 
                	//初始化数据库
                	mysql_init(&m);
                 
                	//设置编码方式
                	mysql_options(&m, MYSQL_SET_CHARSET_NAME, "gbk");
                 
                	//连接数据库
                	if (mysql_real_connect(&m, "localhost", "root", "111111", "c",      3306, NULL, 0))
                	{                           //主机       用户名   密码      数据库名  端口
                		printf("数据库连接成功\n");
                	}
                	else {
                		printf("数据库连接失败:%s \n", mysql_error(&m));
                		//输出错误信息
                	}
                }

                1.5.2 创建数据库连接

                第一步,Win+R,输入 cmd~

                 第二步,输入 musql -uroot -p,回车后,输入一开始安装MySQL数据库是设置的密码,之后回车进入数据库~

                第三步,开始创建一个新的数据库,并且开始建表之类的操作~

                1.6 选择相应方案配置 Release,解决方案平台 x64

                最终,来运行一下代码,发现已经成功了~

                 二、代码测试案例

                在经过上述的一系列操作之后,已经可以连接上 MySQL数据库中了~

                接下来我们就可以来做一些测试案例~

                2.1 向数据库插入数据

                此时,再插入数据之前,我们可以来看一看 上面新建的 student表 是没有任何数据的~

                但是,在加入 插入数据的代码之后,运行一下,我们就会发现 多出来一条数据~

                 当然,改成插入多条数据也是可以的啦~

                2.2 向数据库删除数据

                2.3 修改数据

                没修改之前:

                修改之后:

                2.4 查询数据,打印出来

                三、使用C语言连接MySQL数据库 的测试案例代码

                 
                /*
                 	//向数据库插入数据
                	const char* sql = "insert into student values(2,'李四','女'),(3,'王五','男'),"
                		"(4, '赵六', '女')";
                	if (mysql_query(&m, sql))
                	{
                		printf("插入数据失败:%s \n", mysql_error(&m));
                	}
                	else
                	{
                		printf("插入数据成功\n");
                	}
                 
                 
                	//向数据库删除数据
                	const char* sql_2 = "delete from student where name = '赵六'";
                	if (mysql_query(&m, sql_2))
                	{
                		printf("删除数据失败:%s \n", mysql_error(&m));
                	}
                	else
                	{
                		printf("删除数据成功\n");
                	}
                 
                 
                	//向数据库修改数据
                	const char* sql_3 = "update student set id = 5 where name = '李四'";
                	if (mysql_query(&m, sql_3))
                	{
                		printf("修改数据失败:%s \n", mysql_error(&m));
                	}
                	else
                	{
                		printf("修改数据成功\n");
                	}
                */
                	//需要注意的是,在下面的设置中,所查询到的数据 与打印出来的数据要相互匹配,
                	//不然就会出现乱码的
                	//查询数据
                	const char* sql_4 = "select id,sex,name from student where name = '张三'";
                	if (mysql_query(&m, sql_4)) 
                	{
                		printf("未查到记录:%s \n", mysql_error(&m));
                	}
                	else
                	{
                		printf("查询成功 \n");
                	}
                	//获取查询结果集
                	res = mysql_store_result(&m);
                	if (res)
                	{
                		printf("获取到数据\n");
                	}
                	else
                	{
                		printf("未获取到数据:%s \n", mysql_error(&m));
                	}
                	//打印获取到的数据
                	printf("id\tname\tsex\n");
                	while (row = mysql_fetch_row(res)) 
                	{
                		printf("%s\t%s\t%s\n", row[0], row[1], row[2]);
                	}
                	//释放资源
                	mysql_free_result(res);//释放结果集
                	mysql_close(&m);//关闭数据库
                }

                使用 C语言 连接 MySQL数据库,正好可以和 Java 连接 MySQL数据库 相互映衬~

                总结

                到此这篇关于MySQL系列教程之使用C语言来连接数据库的文章就介绍到这了,更多相关C语言连接MySQL数据库内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

                网友评论