友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

VC语言6.0程序设计从入门到精通-第126章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






    1.数据查询  



    数据查询是数据库中最重要的操作,SQL 语句提供 SELECT 语句进行数据的查询,该语 

句具有灵活的使用方式和丰富的功能,其一般格式如下:  



    SELECT 'ALL | DISTINCT' 《 目标列表达式》 '; 《 目标列表达式》 ' …  



   FROM  ';  ' …  



    'WHERE '  



    'GROUP BY  HAVING  ''  



    'ORDER BY  'ASC | DESC''  



    整个 SELECT 语句的含义是,根据 WHERE 子句的条件表达式,从 FROM 子句指定的 

基本表或视图中找出满足条件的元组,再按 SELECT 子句中的目标列表达式,选出元组中的 

属性值形成结果表。如果有 GROUP 子句,则将结果按的值进行分组,该属性的列 



                                                                ·341 ·  


…………………………………………………………Page 353……………………………………………………………

Visual C++ 6。0 程序设计从入门到精通  



值相等的元组为一个组,每个组产生结果表中的一条记录。通常会在每组中作用集函数。如 

果 GROUP 子句带有 HAVING 短语,则只有满足指定条件的组才会输出 。如果有 ORDER 子 

句,则结果还要按进行排序,ASC 表示升序,DSEC 表示降序。下面举几个简单的 

例子(这里进行操作的数据库就是上节创建的数据库 )。 

                                                    

    (1)查询表 Contact 中的所有记录:  



    select * from Contact  



    (2 )查询所有人的姓名:  



    select Name from Contact  



    (3 )查询王明的电话和地址:  



    select Telephone; Address from Contact where Name=’王明’  



    (4 )将表 Personal 中所有人按年龄由小到大排序。  



    select * from Personal order by Birthday desc  



    2 .插入记录  



    插入记录使用的是 INSERT 语句,一般格式如下:  



    INSERT INTO  '( ';  '…)'  



    VALUES ( ';  ' …)  



    INSERT 语句的功能是将新元组插入指定表中,其中新记录属性列 1 的值为常量 1,属性 

列 2  的值为常量 2 ,依次类推。如果某些属性列在 INTO 子句中没有出现,则新记录在这些 

列上将取空值。不过需要注意的是,在表定义时说明了 NOT NULL  的属性列不能为空值,否 

则出错。下面是一个简单例子。  

    往表 Contact 中插入一条记录:  



    insert into Contact values(’11’; ’苏培’; ’62777098’; ’清华大学计算机系’)  



    3 .更新记录  



    更新记录通过 UPDATE 子句完成,一般格式如下:  



    UPDATE  SET  =  ';  =  ' …  



    'WHERE '  



    例如,如果要更改上面刚插入的记录,则语句如下:  



    update Contact set Name=’苏娟’; Telephone=’62788155’ where Name=’苏培’  



    4 .删除记录  



    SQL 中用 DELETE 子句实现删除记录的操作,一般格式如下:  



    DELETE FROM  'WHERE '  



    例如,如果要删除前面插入的记录,SQL 语句如下:  



    delete from Contact where ID=11  



12。3。3    关系数据库的联合查询技术  



    能够从多个表中选择和操作数据是 SQL 的特色之一,这又叫做联合查询技术,它包括联 



 ·342 ·  


…………………………………………………………Page 354……………………………………………………………

                                                     第 12 章    数据库开发  



合查询和连接查询。  



   1.联合查询  



   联合查询是通过 UNION 运算符实现的,它可以将多个 SELECT 语句的查询结果合并, 

使之作为一个结果集合显示(各结果集的数据类型要相同 )。UNION 的语法格式如下:  



   SELECT_STATEMENT  



   UNION 'ALL' SELECT_STATEMENT 'UNION 'ALL' SELECT_STATEMENT' …  



   例如,如果要显示出表 Contact 和表 Personal 中所有人的姓名,则 SQL 语句如下:  



   select Name from Contact union select Name from Personal  



   2 .连接查询  



   通过连接运算符可以实现多个表查询 。连接是关系数据库模型的主要特点,也是它区别 

于其他类型数据库管理系统的一个标志。  

   通常的连接语法格式为:  



   FROM JOIN_TABLE JOIN_TYPE JOIN_TABLE 'ON  (JOIN_CONDITION )'  



   其中,JOIN_TABLE 是连接操作的表名,JOIN_TYPE 是连接类型,它分为内连接、外连 

接和交叉连接 3 类。  



   (1)内连接  

    内连接(INNER JOIN )又分为等值连接、不等连接和自然连接 3 种。等值连接在连接条 

件中使用“= ”运算符比较被连接的列值,其查询结果中列出被连接表中的所有列,包括重 

复列;不等连接在连接条件中使用除“= ”之外的其他比较运算符;自然连接使用“= ”运算 

符比较被连接的列值,但查询结果中不包括重复列。  



   (2 )外连接  

   外连接分为左外连接(LEFT OUTER JOIN 或 LEFT JOIN )、右外连接(RIGHT OUTER  

JOIN 或 RIGHT JOIN )和全外连接(FULL OUTER JOIN 或 FULL JOIN )。与内连接不同的是, 

采用外连接时,返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左 

外连接时)、右表(右外连接时)和两个表(全外连接时)中的所有数据行。  



   (3 )交叉连接  

   交叉连接(CROSS  JOIN )不带 WHERE 子句,返回被连接的两个表所有数据行的笛卡 

尔积。  



12。4    ADO 基础知识  



   在第 1 节中介绍了以前的几种 Visual C++连接数据库的技术。Visual C++虽然对数据库的 

支持很强大,功能也很全面,但是不管是先前的 ODBC 还是 DAO ,再到后来的 OLE  DB, 

用 Visual  C++来开发数据库总是很麻烦,特别是其中的数据转换令初学者十分头疼。不过, 

等到 ADO 技术开发出来以后,这些都变得容易了。  



                                                              ·343 ·  


…………………………………………………………Page 355……………………………………………………………

Visual C++ 6。0 程序设计从入门到精通  



12。4。1    ADO 的技术特点  



   ADO 的全称是 ActiveX  Data  Objects ,它是微软公司为数据库应用程序开发的新接口。 

ADO 基于 ,提供编程语言可利用的对象,它不仅面向 Visual  C++ ,同时还提供面向其 

他开发工具的应用,如 Visual Basic 、VJ 等,甚至还提供面向诸如 VBScript 、JavaScript 等脚 

本语言的应用。ADO 的底层是 OLE DB,不仅能访问关系型数据库,也能访问非关系型数据 

库。ADO 对 OLE DB 的包装是相当成功的,相对于 OLE DB 中众多的接口来说,ADO 对象 

模型简明扼要,没有一点多余的东西,并且其功能还要比  DAO  强大得多。并且可以说到目 

前为止,ADO 是目前最快的数据库访问的中间层。  



12。4。2    ADO 的结构  



   ADO 的结构如图 12…19 所示。从图中可以看出,ADO 模型包含了 7 个对象和 4 个集合。  



                                             



                           图 12…19    ADO 结构图  



   o  连接对象(Connection ):用于与数据源的连接,以及处理一些命
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!