`

linux下C语言连接mysql

阅读更多

环境:fedora16

 

1)安装:# yum install mysql mysql-devel   //mysql-devel同样需要安装,开发中要用到/usr/include/mysql

   查看mysql是否启动: service mysqld status ,如果未启动,启动mysql:service mysqld start

   详情请查看:http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/

2)创建数据表

   进入mysql:mysql -u root -p 回车,初始密码未空,再次回车

use test

  以下为导出数据:创建数据表,插入数据应该可以自己解决吧

--
-- Database: `test`
--

-- --------------------------------------------------------

--
-- Table structure for table `users`
--

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `name`) VALUES
(1, 'tom'),
(2, 'jack'),
(3, 'haha');

 

3)

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <mysql.h>
int main(int argc, char* argv[]) {
	MYSQL mysql;
	//连接mysql
	if (connect_mysql(&mysql)) {
		return 1;
	}
	//载入数据
	if (load_users(&mysql)) {
		mysql_close(&mysql);
		return 1;
	}
	//Do something here.
	//关闭mysql
	mysql_close(&mysql);
	return 0;
}
//连接MYSQL数据库
int connect_mysql(MYSQL* mysql) {
	printf("Initializing mysql.................");
	if (!mysql_init(mysql)) {
		return 1;
	}
	printf("Done\r\n");
	printf("Connectiong to mysql...............");
	if (!mysql_real_connect(mysql, "localhost", "root", "", "test", 0, NULL,0)) {
		fprintf(stderr, "Error: %s\r\n", mysql_error(mysql));
		return 1;
	}
	//设置mysql连接的字符集
	mysql_query(mysql, "SET NAMES 'utf8'");
	printf("Done\r\n");
	return 0;
}
//加载数据表
int load_users(MYSQL *mysql) {
	int ret, field_count, row_count, i;
	int *lengths;
	char *query = "select * from users";
	MYSQL_RES *result;
	MYSQL_ROW row;
	ret = mysql_real_query(mysql, query, strlen(query));
	if (ret != 0) {
		printf("加载不了users的数据。\n");
		return 1;
	}
	result = mysql_store_result(mysql);
	row_count = (int) mysql_num_rows(result);
	field_count = (int) mysql_num_fields(result);
	if (result == NULL && field_count == 0) {
		printf("无数据");
		return 1;
	}
	for (i = 0; i < row_count; i++) {
		row = mysql_fetch_row(result);
		printf("%s  %s\n", row[0], row[1]);
	}
	mysql_free_result(result);
	return 0;
}

 

4)编译:gcc -o bin_name hello.c -I /usr/include/mysql -L /usr/lib/mysql -lmysqlclient -lz -lm

 

5)执行:(ls一下你发现目录下多了一个bin_name)

./bin_name

 

linux c mysql

 

祝你成功!~

 

参考:http://c.chinaitlab.com/database/850508_2.html

  • 大小: 91.4 KB
分享到:
评论

相关推荐

    linux下C语言连接mysql数据库.docx

    Linux 下 C 语言连接 MySQL 数据库 Linux 操作系统下的 C 语言连接 MySQL 数据库是指在 Linux 平台上使用 C 语言编写程序来连接 MySQL 数据库,实现数据库的 CURD 操作(Create、Retrieve、Update、Delete)。本...

    linux下C语言连接mysql数据库

    在Linux环境下,使用C语言连接MySQL数据库是一项常见的任务,尤其对于开发系统级应用程序或需要与数据库交互的应用来说。本文将详细介绍如何在C程序中实现这一功能,并提供一个基本的示例代码。 首先,确保你已经...

    Linux 下C语言连接mysql实例详解

    Linux 下C语言连接mysql实例详解 第一步: 安装mysql, 参考://www.jb51.net/article/39190.htm 第二步: 安装mysql.h函数库 sudo apt-get install libmysqlclient-dev 执行之后就可以看到/usr/include/MySQL目录...

    linux下用c语言连接mysql

    linux下用c语言连接mysql,都是一些C语言连接在linux系统下连接mysql的代码

    linux 下 C 连接Mysql

    ### Linux下C语言连接MySQL详解 在Linux环境下利用C语言连接MySQL数据库是一项常见的技术需求,尤其是在需要编写系统级应用或高性能服务时。本文将详细解释如何在Linux环境下使用C语言来连接并操作MySQL数据库。 #...

    C语言连接mysql成功

    在IT领域,尤其是在数据库操作与跨平台编程方面,掌握如何使用C语言连接MySQL数据库是一项非常实用且关键的技能。本文将深入探讨如何在Linux环境下利用C语言实现与MySQL数据库的成功连接,包括必要的软件包安装、...

    C语言连接mysql

    首先,要使用C语言连接MySQL,我们需要包含MySQL的头文件,并链接MySQL的动态库。在代码中,引入`&lt;mysql.h&gt;`头文件,确保编译时链接`libmysqlclient`库。例如,在Linux系统中,编译命令可能包括`-lmysqlclient`选项...

    eclipse配置C语言连接mysql环境

    ### Eclipse配置C语言连接MySQL环境详解 #### 一、引言 在Linux环境下,使用Eclipse集成开发环境(IDE)进行C/C++编程时,有时需要实现与MySQL数据库的交互功能。这通常涉及到如何在Eclipse中正确配置C/C++项目以支持...

    在Linux下编译安装MySQL并通过C语言操作MySQL数据库.pdf

    在Linux上,需要安装MySQL客户端开发库,这通常包含了头文件和库文件,用于编写连接MySQL数据库的C程序: ```bash sudo apt-get install libmysqlclient-dev ``` ##### 2. 编写C程序 下面是一个简单的C程序示例,...

    Linux系统C语言编程连接MySql数据库实现的用户 用户组 用户策略 管理系统(getopt函数方式解析命令行参数)

    1、Linux系统C语言编程连接MySql数据库实现的用户 用户组 用户策略 管理系统(getopt解析命令行参数).c 代码的源文件。 user-usergroup-authoritys.vsd user-usergroup-authoritys.jpg 数据库的图,以及图片。 2、...

    Linux系统C语言编程连接MySql数据库实现的用户用户组色权限管理系统(图形界面)

    《Mysql 最后程序的总结—— Linux系统C语言编程连接MySql数据库实现的用户角色权限管理系统》 修改的问题: 1、新增 添加用户组模块; 2、新增 显示用户组模块; 3、修改 新增用户模块 选择 其所属用户组 并把...

    CSQL.rar_ CSQL_CSQL_MYSQL改_linux c mysql_linux mysql增删

    4. **连接管理**:在Linux环境下,通过C语言连接MySQL数据库,需要使用`mysql_library_init()`初始化MySQL库,然后用`mysql_init()`和`mysql_real_connect()`建立连接。连接参数通常包括服务器地址、端口、用户名、...

    linux c 线程池连接mysql

    在Linux系统下,C语言是实现底层编程和高性能服务器应用的常见选择。本文将深入探讨如何利用C语言、Epoll事件模型、线程池以及数据库连接池来构建一个高并发的MySQL连接服务。 1. **C语言与MySQL连接**: C语言...

    C语言编程连接mysql进行查询的代码

    C语言编程连接mysql进行查询的代码,全过程处理,实用的是linux下的mysqld的C的API,编译连接时需要制定mysql的链接库 -lmysqlclient

    C语言调用mysql快速教程(精华篇).doc

    【C语言调用MySQL快速教程】是针对C程序员的一个实用指南,...无论是在Linux环境下还是其他支持C语言和MySQL的系统上,这些技巧都是十分实用的。通过实践和调整,你可以根据实际需求构建更复杂、功能丰富的数据库应用。

    linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql

    在Ubuntu下安装MySQL方法很简单,使用如下命令: 代码如下:sudo apt-get install mysql-server 安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设置root密码的时候自行设置,免得后面...

Global site tag (gtag.js) - Google Analytics