cpp mysql fetch row_Linux下C++访问MySQL
今天给大家演示在linux下如果用C++操作mysql
1:安装MySQL
挂载光盘:
mkdir /cdrom
mount /dev/hdc /cdrom
cd /cdrom/Server
rpm -ivh perl-DBI-1.52-2.el5.i386.rpm
rpm -ivh mysql-5.0.45-7.el5.i386.rpm mysql-bench-5.0.45-7.el5.i386.rpm mysql-devel-5.0.45-7.el5.i386.rpm
rpm -ivh perl-DBD-MySQL-3.0007-2.el5.i386.rpm
rpm -ivh mysql-server-5.0.45-7.el5.i386.rpm mysql-test-5.0.45-7.el5.i386.rpm
查看mysql服务状态:
service mysqld status
启动服务:
service mysqld start
连接数据库:
mysql
2:安装gcc工具包
rpm -ivh gcc* --force --nodeps 强制安装
3:进入mysql
create table t1 (id int,name varchar(30));
t1表插入数据:
1.cpp
#include
#include
#include
using namespace std;
main()
{
MYSQL mysql;
mysql_init(&mysql);
mysql_real_connect(&mysql, "localhost", "root", "root", "test", 3306, NULL, 0);
string sql = "insert into t1 (id, name) values (1, 'java1');";
mysql_query(&mysql, sql.c_str());
mysql_close(&mysql);
}
g++ -o 1.out 1.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib/mysql
更新mysql数据;
1.cpp
#include
#include
#include
using namespace std;
main()
{
MYSQL mysql;
mysql_init(&mysql);
mysql_real_connect(&mysql, "localhost", "root", "root", "test", 3306, NULL, 0);
string sql = "insert into t1 (id,name) values (2, 'java2'),(3, 'java3');";
mysql_query(&mysql, sql.c_str());
sql = "update t1 set name = 'java33' where id = 3;";
mysql_query(&mysql, sql.c_str());
mysql_close(&mysql);
}
g++ -o 1.out 1.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib/mysql
./1.out
mysql 存储过程:
mysql>delimiter //
>create procedure p01()
>begin
>insert into t1 (id,name) values (66, 'java66');
>end;
>//
应用存储过程:
mysql>delimiter //
>create procedure p01()
>begin
>insert into t1 (id,name) values (66, 'java66');
>end;
>//
触发器:
新建t2表:
mysql>delimiter //
>create trigger tr1 after insert on t1 for each row
>begin
>insert into t2 (id,name) values (new.id,new.name);
>end;
>//
>delete from t1 where id = 66;
>//
>delimeter ;
vi 3.cpp
#include
#include
#include
using namespace std;
main()
{
MYSQL mysql;
mysql_init(&mysql);
mysql_real_connect(&mysql, "localhost", "root", "root", 3306, NULL, 0);
string sql = "call p01();";
mysql_query(&mysql, sql.c_str());
mysql_close(&mysql);
}
g++ -o 3.out 3.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib/mysql
./3.out
mysql>delimeter ;
>select * from t1;
>select * from t2;
>存在数据(66, 'java66')
查看表中数据的总数:
vi 4.cpp
#include
#include
#include
using namespace std;
main()
{
MYSQL mysql;
MYSQL_RES *result = NULL;
mysql_init(&mysql);
mysql_real_connect(&mysql, "localhost", "root", "root", "test", 3306, NULL, 0);
string sql = "select id,name from t1;";
mysql_query(&mysql, sql.c_str());
result = mysql_store_result(&mysql);
int rowcount = mysql_num_rows(result);
cout << rowcount << endl;
mysql_close(&mysql);
}
g++ -o 4.out 4.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib/mysql
./4.out
查处字段的总数:
vi 5.cpp
#include
#include
#include
using namespace std;
main()
{
MYSQL mysql;
MYSQL_RES *result = NULL;
mysql_init(&mysql);
mysql_real_connect(&mysql, "localhost", "root", "root", 3306, NULL, 0);
string str = "select id,name from t1;";
mysql_query(&mysql, sql.c_str());
result = mysql_store_result(&mysql);
int rowcount = mysql_num_rows(result);
cout << rowcount << endl;
int fieldcount = mysql_num_fields(result);
cout << fieldcount << endl;
mysql_close(&mysql);
}
g++ -o 5.out 5.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib/mysql
./5.out
列出具体字段名:
vi 6.cpp
#include
#include
#include
using namespace std;
main()
{
MYSQL mysql;
MYSQL_RES *result = NULL;
MYSQL_FIELD *field = NULL;
mysql_init(&mysql);
mysql_real_connect(&mysql, "localhost", "root", "root", "test", 3306, NULL, 0);
string str = "select id,name from t1;";
mysql_query(&mysql, sql.c_str());
result = mysql_store_result(&mysql);
int rowcount = mysql_num_rows(result);
cout << rowcount << endl;
int fieldcount = mysql_num_fields(result);
cout << fieldcount << endl;
for(int i = 0; i < fieldcount; i++)
{
field = mysql_fetch_field_direct(result,i);
cout << field->name << "\t\t";
}
cout << endl;
mysql_close(&mysql);
}
g++ -o 6.out 6.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib/mysql
./6.out
显示表中所有数据:
vi 7.cpp
#include
#include
#include
using namespace std;
main()
{
MYSQL mysql;
MYSQL_RES *result = NULL;
MYSQL_FIELD *field = NULL;
mysql_init(&mysql);
mysql_real_connect(&mysql, "localhost", "root", "root", 3306, NULL, 0);
string str = "select id,name from t1;";
mysql_query(&mysql, sql.c_str());
result = mysql_store_result(&mysql);
int rowcount = mysql_num_rows(result);
cout << rowcount << endl;
int fieldcount = mysql_num_fields(result);
cout << fieldcount << endl;
for(int i = 0; i < fieldcount; i++)
{
field = mysql_fetch_field_direct(result,i);
cout << field->name << "\t\t";
}
cout << endl;
MYSQL_ROW row = NULL;
row = mysql_fetch_row(result);
while(NULL != row)
{
for(int i=1; i
{
cout << row[i] << "\t\t";
}
cout << endl;
row = mysql_fetch_row(result);
}
mysql_close(&mysql);
}
g++ -o 7.out 7.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib/mysql
./out
©著作权归作者所有:来自51CTO博客作者Art_Hero的原创作品,如需转载,请注明出处,否则将追究法律责任
C++LinuxMySQLLinux
cpp mysql fetch row_Linux下C++访问MySQL相关推荐
- linux下mysql无法访问_Linux系统下无法访问mysql怎么办
ysql是一个关系型数据库管理系统,但最近有用户反映,在Linux系统下无法访问mysql,相信不少用户都有遇到过这个问题,这是怎么回事呢?Linux系统下无法访问mysql该怎么办呢?接下来是小编为 ...
- php访问mysql数据库实验报告,php访问mysql数据库
//建一个连接,造一个连接对象 $db = new MySQLi("localhost","root","123","mydb&q ...
- ubuntu cpp与mysql连接_linux(ubuntu)下C++访问mysql数据库
向表中插入(删除)一条数据 #include #include using namespace std; int main(int argc, char* argv[]) { //准备mysql的访问 ...
- linux(ubuntu)下C++访问mysql数据库
2019独角兽企业重金招聘Python工程师标准>>> Ubuntu安装msyql 安装mysql数据库 sudo apt-get install mysql-server 安装my ...
- Linux(CentOS7.0)下 C访问MySQL (转)
按语: 最近项目在云服务器上 centos6.8,安装了mysql5.5.39 server和client,但C连接不知所措: 后在官网下载了 devel.share .share-comp ...
- 【MySql】linux下,设置mysql表名忽略大小写
[障碍再现] 状况描述01: 在LINUX下调一个程序经常报出找不到表,但是我明明是建了表的, 测试的时候,遇到一些问题,从Windows平台访问虚拟机中的Web应用,经常报出找不到表,但自己明明在数 ...
- linux c mysql教程_linux下c操作mysql之增删改查
书接上文,继续进行linux 下c操作mysql. 1.创建表/插入数据 mysql> desc children -> ; +---------+-------------+------ ...
- mysql odb驱动_odb C++访问mysql数据库,从安装到写入
一:ubuntu下odb 安装 get-apt install gcc get-apt install g++ get-apt install odb 生成的odb位于:/usr/odb 生成的库(l ...
- linux 安装qt mysql库_Linux下QT平台Mysql数据库开发环境配置
This doucment is about how to add mysql driver into QT and about database connections 由于之前安装RedH ...
最新文章
- Spring Cloud Config 配置中心
- [Silverlight入门系列]使用MVVM模式(6):使用Behavior
- PMCAFF | 创业公司产品经理如何建立完善的产品开发体系?
- PyTorch随笔-0
- 如何设定vs2012用linux文件格式,Visual Studio 2012发布网站详细步骤
- pbs 写matlab作业,pbs提交作业
- flask cache
- Leetcode 101.对称二叉树
- Network 第三篇 - STP生成树协议
- QT中QString 类的使用--获取指定字符位置、截取子字符串等
- BI项目经理入门指南:用最详细的图解,带你落地企业自助分析项目
- 补锅之校内测(桶哥系列)
- 获取客户端及服务器的信息
- CentOS 6.5 ZIP、RAR文件压缩解压操作详解
- OKCC外呼中心为什么要把语音引入WEB中?
- 结构体嵌套结构体,及其的初始化
- 一个IT售前咨询顾问是如何工作和生活的?
- 极域工具包 1.1正式发布!窗口化极域,解键盘锁,适配学生机房管理助手7.4-7.5!
- js基础-小案例歌词匹配
- 102_Hadoop常用命令
热门文章
- 2.1.5 操作系统之线程概念与多线程模型
- 手机蓝牙如何减少延时_如何使用车载蓝牙播放手机音乐的方法
- 设计模式理解:模板方法
- Clion生成动态链接库.dll
- python123第三章作业答案_swift playground类似的游戏
- javascript / DOM、BOM、document、window 区别和联系
- 节点服务器虚拟网络,虚拟网络功能节点放置研究
- 盘点 Serverless 架构的六个特质
- mysql 连接查询_Swoole 实战:MySQL 查询器的实现(协程连接池)
- h5+js视频播放器控件