MySQL&C++快速上手(二)数据库的连接

MySQL数据库连接过程

  • 创建 MYSQL 对象
  • 初始化 MYSQL 对象
  • 连接数据库
  • 增删改查超作
  • 关闭数据库操作

初始化 MYSQL 对象函数,必须最先调用该函数。

MYSQL *STDCALL mysql_init(MYSQL *mysql);

连接数据库函数

MYSQL *STDCALL mysql_real_connect(MYSQL *mysql, const char *host,
									const char *user, const char *passwd,
									const char *db, unsigned int port,
									const char *unix_socket,
									unsigned long clientflag);

参数:
mysql:初始化过的 MYSQL 对象
host:服务器地址[ip、localhost、域名]
user:连接服务器所使用的用户
passwd:用户对于的密码
db:连接服务器时所使用的库,如果为空,则使用默认数据库 mysql
port:连接服务器所用的端口,默认是 3306,具体依据数据库来定
unix_socket:unix 套接字连接方式,一般是指本地管道或者本地套接字,如果没有设为 NULL
clientflag:一般情况下为 0,除非你知道你要干什么,否则不要使用下面的内容:
CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS 客户端可以处理过期的密码
CLIENT_COMPRESS 在协议中进行数据压缩
CLIENT_FOUND_ROWS 返回匹配的结果,而非更改的结果
CLIENT_IGNORE_SIGPIPE 抑制管道信号的处理,防止与已有的管道信号处理冲突
CLIENT_IGNORE_SPACE 允许函数名称后面的空格
CLIENT_INTERACTIVE 使用 interactive_timeout 来设置超时时间,而不是通过 wait_timeout 函
数来得知超时
CLIENT_LOCAL_FILES 允许加载本地数据处理
CLIENT_MULTI_STATEMENTS 告诉服务器客户端可能发送多个 statements
CLIENT_NO_SCHEMA 不允许 db_name.tbl_name.col_name 这样的语法(用于兼容 ODBC)
CLIENT_ODBC 没有用了(以前兼容 odbc 用的)
CLIENT_OPTIONAL_RESULTSET_METADATA 针对高频而短小的查询优化(但是可能导致其他问
题)
CLIENT_SSL 使用加密协议。官方不建议使用,最好使用 mysql_options() 或者 mysql_ssl_set()
来替换。
CLIENT_REMEMBER_OPTIONS 这个是为了方便 connect 失败后,重新连接的时候用的。如果
有这个,options 设置一次后,如果失败,可以直接使用 connect,而不必再次调用 options

代码范例:

// 创建MYSQL对象
MYSQL* mysql = new MYSQL();

// 初始化
MYSQL* pDB = mysql_init(mysql);
if (pDB == NULL) {
	std::cout << "mysql_init failed!" << std::endl;
	return -1;
}

// 连接
pDB = mysql_real_connect(pDB, "localhost", "root", "FengPan12#$56", "mysql", 3306, NULL,
0);
std::cout << pDB << std::endl;
if (pDB) {
	// TODO: 执行增删改查一系列操作
	std::string sql = "";
	int ret = mysql_real_query(pDB, sql.c_str(), sql.size());
	if (ret != 0) {
	std::cout << "mysql error:" << mysql_error(pDB) << std::endl;
	}
	
	// 执行结束 关闭数据库
	mysql_close(pDB);
}

// 释放对象
delete mysql;
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL Connector/C++是一个用于C++编程语言的MySQL数据库驱动程序。它提供了一个API,使得开发人员可以使用C++语言连接和操作MySQL数据库。MySQL Connector/C++是MySQL AB公司开发的,它是开源软件,可以在GPL许可证下使用。MySQL Connector/C++支持多种操作系统,包括Windows、Linux和Mac OS X等。它还支持多种编译器,包括Visual C++、GCC和Clang等。MySQL Connector/C++提供了一些高级功能,如事务处理、预处理语句和存储过程等。它还提供了一些示例程序,帮助开发人员快速上手。 ### 回答2: MySQL Connector/C是MySQL提供的一个C语言库,它提供了C语言开发者使用MySQL数据库所需的所有基本功能。MySQL Connector/C主要包括: 1. 连接MySQL数据库:通过MySQL Connector/C可以很方便地与MySQL数据库建立连接,并进行数据访问操作。 2. 数据库管理:MySQL Connector/C提供的API可以帮助开发者管理数据库,包括创建、删除、修改数据库等操作。 3. SQL执行:开发者可以使用MySQL Connector/C执行SQL语句,如查询、插入、更新、删除等操作。 4. 数据库事务控制:通过MySQL Connector/C提供的事务控制API,开发者可以轻松地实现原子性、一致性、隔离性、持久性等特性。 5. 数据库操作性能优化:MySQL Connector/C提供了一些性能优化的API,如预编译语句、批量操作等,能够提高数据库访问性能。 总之,MySQL Connector/C为C语言开发者提供了一个轻量级、高性能的MySQL数据库访问库,可以方便地完成与MySQL数据库的交互操作。同时,MySQL Connector/C也是开源的,可以帮助开发者节省大量的开发时间和成本。因此,MySQL Connector/C是一个非常重要的数据库访问库,可以被广泛应用于C语言开发项目中。 ### 回答3: MySQL Connector/C是MySQL官方提供的一个用C语言编写的API库,用于连接MySQL数据库并进行数据交互的任务。MySQL Connector/C对于需要在C或C++应用程序中使用的开发人员非常有用。 MySQL Connector/C支持的平台有Linux、Windows、Unix、以及一些嵌入式系统。它允许开发人员使用C或C++编程语言连接MySQL数据库,并在其应用程序中执行SQL查询、插入、更新或删除语句等操作。此外,MySQL Connector/C还提供了其他的一些高级功能,如数据持久性、数据预处理、预处理语句的缓存和线程安全性等功能。这使得MySQL Connector/C非常适合需要高度可靠和高性能的应用程序。 MySQL Connector/C不仅提供了一个用于连接MySQL数据库的API库,还提供了一些有用的工具,如示例程序和文档等。这些工具可以帮助开发人员更轻松地学习和使用MySQL Connector/C,并快速开始连接和交互MySQL数据库。此外,它还支持多种用户身份验证方法,如基于口令和SSL等方式,这增强了安全性。 总之,MySQL Connector/C是一个非常强大和实用的数据库连接API库,是MySQL官方推荐使用的工具之一。无论是在大型企业级应用程序中还是在小型桌面应用程序中,都可以使用MySQL Connector/C连接MySQL数据库,并从中获取数据和执行其他操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值