在本教程中,我向社区介绍了如何使用C编程语言访问MySQL数据库,而又不使用过多的依赖关系,
libmysqlclient
我希望它对那些需要此类文档的人有用,从而继续为SL社区做出贡献,并为那些没有INTERNET的人们提供帮助。
组态
首先,我们必须检查是否已安装设计库 *-dev
以便能够从C / C ++访问MySQL。
mysql_config--库
它应该看起来像这样:
-Wl,-Bsymbolic函数-L / usr / lib / mysql -lmysqlclient rdynamic
如果您检查未安装该库,我们将使用以下命令进行安装:
sudo apt-get install libmysqlclient-dev mysql_config --cflags -I / usr / include / mysql -DBIG_JOINS = 1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX
由于我们验证并安装了MySQL和C之间的链接所需的内容,因此我们继续创建数据库:
创建数据库测试; 使用测试; 创建表数据(id int AUTO_INCREMENT NOT NULL PRIMARY KEY,名称varchar(40),age int); 将数据插入(NULL,'Alma Hernandez',28),(NULL,'Jose Sanchez',39),(NULL,'Martin loera',25),(NULL,'Leonardo Cortez',26),(NULL ,“古斯塔沃·罗梅罗”,25岁);
编程与编译
我们继续创建代码:
Query.c
/ *要使用的库* / #include / *库,使我们能够使用MySQL的连接和查询* / #include / *为了使用printf等* / int main(){MYSQL * conn; / * MySQL的连接变量* / MYSQL_RES * res; / *将包含查询结果的变量* / MYSQL_ROW行; / *变量,将包含所查询的每个记录的字段* / char * server =“ localhost”; / *服务器地址127.0.0.1,localhost或ip地址* / char * user =“ root”; / *用户查询数据库* / char * password =“ root”; / *有关用户的密码* / char * database =“ test”; // *要查询的数据库名称* / conn = mysql_init(NULL); / *初始化以使连接为空* // *连接到数据库* / if(!mysql_real_connect(conn,服务器,用户,密码,数据库,0,NULL,0)){/ *定义先前设置的连接参数* / fprintf(stderr,“%s \ n”,mysql_error(conn)); / *如果有错误,请定义哪个错误* /退出(1); } / *发送SQL查询* / if(mysql_query(conn,“从数据中选择*”)){/ *查询的定义和连接的源* / fprintf(stderr,“%s \ n”,mysql_error( conn)); 出口(1); } res = mysql_use_result(conn); 的printf(“ ID \ tName \ t \ age \ n”); while((row = mysql_fetch_row(res))!= NULL)/ *循环遍历变量res并获取所有要使用的记录* / 的printf(“%s \ t%s \ t%s \ n”,第[0]行,第[1]行,第[2]行); / *行变量成为表中字段数的数组* / / *释放res变量并关闭连接* / mysql_free_result(res); mysql_close(conn); }
我们编译:
gcc -o查询$(mysql_config --cflags)Query.c $(mysql_config -libs)
验证
我们执行:
./查询
数据来源: Hugo4295的博客
很好,保存在我的控制台脚本和教程库中! 为您的伴侣+1 ...
您好,祝贺您在网络上解决此问题的一切,您最接近该解决方案。 只是有点疑问,我为什么不获得可执行文件?
在发生冲突时,它不会标记任何错误,但不会生成./ser4
任何想法如何在Fedora中做到吗?
我不会不同意共享信息,但是如果没有放置版权,因为此示例是我自2011年以来制作的,这是原始来源的地址
http://hugo4295.blogspot.mx/search?q=MYSQL
Victor没问题,但是如果您注意到我不是从您的网站上获取该文章,而是从另一个不幸的地方,他们没有提供源。 但是,现在我编辑文章..😉
优秀的分享知识,极大的自由
以及如何进行插入?