mysql connection.h_MySQL connector c++使用笔记
Connection
Driver
PreparedStatement
ResultSet
ResultSetMetaData
Statement
下载安装mysql connector c++, 启动mysql, 使用test database.
准备数据(使用官方提供的示例数据, 参考 MySQL手册 3.3.3 http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html)
CREATE TABLE pet (
name VARCHAR(20),
owner VARCHAR(20),
species VARCHAR(20),
sex CHAR(1),
birth DATE,
death DATE
);
导入数据(路径可以为相对路径或绝对路径)
LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;
pet.txt(修改中间的间隔为\t)
FluffyHaroldcatf1993-02-04\N
ClawsGwencatm1994-03-17\N
BuffyHarolddogf1989-05-13\N
FangBennydogm1990-08-27\N
BowserDianedogm1979-08-311995-07-29
ChirpyGwenbirdf1998-09-11\N
WhistlerGwenbird\N1997-12-09\N
SlimBennysnakem1996-04-29\N
示例代码
#include
#include "mysql_driver.h"
#include "mysql_connection.h"
#include "cppconn/driver.h"
#include "cppconn/statement.h"
#include "cppconn/prepared_statement.h"
#include "cppconn/metadata.h"
#include "cppconn/exception.h"
int main() {
const char* user = "root";
const char* passwd = "";
const char* host = "tcp://localhost:3306";
const char* database = "test";
try {
sql::mysql::MySQL_Driver* driver =
sql::mysql::get_mysql_driver_instance();
sql::Connection* conn = driver->connect(host, user, passwd);
conn->setSchema(database);
std::cout << "status: " << conn->isClosed() << std::endl;
sql::Statement *stmt = conn->createStatement();
sql::ResultSet *res = stmt->executeQuery("select 1;");
while (res->next()) {
std::cout << res->getInt(1) << std::endl;
}
res = stmt->executeQuery("select * from pet;");
while (res->next()) {
std::cout << res->getString(1) << ",";
std::cout << res->getString(2) << ",";
std::cout << res->getString(3) << ",";
std::cout << res->getInt(4) << ",";
std::cout << res->getString(5) << ",";
std::cout << res->getString(6) << std::endl;
}
delete res;
delete stmt;
delete conn;
} catch (sql::SQLException& e) {
std::cout << "# ERR: SQLException in " << __FILE__;
std::cout << "(" << __FUNCTION__ << ") on line " << __LINE__ << std::endl;
std::cout << "# ERR: " << e.what();
std::cout << " (MySQL error code: " << e.getErrorCode();
std::cout << ", SQLState: " << e.getSQLState() << " )" << std::endl;
}
return 0;
}
运行结果
status: 0
1
Fluffy,Harold,cat,0,1993-02-04,
Claws,Gwen,cat,0,1994-03-17,
Buffy,Harold,dog,0,1989-05-13,
Fang,Benny,dog,0,1990-08-27,
Bowser,Diane,dog,0,1979-08-31,1995-07-29
Chirpy,Gwen,bird,0,1998-09-11,
Whistler,Gwen,bird,0,1997-12-09,
Slim,Benny,snake,0,1996-04-29,
参考文档:
官方手册: http://dev.mysql.com/doc/refman/5.6/en/connector-cpp.html
MySQL Connector/C++文档翻译: http://www.cnblogs.com/dvwei/archive/2013/04/18/3029464.html
mysql connection.h_MySQL connector c++使用笔记相关推荐
- mysql 浮点数 字节_数据库学习笔记之MySQL(02)
目录 01. 数据表的组成 02. 数据表创建的前提 03. 数据表的创建语法规范 04. MySQL中的数据类型 05. 数值型包含哪些 06. 字符串类型 07. 日期时间类型 正文 01. 数据 ...
- mysql connection是什么_记一次MySQL出现too many connection
今天中午的时候突然接到报警,MySQL连接数暴增..本来设置的max_conntion=6000, 这个数值连接已经够用.接到报警速度连接服务器连接mysql总是报如下错误: [mysql@local ...
- mysql类似的数据库_MemSQL学习笔记-类似MySQL的数据库
http://gigaom.com/cloud/ex-facebookers-launch-memsql-to-make-your-database-fly/ -- 多主-从 http://www.m ...
- 《MYSQL是怎样运行的》笔记|配置文件|系统变量|字符集|InnoDB存储结构|数据页结构|索引结构与使用|数据目录|表空间|连表原理|查询优化|BufferPool|事务|redo与undo|锁
<MYSQL是怎样运行的>笔记 前记: 历时15天,笔记+看书.完成于2022.2.5. 本书是讲具体的数据库实现,而数据库系统概念见:https://blog.csdn.net/qq_4 ...
- connection error mysql_MySQL数据库之Dr.Elephant mysql connection error
本文主要向大家介绍了MySQL数据库之Dr.Elephant mysql connection error ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. This is the ...
- 《MySQL实战45讲》——学习笔记04-05 “深入浅出索引、最左前缀原则、索引下推优化“
04 | 深入浅出索引(上) 1. 什么是索引? 索引的出现其实就是为了提高数据查询的效率,就像书的目录一样,书有500页,每页存的都是书的内容,目录可能只有5页,只存了页码:通过目录能快速找到某个主 ...
- 《MySQL实战45讲》——学习笔记12 “InnoDB刷脏页的控制策略“
本篇介绍MYSQL InnoDB的WAL机制带来的小问题--利用WAL技术,数据库将随机写转换成了顺序写,大大提升了数据库的性能,但也带来了内存脏页的问题: 脏页会被后台线程自动flush,也会由于数 ...
- 《MySQL实战45讲》——学习笔记01-03 “MySQL基本架构、日志系统、事务隔离“
最近有新闻说"丁奇"炒股失败欠债,赶紧去极客时间买了他的<MySQL 实战 45 讲>以防下架,顺带重新系统的复习下MYSQL相关知识,记录下学习笔记: 本篇介绍: M ...
- 5天学习MYSQL数据库第一天剩余全部笔记(超级详细的mysql入门笔记适合新手反复看加深记忆)
这是关于五天学习MYSQL数据库的笔记,如果想要观看视频可以访问(视频链接(b站) 或者访问视频链接 之前的笔记已经记到了1.3的mysql基本介绍,接下来主要是: 2.1MySQL服务端框架 一. ...
- 【MVC+MySQL+EntityFramework】查询性能优化笔记
通过在DbContext中定了表之间的关系,查询后在View中通过item.ProjectOverHour来显示关联表数据. modelBuilder.Entity<ProjectOverHou ...
最新文章
- python 之 分割参数getopt
- k8s部署mysql集群(statefulset):主写从读、一主多从集群
- 2019牛客暑期多校训练营(第九场)
- linux云服务器上安装JDK
- C++计算函数执行时间的两种方法
- 第三方组件曝多个严重漏洞,飞利浦 Vue PACS 医学成像系统受影响
- 数组成员是函数java_在Laravel 5.6中调用数组上的成员函数links()
- 栈的出入js实现_js 实现栈的结构
- 水系图一般在哪里找得到_虹吸雨水排水系统相较于传统重力排水有哪些优点?...
- JPG格式图片怎么减小体积?一招教你轻松压缩JPG图片
- 芝加哥大学计算机博士年薪,2020年芝加哥大学博士含金量
- 物理地址通过什么协议转换为ip地址
- 主引导记录(MBR)的反汇编分析
- 服务器自动打印,小技巧! —让打印机自动承担打印任务
- tensortAPI的learning
- SpringBoot:入门简单使用
- 大战在即!手机芯片巨头“All in”智能汽车,5G只是冰山一角
- 动手深度学习笔记(一)2.1数据操作
- 静态ip和动态ip的区别能说明什么?怎么根据区别选择?
- day1学习vue2笔记 vue指令