欢迎您: 游客   等级: 游客 | 注册 | 登陆 |
发 贴
请选择需要发布主题的板块
用户名 密码
欢迎新会员: Marlatang  
查看
21310
回复
3
dongguoh
级别新手上路
精华
积分1
财富0 jstruggle币
发帖数0
注册2009-8-21
状态 我暂时不在线
发表于2006-12-11 04:17 楼主
MySQL数据库技术(26)
在本书的这部分中,我们将讨论编写自己的访问MySQL 数据库的程序所需要知道的内容。MySQL 有一组实用程序。例如, mysqldump 导出表的上下文和结构定义, mysql import将数据文件加载到表中, mysqladmin 实现管理w操作, mysql 可以使用户与服务器交互来执行任意的查询。每个标准的MySQL 实用程序都倾向于小巧,重点放在程序可完成特定的、有限的功能。即使mysql 也是如此,从感觉上说, mysql 比其他实用程序更灵活,因此可以用它来执行任何数量的各种查询,即它就是为允许向服务器直接发布SQL 查询,并可查看查询结果这一单一目的而设计的。   MySQL 客户机这种有限的特性并不是缺点,而是特意设计的。程序是具有通用目的的实用程序;它们并不试图预料您所想做的所有可能的需要。MySQL 的开发者们不赞成编写大型的、臃肿的程序来试图做可能想去做的每件事情(而且这样做的结果将使程序中包括大量的 您根本不关心的事情的代码)。然而,有时有些应用确实有常规客户机的能力所无法处理的需求。为了处理这些情况,MySQL 提供一个客户机编程库。这允许您编写自己的程序,满足您的应用程序可能具有的任何特定需求。通过允许您对MySQL 服务器的访问,客户机的开放 程度只受您自己想象力的限制了。   编写自己的程序可以获取如何特殊的能力呢?让我们比较一下mysql 客户机和其没有附加代码的接口对MySQL 服务器的访问:   ■ 可以定制输入处理。用mysql可以输入原始的SQL 语句。用自己的程序,可以为用户提供使用起来更直观、更容易的输入方法。用程序可使用户不必知道S Q L—甚至不必知道在完成的任务中数据库承担的角色。   输入信息的采集可能是像命令行风格的提示和值读取这样基本的方式,或者可能是使用屏幕管理程序包(如curses 或S - L a n g)、使用Tcl/Tk 的X 窗口或Web 浏览器格式实现的基于屏幕输入那样复杂的方式。   对大多数人来说,通过填写一定的格式来指定搜索参数的形式比通过发布SELECT语句更容易。例如,一位房地产经纪人,要寻找一定价格范围、风格或位置的房屋,只要将查寻参数输入到表格中,就可以最小的代价得到符合条件的内容。输入新记录或更新已有记录也类似地考虑这种应用。在数据输入部门的键盘操作员应该不需要知道像INSERT、REPLACE 或UPDATE 这样的SQL 语法。   在最终用户和MySQL 服务器之间提出输入采集层的另一个原因是可以校验用户提供的输入。例如,可以检查数据,确认它们是符合MySQL 要求的格式,或可以要求填写特定的区域。   ■ 可以定制输出。mysql 的输出基本上是无格式的;可以选择以制表符为分隔符或以表格形式输出。如果想要使输出结果看起来比较好,则必须自己对它进行格式化。这些需求可能像打印“Missing”而不是NULL 这样简单,也可能更复杂。考虑下面的报告:   这个报告包括几个特定的元素:   ■ 定制标题。   ■ 在State 列中重复值的抑制以便只在更改时才将这些值打印出来。   ■ 小计和总计的计算。   ■ 数字格式,如9 4 3 8 4 . 2 4,打印为美元数量为$ 9 4 , 3 8 4 . 2 4。对于一些任务,甚至可能不需要任何输出。您可能正在对计算向后插入到另一个数据库表中的结果进行简单地检索信息。除了用户运行这个查询以外,甚至可能还想将这个结果输出到其他地方。例如,如果正在提取姓名和电子邮件地址以自动地填入为批量电子邮件生成信件格式的过程中,则程序产生输出。但是该输出由邮件接受者的信息组成,而没有运行程序人员的信息。   ■ 可以在S Q L自身施加的约束条件的环境下工作。SQL 不是一种带有条件选择、循环和子例程的流程控制结构的过程语言。SQL 脚本包括一组从开始到结束一次一个的可执行语句,具有最低限度的错误检查。   如果在批处理模式中使用mysql 执行SQL 查询的一个文件,则mysql 在出现第一个错误后退出,或者,如果指定--force 选项,则不管出现多少错误,都不加选择地执行所有查询。程序可以围绕语句提供流程控制,以便可以有选择地适应查询的成功或失败。可以根据另一个查询的成功或失败来执行一个查询,或根据前一个查询的结果来决定下一步要做的事情。SQL 具有非常有限的语句间的连续性,这点也被带到mysql 中。使用一个查询的结果,并将它们应用于另一个查询中,或将多个查询结果联系在一起是困难的。L A S T _ I N S E RT _ID() 可用于获取由前一个语句最新生成的A U TO_INCREMENT 值,仅仅是关于它的。   更一般的情况是,要想检索一组记录,然后使用每一条记录作为一系列复杂的进一步操作的基础是困难的。例如,检索一个消费者列表然后查询每个消费者的详细信用历史,对每个客户来说可能要包括若干个查询。在某些情况下,可能想开发票,在发票头写上需要联系的客户信息,然后按次序列出每项条目。mysql 不适合这些类型的任务,因为可能需要依赖于前几个查询结果的若干查询,并且这些任务超出了mysql 的布局设计的能力。一般来说,除了mysql 外,还需要工具来执行包括主-细目关系和具有复杂输出格式需求的任务。程序提供将查询连接在一起的“胶”,并可用一个查询的输出作为另一个查询的输入。   ■ 可以将MySQL 集成到任何应用程序中。许多程序都利用数据库的能力提供信息。通过发布一个快速查询,应用程序可以校验消费者号或检查一项条目是否在产品清单中。假设一个客户要寻找某些作者的所有书,则Web 应用程序可以在数据库中查找它们, 然后将结果显示在该客户的浏览器上。   通过使用调用带有包含SQL 语句的输入文件的mysql 的外壳脚本( shell script),可以实现一种初步的“集成”,然后,再使用其他UNIX实用程序加工这些输出。但是这可能变得很难看,特别是当任务变得更复杂时。当应用程序不断增长成为杂乱的修补工作时,它也可能产生一种“在工作,但觉得有错误”的感觉。此外,运行其他命令的外壳脚本的创建过程的开销可能超过您的预想。但它可能更有效率地与MySQL 服务器直接交互,当在应用程序执行的每个阶段需要它的时候,都可以精确地提取想要的信息。针对我们在第1章“MySQL 和SQL 介绍”中安装的样例数据库s a m p _ d b,我们已经列举了若干需要自己编写与MySQL 服务器交互的程序的目标。这些目标中的一些显示在下面的列表中:   ■ 为打印而格式化Historical League 目录。   ■ 考虑外观和联机目录的寻找。   ■ 通过电子邮件向成员发送补充通知。   ■ 使用Web 浏览器很容易地将分数输入到学分册中。   在一些细节方面,我们将考虑的一个方面是将MySQL 的能力与Web 环境结合起来。MySQL 不直接提供对Web 应用程序的支持,但通过组合带有适当的工具的M y S Q L,通过We b可以很容易地访问数据库。使用Web 服务器可以指定查询,向客户的浏览器报告结果。将MySQL 和Web 结合可能有两个想法:   ■ 主要的兴趣在于数据库,只是想使用Web 作为工具来获取对数据更容易的访问。在这样的想法下,数据库的位置是清楚且明显的,因为它是兴趣的焦点。例如,可以编写Web 页来允许查看数据库所包含的表、表的结构,及表的内容。您打算使用Web 服务器来提高对MySQL 的访问能力。这可能也是MySQL 管理者的观点。   ■ 主要的兴趣可能是Web 站点,为了使站点的内容对访问者更有价值,您可能想使用MySQL 作为一个工具。例如,如果为站点的访问者运行信息板或讨论清单,则可以使用MySQL 保留信息的轨迹。在这种情况下,数据库的角色更微妙,访问者甚至可以不关心您必须提供给他在服务器中执行的部分。您打算使用MySQL 提高Web 服务器的能力。这可能也是Web 站点开发者的一个观点。   这些想法并不矛盾。例如,在Historical League 情况下,我们想通过允许联机输入来作为成员获取访问成员目录内容的一种方法而使用We b。提供对数据库的访问是Web 的一个用法。同时,League 的Web 站点在某些方面有些不完全,所以向站点增加目录内容,以便为成员提高站点的价值。增强站点所提供的服务是数据库的一种用法。   无论您如何看待MySQL 与Web 的结合,实现方法都是类似的,即将前台的Web 站点与后台的MySQL 连接,使用Web 服务器作为媒介。Web 服务器将查询从用户发送到M y S Q L服务器,检索查询结果,然后将它们传送给客户,在浏览器上显示。   当然,不一定要联机处理数据,但这样做往往有好处,特别是与经过标准的MySQL 客户机程序访问数据做比较时:   ■ 通过Web 访问数据,人们可以使用他们喜欢的浏览器,在他们喜欢的平台上运行。他们不限制MySQL 客户机程序所运行的系统。Web 浏览器更是这样,无论MySQL 客户机分布如何广泛。   ■ Web 界面的使用比独立命令行的MySQL 客户机程序的使用更简单。   ■ Web 界面可以根据特殊应用程序的要求来定制。而M y S Q L客户机程序是用固定接口来完成基本功能的工具。   ■ 动态Web 页面扩充了MySQL 的能力,它可以做到用MySQL 客户机很难做到或根本不可能做到的事情。例如,仅用MySQL 客户机程序不可能真正地使一体化购买车辆的应用程序组合成整体。   任何编程语言都可用来编写基于Web 的应用程序,但是,有些语言比其他语言更适合一些。请参阅5 . 2节“选择A P I”,我们将看到这点。
分享  
chenyingying
级别新手上路
精华0
积分1
财富0 jstruggle币
发帖数4
注册2017-3-16
状态 我暂时不在线
发表于2017-3-16 10:22    1
vsdvsd

adidas shoes

air max 2016

oakley sunglasses outlet

longchamp bags

coach outlet

adidas yeezy

cheap ray bans

nike air max 1

ray ban sunglasses

toms shoes

tiffany jewelry

adidas nmd runner

lee jeans outlet

nfl jerseys wholesale

toms outlet

nike outlet

nike free running shoes

coach outlet

ferragamo outlet

true religion kids

montblanc pen

michael kors handbags

ysl handbags

roshe run

coach outlet online

michael kors outlet

adidas nmd r1

coach outlet online

ray ban wayfarer

coach outlet online

adidas outlet

oakley sunglasses

nike air max 90

adidas originals nmd

nike outlet

ralph lauren outlet online

coach outlet online

ray ban outlet

coach bags

oakley vault

nike outlet store

coach outlet

pandora charms

coach factory online

air jordans

pandora charms

cheap jordan shoes

ralph lauren outlet

fitflops

prada bags

true religion jeans

new balance shoes

adidas originals uk

michael kors handbags

ray ban sunglasses cheap

michael kors purses

christian louboutin sneakers

mbt outlet

north face outlet

nike sb shoes

michael kors

mont blanc pens

longchamp bags

cheap jordan shoes

ralph lauren outlet

coach outlet

polo ralph lauren

fila shoes cheap

oakley vault

coach outlet store online clearances

ralph lauren outlet

cheap ray ban sunglasses

oakley outlet

adidas trainers uk

mont blanc pens

michael kors outlet online

christian louboutin shoes

birkenstock sale clearance

christian louboutin outlet

vans outlet

puma outlet

toms outlet

mizuno shoes

oakley sunglasses outlet

christian louboutin sale

christian louboutin

oakley sunglasses sale

michael kors handbags

prada handbags

reebok outlet

mlb jerseys cheap

adidas yeezy boost

mac cosmetics

polo ralph lauren outlet

nike store

christian louboutin shoes

michael kors outlet online sale

caterpillar boots

oakley sunglassesvsdv

pandora charms

chenyingying201710316
jeje222
级别新手上路
精华0
积分1
财富0 jstruggle币
发帖数2
注册2017-5-12
状态 我暂时不在线
发表于2017-5-12 12:07    2
yeezy shoes nike roshe run under armour curry 3 michael kors handbags nike roshe run michael kors outlet adidas stan smith timberland shoes atlanta falcons jersey adidas stan smith retro jordans roshe run adidas neo shoes kobe shoes timberland outlet air jordan shoes lebron shoes pandora bracelet kobe sneakers longchamp online shop links of london sale lebron james shoes nike kyrie 3 ultra boost nike zoom irving shoes adidas neo adidas ultra boost cheap jordans longchamp bags michael kors outlet adidas ultra boost nike polo michael kors outlet online nike air max 2016 links of london michael kors outlet store basketball shoes nike air zoom structure 19 nike huarache nike roshe run one nike roshe run nike air force 1 high pandora charms kobe bryant shoes michael kors outlet links of london longchamp falcons jersey yeezy boost cheap basketball shoes james harden shoes kobe bryant shoes adidas neo online shop michael kors outlet online yeezy adidas ultra boost 3.0 air jordan real jordans chrome hearts outlet chrome hearts michael kors outlet store kyrie irving shoes reebok outlet adidas yeezy boost adidas neo harden shoes asics sneakers michael kors outlet store michael kors factory outlet cheap jordans michael kors outlet nike air force yeezy boost nike zoom michael kors factory outlet hermes belt nike air max michael kors outlet michael kors outlet handbags michael kors outlet store yeezy sneakers lacoste outlet longchamp handbags adidas nmd adidas ultra boost 3.0 stephen curry shoes jordan retro longchamp bags cheap jordans christian louboutin shoes cheap jordans longchamp lebron 13 hermes belts for men true religion cheap jordan shoes longchamp handbags lebron 13 low adidas yeezy boost longchamp handbags yeezy boost 350 led light up shoes asics running shoes yeezy boost 350 v2 fitflops sale nike lebron 14 air force ones true religion uk air jordans adidas nmd r1 cheap jordans nike air force jordan shoes lacoste polo patriots jersey michael kors outlet online true religion jeans timberland boots huarache shoes adidas stan smith men adidas tubular michael kors outlet online jordans for cheap hogan outlet online adidas nmd r1 adidas nmd adidas nmd nike dunks yeezy shoes lebron 13 shoes kyrie 3 nike roshe one fitflops sale clearance tory burch shoes kobe 9 patriots jerseys adidas superstar http://www.uggoutlet.uk curry 3 michael kors handbags longchamp bags yeezy boost 350 nike huarache yeezys chrome hearts adidas superstar nike air zoom nike air max95 yeezy boost 350 longchamp le pliage fitflops prada eyeglasses curry 2 tory burch shoes michael kors outlet adidas tubular yeezy shoes michael kors outlet michael kors outlet curry 3 pandora uk louboutin shoes pandora jewelry adidas stan smith women true religion outlet nike air force 1 low pandora bracelet adidas ultra boost new england patriots jerseys http://www.nikedunks.us.org air jordan shoes ferragamo sale kobe 11 adidas stan smith uk yeezy boost kobe basketball shoes air jordan adidas tubular x fitflops clearance nike air force 1 lacoste sale kobe shoes nike mercurial lebron 14 michael jordan shoes nike air max 90 pandora charms hermes belt air max 90 michael kors handbags jordan shoes nike air zoom pegasus 32 chrome hearts online cheap jordans pandora jewelry michael kors purses prada sunglasses lacoste online shop air max michael kors handbags sale michael kors outlet kobe 9 nike air max 2017 yeezy boost nike huarache huarache shoes nike huarache sale longchamp outlet adidas tubular UK adidas superstar UK air max 95 ultra boost 3.0 michael kors handbags yeezy boost 350 v2 ferragamo belt adidas yeezy boost nike mercurial vapor nmd r1 basketball shoes air yeezy michael jordan shoes light up shoes nike air force 1 hogan outlet true religion jeans longchamp lacoste online shop kobe basketball shoes kobe 11
jeje222
级别新手上路
精华0
积分1
财富0 jstruggle币
发帖数2
注册2017-5-12
状态 我暂时不在线
发表于2017-5-12 12:18    3
此次此次

lacoste polo

true religion outlet

adidas ultra boost 3.0

curry 2

led light up shoes

kobe shoes

jordans for cheap

louboutin shoes

adidas superstar

adidas nmd

nike mercurial

nike air force

yeezy shoes

nike air force 1

longchamp bags

curry 3

cheap jordans

jordan retro

cheap jordans

lebron 13 shoes

adidas tubular

adidas stan smith

lebron 13 low

adidas tubular UK

lacoste online shop

jordan shoes

adidas neo shoes

irving shoes

yeezy boost

jordan shoes

air jordan

light up shoes

reebok outlet

air max

http://www.nikedunks.us.org

michael kors outlet handbags

air yeezy

nike air force 1 high

yeezy boost

nike dunks

yeezy boost

kobe 11

kobe bryant shoes

nike zoom

michael kors handbags

yeezy boost

air jordan

michael kors purses

lacoste online shop

adidas stan smith

atlanta falcons jersey

fitflops clearance

michael kors outlet store

tory burch shoes

kobe basketball shoes

prada sunglasses

true religion uk

cheap jordan shoes

michael kors outlet

michael kors outlet online

adidas superstar

fitflops sale

hogan outlet

michael kors outlet

lacoste outlet

michael kors outlet

cheap jordans

kobe basketball shoes

michael kors outlet

nike roshe one

adidas ultra boost

michael kors outlet online

timberland boots

kobe 9

pandora jewelry

kobe sneakers

adidas yeezy boost

adidas nmd

patriots jerseys

longchamp

kobe 11

nike air zoom structure 19

cheap jordans

chrome hearts

cheap jordans

harden shoes

nike air zoom pegasus 32

under armour curry 3

kobe bryant shoes

new england patriots jerseys

christian louboutin shoes

timberland shoes

lebron 13

kyrie irving shoes

air force ones

nike air max95

longchamp

adidas stan smith women

asics sneakers

adidas yeezy boost

nike air max 2016

fitflops

michael kors outlet

nike air max 90

chrome hearts

nike air force

yeezy sneakers

pandora charms

led shoes

ferragamo sale

adidas nmd r1

adidas nmd

yeezy boost 350

longchamp handbags

adidas superstar UK

yeezys

yeezy boost 350 v2

true religion jeans

hermes belt

longchamp bags

huarache shoes

michael kors handbags

asics running shoes

nike roshe run

adidas ultra boost

nike lebron 14

ultra boost 3.0

longchamp online shop

kyrie 3

adidas neo online shop

nike huarache

nike huarache

air max 95

longchamp handbags

nike mercurial vapor

tory burch shoes

chrome hearts online

fitflops sale clearance

true religion jeans

kobe 9

curry 3

adidas tubular

falcons jersey

michael kors handbags

michael kors outlet

nike air zoom

michael kors factory outlet

huarache shoes

light up shoes

links of london sale

pandora uk

lacoste sale

stephen curry shoes

lebron james shoes

yeezy

hermes belts for men

pandora charms

pandora bracelet

air max 90

nike kyrie 3

retro jordans

cheap basketball shoes

lebron 14

prada eyeglasses

nike air max 2017

real jordans

michael jordan shoes

nike roshe run

adidas tubular x

michael kors outlet

michael kors outlet online

longchamp

air jordan shoes

links of london

michael kors outlet

nike air force 1

nike polo

adidas nmd r1

michael jordan shoes

longchamp le pliage

basketball shoes

michael kors handbags sale

pandora jewelry

nike huarache sale

michael kors outlet store

adidas ultra boost 3.0

michael kors outlet online

longchamp bags

adidas neo

kobe shoes

timberland outlet

adidas stan smith men

michael kors outlet

adidas stan smith uk

hermes belt

longchamp outlet

cheap jordans

roshe run

yeezy boost 350

michael kors factory outlet

longchamp handbags

hogan outlet online

nike roshe run

michael kors outlet store

true religion

links of london

nmd r1

adidas yeezy boost

yeezy boost 350 v2

michael kors handbags

patriots jersey

air jordans

nike roshe run one

yeezy boost 350

nike air max

yeezy shoes

adidas neo

james harden shoes

lebron shoes

nike air force 1 low

yeezy shoes

pandora bracelet

nike huarache

ultra boost

air jordan shoes

michael kors outlet store

chrome hearts outlet

nike zoom

http://www.uggoutlet.uk

basketball shoes

adidas ultra boost

ferragamo belt

JStruggle BBS

Powered by Jstruggle! 1.8 © 2006-2009

Processed in 0.031s JStruggle BBS Surprise!

粤ICP备05106211号 - 皖ICP备06010590号

copyright©JStruggle工作室版权所有 - 联系我们