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 ):用于与数据源的连接,以及处理一些命
小说推荐
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 其他
- 最新章:第4章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 其他
- 最新章:第37章
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 其他
- 最新章:第31章
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 其他
- 最新章:第214章
- C语言设计
- 作者:谭浩强1 C 语言概述1.1 C语言的发展过程1.2 当代最优秀的程序设计语言1.3 C语言版本1.4 C语言的特点1.5 面向对象的程序设计语言1.6 C和C+1.7 简单的C程序介绍1.8 输入和输出函数1.9 C源程序的结构特点1.10书写程序时应遵循的规则1.11C语言的字符集1.12
- 文学名著
- 最新章:第45章
- 设计成婚:不入豪门
- 作者:海未央《设计成婚2:名门新娘》作品介绍《名门新娘》介绍:她是骆家收养的孤女,性格因为受他的影响,变得有些古灵精怪,也懂得是非之分!他说他的一切只为他而努力,可是为什么要拒绝自己呢?什么?没有满十八岁?那今天生日,够十八岁了吧?什么,还太小?太过分了,这不是耍着自己玩吗?嘿嘿,有个邪恶的老师,那
- 魔法玄幻
- 最新章:第196章
- 玄学,从入门到放弃
- 《玄学,从入门到放弃》作者:李传言文案:周诣一手拿着卜卦,一手拿着《演员的自我修养,叹息良久。他本是百年前观天占星的玄术师,谁知却一朝重生现代。他只想平淡地生活下去,可天不遂人愿,他注定将在这末法时代掀起波澜!成就一代影帝!谢千仇沉默地看着他…大师,你卦和书都拿倒了#玄学,从入门到放弃,入土,删库跑
- 魔法玄幻
- 最新章:第86章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章
- 要你言听计从
- 作者:决明第一章哈士奇,没有护卫看家的本领,对主人、客人甚至是闯空门的恶人都一样友善,咬着皮球跟小偷一块玩你丢我捡也不用太惊讶,时常被人认为忠诚度不足。贺世祺背靠在冰冷玻璃落地窗前,一整间屋子都是伸手不见五指的黑暗,也好,反正他现在什么也不需要看到,只要耳朵还有听觉就好,顺便听听贴在耳边的手机里还要
- 都市言情
- 最新章:第28章