c++操作mysql
1 需要安装mysql客户端
2 查看依赖
mysql_config --cflags --libs
安装依赖:yum install mysql-devel
3 导入头文件
#include <mysql.h>
4 相关代码
1 #include <stdio.h> 2 #include <mysql.h> 3 4 #define HOST "localhost" 5 #define USERNAME "root" 6 #define PASSWORD "" 7 #define DATABASE "test" 8 9 void insert_sql(char * sql); 10 void query_sql(char* sql); 11 12 int main(int argc,char *argv[]) 13 { 14 //insert_sql("insert into test values('user','123456')"); 15 query_sql("select * from test"); 16 return 0; 17 } 18 19 void insert_sql(char * sql) 20 { 21 MYSQL conn; 22 int res; 23 mysql_init(&conn); 24 if(mysql_real_connect(&conn,"localhost","root","","test",0,NULL,CLIENT_FOUND_ROWS)) 25 { 26 printf("connect success!\n"); 27 res=mysql_query(&conn,sql); 28 if(res) 29 { 30 printf("error\n"); 31 } 32 else 33 { 34 printf("OK\n"); 35 } 36 mysql_close(&conn); 37 } 38 39 } 40 41 void query_sql(char* sql) 42 { 43 MYSQL my_connection; /*这是一个数据库连接*/ 44 int res; /*执行sql語句后的返回标志*/ 45 MYSQL_RES *res_ptr; /*指向查询结果的指针*/ 46 MYSQL_FIELD *field; /*字段结构指针*/ 47 MYSQL_ROW result_row; /*按行返回的查询信息*/ 48 49 int row, column; /*查询返回的行数和列数*/ 50 int i, j; /*只是控制循环的两个变量*/ 51 52 /*初始化mysql连接my_connection*/ 53 mysql_init(&my_connection); 54 55 /*这里就是用了mysql.h里的一个函数,用我们之前定义的那些宏建立mysql连接,并 56 * 返回一个值,返回不为空证明连接是成功的*/ 57 if (mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD, DATABASE, 0, NULL, CLIENT_FOUND_ROWS)) 58 { 59 /*连接成功*/ 60 printf("数据库查询query_sql连接成功!\n"); 61 /*这句话是设置查询编码为utf8,这样支持中文*/ 62 mysql_query(&my_connection, "set names utf8"); 63 64 /*下面这句话就是用mysql_query函数来执行我们刚刚传入的sql語句, 65 * 这会返回一个int值,如果为0,证明語句执行成功*/ 66 res = mysql_query(&my_connection, sql); 67 68 if (res) 69 { /*现在就代表执行失败了*/ 70 printf("Error: mysql_query !\n"); 71 /*不要忘了关闭连接*/ 72 mysql_close(&my_connection); 73 } 74 else 75 { 76 /*现在就代表执行成功了*/ 77 /*将查询的結果给res_ptr*/ 78 res_ptr = mysql_store_result(&my_connection); 79 80 /*如果结果不为空,就把结果print*/ 81 if (res_ptr) 82 { 83 /*取得結果的行数和*/ 84 column = mysql_num_fields(res_ptr); 85 row = mysql_num_rows(res_ptr) + 1; 86 printf("查询到 %lu 行 \n", row); 87 88 /*输出結果的字段名*/ 89 for (i = 0; field = mysql_fetch_field(res_ptr); i++) 90 printf("%s\t", field->name); 91 printf("\n"); 92 93 /*按行输出結果*/ 94 for (i = 1; i < row; i++) 95 { 96 result_row = mysql_fetch_row(res_ptr); 97 for (j = 0; j < column; j++) 98 printf("%s\t", result_row[j]); 99 printf("\n"); 100 } 101 102 } 103 mysql_free_result(res_ptr); 104 /*不要忘了关闭连接*/ 105 mysql_close(&my_connection); 106 /*释放资源*/ 107 mysql_library_end(); 108 } 109 } 110 }
完整代码
5 编译
g++ testmysql.cpp `mysql_config --cflags --libs` -o test
参考资料:
https://www.cnblogs.com/wunaozai/p/3618383.html
http://blog.csdn.net/fykhlp/article/details/5950485#
转载于:https://www.cnblogs.com/swyroc/p/10678217.html
c++操作mysql相关推荐
- DOS命令行操作MySQL常用命令
平时用可视化界面用惯了,如果紧急排查问题,没有安装可视化工具的话,只能通过命令来看了. 以备不时之需,我们要熟悉一下命令行操作MySQL. 打开DOS命令窗口:WIN + R 输入cmd,回车 然后输 ...
- c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...
这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...
- python3操作mysql教程_python3操作mysql教程
一.下载\安装\配置 1. python3 当前最新版本是python3.2,下载地址是 http://www.python.org/ftp/python/3.2.3/python-3.2.3.msi ...
- linux mysql c语言编程,在Linux下通过C语言操作MySQL数据库
2010年1月27日 晚 22:10 作者:longyun(http://www.linuxdiyf.com/mailto:mtd527@gmail.com) 续:小弟最近想学习数据库,并想开发一个简 ...
- python如何控制mysql_python如何操作mysql
mysql 使用 启动服务 sudo systemctl start mysql pip3 install pymysql python 操作数据库: 定义类 import pymysql class ...
- c 获取mysql列数据_转 用C API 操作MySQL数据库
用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,"C API函数描述". 函数 ...
- Python模块MySQLdb操作mysql出现2019错误:Can't initialize character set utf-8
我使用python的MySQLdb模块实现了一个mysql client, 在测试时,出现了如下错误 Python模块MySQLdb操作mysql出现2019错误:Can't initialize c ...
- nodejs操作sqlserver数据_pyspark操作MySQL、SQLServer数据库进行数据处理操作
欢迎访问本人的CSDN博客[Together_CZ],我是沂水寒城. https://yishuihancheng.blog.csdn.net 在大数据处理领域里面,Hadoop和spark可以说是最 ...
- python mysql批量insert数据、返回id_Python3 操作 MySQL 插入一条数据并返回主键 id的实例...
Python 中貌似并没有直接返回插入数据 id 的操作(反正我是没找到),但是我们可以变通一下,找到最新插入的数据 #!/usr/bin/env python3 # -*- coding: UTF- ...
- php使用pdo操作mysql数据库实例_php5使用pdo连接数据库实例
本文为大家介绍下php pdo的用法. 一,pdo简介 pdo(php data object) 是php 5 中加入的东西,是php 5新加入的一个重大功能,因为在php 5以前的php4/php3 ...
最新文章
- Visual Studio提示Bonjour backend初始化失败
- python中size的用法_在Python中PyArray_SIZE的正确用法是什么?
- python语言是一门编程语言_python是一门怎样的编程语言?老男孩python入门
- php重定向页面位置,php - PHP重定向到基于页面版本的用户位置(IPAPI),并在会话中记住 - SO中文参考 - www.soinside.com...
- 《TCP/IP详解》学习笔记(二):数据链路层
- 医生c语言测试卷b卷的答案,合肥工业大学C语言期中测试题_B卷
- 85后转行java,一名85后阿里老程序员的真心话
- 初分配和再分配图解_针织好看暖和的儿童帽子图解教程,宝妈们千万不要错过...
- 常用的linux文件权限
- 今日恐慌与贪婪指数为75 贪婪程度有所缓解
- 2021年中国中性段开关检测器市场趋势报告、技术动态创新及2027年市场预测
- oracle优化日记脚本
- 2019杭电多校第六场 HDU6638 Snowy Smile(线段树区间合并+枚举)
- Python画好看的星空图
- 在计算机网络中ftp服务器的用途是,FTP的作用以及传输文件的一般步骤
- 如何在https协议下访问http等不安全的资源
- 用python计算转换温度
- 【从0到1搭建LoRa物联网】10、LoRa终端ASR6505 ADC采样
- 如何从零打造爆款小程序
- 在一个项目编译多个不同签名、包名、资源实现apk换皮
热门文章
- const修饰成员函数总结
- 说明使用tc编程的一般步骤 c语言,TC编程手册详解-完整版.doc
- PAT (Basic Level) Practice1017 A除以B
- Linux下update和upgrade的区别
- Cmake构建_设置debug与release不同名字
- Windows核心编程_调用控制台窗口
- TabLayout+ViewPager+Fragment(内部:TabLayout+ViewPager+ Fragment)需要注意!!
- 文件上传时判断文件夹是否存在
- cocos2d-x自制工具02:AnimatePacker v1.1beta发布!!~!
- 基于redis集群实现的分布式锁,可用于秒杀,定时器。