300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linux(ubuntu)下C++访问mysql数据库【MySQL】

linux(ubuntu)下C++访问mysql数据库【MySQL】

时间:2020-06-12 07:27:45

相关推荐

linux(ubuntu)下C++访问mysql数据库【MySQL】

数据库|mysql教程

数据库-mysql教程

Ubuntu

易语言盗号源码怎么用,vscode控制原理,ubuntu 不同用户颜色不同,集群 tomcat发包,sqlite3.zi,js小说阅读插件下载,web前端框架的好处,哪些公司做爬虫,php错误页面,什么是seo优化推广seo,在线视频资源网站源码,网页连线特效,ecshop土特产商城模板,实验室管理系统下载,织梦版百度小程序lzw

Ubuntu安装msyql

在线答题网站源码,vscode实现easyx,泛联云终端 ubuntu,tomcat的解释,sqlite3 整数,安卓导航栏美化插件,前端框架测试最新结果,python爬虫爬小说,php ajax刷新,28推 长沙seo,asp网站程序检测,来自网页的消息 代码,客服聊天网页模板,页面跳转的js,java 企业管理系统,小程序acid在哪里看lzw

安装mysql数据库

qt播放器源码,vscode网页版手机打不开,ubuntu pig,tomcat指定请求指定路径,sqlite 菜鸟教程,网页设计常用小图标,服务器租用和托管的区别,phpwind 商品贴 插件,野生前端框架,爬虫辣女神,php代码在线测试,太原seo软件,springboot实现单例,手机网页及网站设计 pdf,网页自动下拉插件,extjs登录界面模板,博客网站源码带后台,jquery 进入页面事件,科研管理系统源代码,易语言程序网页运行lzw

sudo apt-get install mysql-server

安装mysql客户端

sudo apt-get install mysql-client

C API的基本类型

MYSQL

该结构代表1个数据库连接的句柄.

几乎所有的MySQL函数均使用它.

不应尝试拷贝MYSQL结构, 不保证这类拷贝结果会有用.

MYSQL_RES

该结构代表返回行的查询结果

MYSQL_ROW

这是1行数据的“类型安全”表示。它目前是按照计数字节字符串的数组实施的。

行是通过调用mysql_fetch_row()获得的。

官方文档地址

/doc/refman/5.1/zh/apis.html#c

代码

向表中插入(删除)一条数据

#include #include using namespace std;int main(int argc, char* argv[]){ //准备mysql的访问结构 MYSQL mysql; mysql_init( &mysql );mysql_real_connect( &mysql, "192.168.16.114",//要访问数据库的IP地址 "root",//用户名 "root",//密码 "test",//要访问的数据库 3306,//该数据库的端口 NULL,//一般为NULL 0//一般为0 );//插入string sql = "insert into student value(1, jp, 24, gzjd)";//删除 //string sql = "delete from student where id = 33";//执行sql语句 mysql_query( &mysql, sql.c_str() );//关闭数据库连接 mysql_close( &mysql ); return 0;}//编译 //g++ file.cpp -o target -lmysqlclient//执行 //./target//验证 //成功

更新表内容

#include #include using namespace std;int main(int argc, char* argv[]){MYSQL mysql;mysql_init( &mysql );mysql_real_connect(&mysql,"192.168.16.114","root","root","test",3306,NULL,0);string sql = "update student set name = pj where id = 2";mysql_query( &mysql, sql.c_str() ); mysql_close(&mysql);return 0;}

调用存储过程

#include #include using namespace std;int main(int argc, char* argv[]){MYSQL mysql;mysql_init( &mysql );mysql_real_connect(&mysql,"192.168.16.114","root","root","test",3306,NULL,0);string sql = "call myPorc();";int ret = mysql_query( &mysql, sql.c_str() );//debug info//cout << mysql_error( &mysql );//cout << ret << endl;mysql_close(&mysql);return 0;}

查询数据表的内容

#include #include using namespace std;int main(int argc, char* argv[]){MYSQL mysql;mysql_init( &mysql );mysql_real_connect(&mysql,"192.168.16.114","root","root","test",3306,NULL,0);string sql = "select * from student";mysql_query( &mysql, sql.c_str() );MYSQL_RES *result = NULL;result = mysql_store_result( &mysql );//得到查询出来所有数据的条数int row_count = mysql_num_rows( result );cout << "all data number: " << row_count << endl;//得到字段的个数和字段的名字int field_count = mysql_num_fields( result );cout << "field count : " << field_count << endl;//得到所有字段的名字MYSQL_FIELD* field = NULL;for( int i = 0; i < field_count; ++i){field = mysql_fetch_field_direct( result, i );cout <name << "/t";}cout << endl;//显示表中的所有数据MYSQL_ROW row = NULL;row = mysql_fetch_row( result );while ( NULL != row ){for( int i = 0; i < field_count; ++i){cout << row[i] << "/t";}cout << endl;row = mysql_fetch_row( result );} mysql_free_result(result); mysql_close( &mysql );return 0;}

得到指定数据库test中的所有表

#include #include #include #include using namespace std;int main(int argc, char* argv[]){//定义一个数据库连接句柄MYSQL mysql;//对数据句柄进行初始化mysql_init( &mysql );//连接数据库mysql_real_connect(&mysql,"192.168.16.114","root","root","test",3306,NULL,0);//查询数据库string sql = "show tables;";mysql_query( &mysql, sql.c_str() ); MYSQL_RES *result = NULL;result = mysql_store_result( &mysql );//得到查询出来所有数据记录的数量vector allTable;MYSQL_ROW row = mysql_fetch_row( result );while( NULL != row ){allTable.push_back( row[0] );row = mysql_fetch_row( result );}for(vector::const_iterator cit = allTable.begin(); cit != allTable.end(); ++cit ){cout << *cit << "/t";}cout << endl;mysql_free_result( result );mysql_close( &mysql );return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。