北大青鸟设计培训:C++连接mysql数据库的两种方法?

北大青鸟设计培训:C++连接mysql数据库的两种方法?,第1张

现在正做一个接口,通过不同的连接字符串 *** 作不同的数据库(数据库培训数据库认证)。

要用到MySQL(MySQL认证Mysql培训)数据库,以前没用过这个数据库,用aC++(C++培训)ess和sqlserver比较多。

通过网上的一些资料和自己的摸索,大致清楚了C++连接mysql的方法。

盐城IT培训http://www.kmbdqn.cn/认为可以通过2种方法实现。

第一种方法是利用ADO连接,第二种方法是利用mysql自己的api函数进行连接。

第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库。

暂时只连接了mysql,sqlserver,oracle,access。

对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时不说。

第二种方法只能针对于mysql数据库的连接,不过用这种方法不用安装MyODBC服务器程序。

不管用哪种方法,首先需要安装Mysql数据库,安装方法请看“mysql安装及一些注意点”。

最好安装一个Navicatformysql,方便 *** 作mysql数据库。

下面分别说下这两种方法:(一)通过ADO连接MySql数据库1、通过ADO连接MySql数据库,首先得安装MyODBC服务器程序。

MyODBC版本要和MySql的版本对应上,否则会连接不上数据库。

我用的版本分别是mysql-5.1.48-win32.msi和mysql-connector-odbc-5.1.5-win32.msi。

安装好后,点击开始菜单->设置->控制面板->管理工具->数据源(ODBC)->用户DSN->添加->选择MySQLODBC5.1Driver。

如下图:然后双击MySQLODBC5.1Driver进行配置。

配置好可以点Test进行下测试(如下图),如果能连上会d出connectionsuccessful对话框。

左连接:返回包括左表中的所有记录和右表中联结字段相等的记录

右连接:返回包括右表中的所有记录和左表中联结字段相等的记录

全连接:返回两个连接表的所有记录;mysql没有全连接

内连接:返回两个连接表连接字段相同的记录;

union:对两个结果集进行并集,并去重,当交换两个select语句顺序后,最终结果与不交换时无区别;

union all:对两个结果集进行并集,不去重,当交换两个select语句顺序后,最终结果与不交换时有区别;

举个例子 有一个学生表 班级 姓名 一个成绩表 姓名 成绩 我们需要返回X班的所有学生的成绩,但是班上有人缺考,也就是成绩表里没有姓名,我们先用on得到的就是有考试成绩的名字,通过外连接,我们就可以得到全班人的名字以及成绩。

SQL中的 join 可以根据相应条件把指定的表给结合起来并将数据返回。

内连接是基于连接谓词将俩张表(如A和B)的列组合到一起产生新的结果表,在表中存在至少一个匹配时,INNER JOIN 关键字返回行

左外连接Left join关键字会从左表那里返回所有的行,即使是在右表中没有匹配到的行 

右外连接关键字Right join会从右表那里返回所有的行,即使是在左表中没有匹配到的行 

全连接的关键字Full join,只要其中某个表中存在匹配,Full join 就会返回行

交叉连接一般使用的比较少,交叉连接又称笛卡尔连接或者叉乘连接,如果,A和B是俩个集合,他们的交叉连接就是A*B 


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8627845.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存