下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

浅谈mysql数据库语言

作者:课课家教育     来源: http://www.kokojia.com点击数:760发布时间: 2016-03-22 17:44:48

标签: mysql语言数据库结构性语言

      MySQL数据库很多人都知道是一种语言,但是如何使用这么语言进行数据的运用,实现交互式操作,在这里我们将给大家介绍mysql语言的用途,给大家建立一种mysql的系统理论知识。

  本章将介绍大家应该掌握的术语和基本概念,描述书中示例所用到的sampdb示例数据库和Mysql数据库的创建与交互操作。本节为大家介绍MySQL的用途。

  如果你在数据库系统方面是一个新手,不能肯定自己是否需要这种东西,就应该从本章开始学习。如果你完全不了解MySQL或SQL,也应该从作为入门指南的本章入手。已经具备一定的MySQL或其他数据库系统使用经验的读者可以跳过本章内容。但我希望大家至少要看看1.2节,熟悉一下sampdb数据库的用途与内容,因为我们将在全书的示例中反复用到它。

如何运用C语言来实现数据库mysql功能?_数据库_C语言_课课家

  1.1MySQL的用途

  本节将描述MySQL数据库系统的用武之地,让大家了解MySQL能用来做哪些事情以及它们会对你的工作有什么样的促进和帮助作用。如果你用不着这些描述就已经信服了数据库的作用--也许你心里正有一个难题,急于让MySQL运转起来以解决它--不妨立刻前进到1.2节。

  从本质上讲,数据库系统只不过是一套对大量信息进行管理的高效办法而已。信息有各种来源。例如,信息可以是科研数据、商业账目记录、客户定单、体育比赛成绩、销售业绩报告、个人爱好资料、人事档案记录、bug报告、学生考试成绩,等等。虽然数据库系统能处理各种各样的信息,但单纯因为其本身而安装并使用它却不见得有必要。假如某项工作已经有了一个很好的解决方案,而你却在"为使用而使用"的心理驱使下引入了一个数据库系统,那就太不明智了。商品采购清单就是一个很好的例子:在出发前,先把想买的东西列在一张纸上;到商店后,每买到一样东西,就把它从清单上划掉;等采购完毕时,这张纸就可以丢掉不要了。几乎没有人会因为这种事情去动用数据库。如果你有掌上电脑,你应该会用掌上电脑的记事本功能来处理商品采购清单,而不会选用数据库。

  当需要组织和管理的信息很多或者信息本身很复杂时,仍手工处理数据记录就会变得力不从心,而使用数据库系统则会让这些事变得轻而易举。对那些每天要处理上百万项交易的大公司来说,数据库不可或缺。但即便是某位用户出于个人爱好而收集整理信息这种小规模操作,也可能需要一个数据库。数据库可以帮上大忙的场景并不难想象,因为即便是很少的信息也很难管理。请考虑以下情况。

  你开了一家木工厂并雇了几位员工。你需要维护一份员工名单和一份工资表,得把自己在何时给哪些员工发过工资的事记下来,还得把工资总数加起来好向政府有关部门报税。你还需要记录工厂接过的每一单木工活,以及每单木工活都由哪几位员工负责完成等事情。

  你开了一家汽车配件连锁店。为了完成顾客的订单,你需要随时了解某个零件在哪一家分店里还有库存。

  你在长年的科研工作中积累了大量的数据。为了发表研究成果,你必须对这些数据进行筛选和分析。这是一个沙里淘金般的工作,需要从大量原始数据生成汇总信息,提取典型的数据来进行统计分析,再根据分析结果推导出结论来。

  你是一名教师,需要记录学生的考试成绩和出勤情况。每进行一次考试或测验,就把学生们的成绩记录下来。把成绩记到成绩本上并不复杂,但今后想分析这些成绩时可就麻烦了。对各次考试的成绩进行排序以确定分数线,学期结束时为每位学生计算总评成绩,统计学生们的出勤情况,等等,你一定不会手工完成这些工作。

  你在某机构担任秘书一职,负责维护该机构的成员名录。(这个机构可能是专业团体、俱乐部、交响乐团、健身俱乐部等。)你每年都要为大家打印一份成员名录,每当有成员资料发生变化,就得用字处理软件修改这份文档。文档使你的很多好想法都无法实现,所以你对目前的状况感到很厌倦。很难对成员名录进行多种排序,很难从中选出指定的部分(例如只列出人名和电话号码),很难把符合某种条件的成员(如需要延续成员资格的人)都找出来(所以你每个月都得把这些成员一个不落地找出来并给他们寄去续会通知)。你听说过"无纸办公",知道它指的是电子化的办公形式,但你并不了解它对你有什么好处。成员名录已经是电子化的了,可具有讽刺意味的是,除了把名录打印成册以外,任何其他类型的工作都不容易完成。

  在上面列举的这些场景里,有的信息量很大,有的信息量很小。但它们有一个共同的特点,即这些工作原先都是手工完成的,但引入一个数据库系统将大幅提高工作效率。

  那么,诸如MySQL之类的数据库系统会给你带来哪些特别的好处呢?这要看你的具体需要和目标到底是什么。在上面那些例子里,不同的场景有着不同的要求。下面,我们将以一个常见的情况为例来说明数据库的作用。数据库管理系统通常被人们用来取代文件柜,而事实上,数据库系统也像一个巨大的文件柜,只是它里面已经有很多预先建立好的存档功能。与手工方式相比,以电子化手段来管理信息的优势非常明显,同时也非常重要。我们来看一个例子,假设你要为牙科诊所管理顾客资料。下面是一些MySQL的存档功能,可以为你带来的巨大帮助。

  缩短信息记录的录入时间。当需要添加一项新的信息记录时,你用不着拉开文件柜的各个抽屉以确定需要把这条记录添加到什么地方。你只需把这条记录提交给存档系统,让它把该记录存放到适当位置。

  缩短信息记录的检索时间。当需要查找某条信息记录时,你用不着亲自拉开文件柜的各个抽屉就能找到你想要的资料。如果你想给最近没来参加定期检查的人们发一封提醒信,就完全可以让存档系统去把这些人的资料查找出来。当然,这与你让另一位员工"把最近6个月没来参加定期检查的人查出来"的情况是不同的。如果你有一个数据库,就可以直接用下面这条看起来很奇怪的语句完成这项工作:

  SELECTlast_name,first_name,last_visit

  FROMpatientWHERElast_visit<DATE_SUB

  (CURDATE(),INTERVAL6MONTH);

  如果你从没见过类似的东西,这条语句看起来会吓人。以前需要花费一小时的时间才能得到结果,而现在你只需一两秒钟就能完成,这一点还是相当吸引人的。(现在,请不要被这条奇怪的语句吓倒。用不了多长时间,你就不再会对它感到陌生了。事实上,等你学完本章内容,就会明白这条语句到底有什么含义了。)

  灵活的信息检索顺序。你用不着按照当初存储记录的顺序(例如按患者的姓氏顺序)来检索它们。你可以让你的存档系统按你希望的任意顺序来提取信息:按姓氏也行,按医疗保险公司名称的顺序也行,按最近一次就诊时间的顺序也行,等等。

  灵活的输出格式。找到想要的资料后,你不必再把它们手工抄写下来。你可以让存档系统把它们生成为一份名单。有时候,你需要把信息打印出来;有时候,你可能想把它们用在另一个程序里。(例如,在生成一份最近没来参加定期诊断的患者名单后,你可以把这些资料送到一个文字处理软件里去打印催诊通知,然后再寄给那些患者。)也许你只对汇总信息(如总共有多少人没来参加定期诊断)感兴趣。有了数据库,你就用不着再亲自统计这些人数了,存档系统会轻而易举地为你生成汇总信息来告诉你。

  信息记录能同时被多名员工使用。在"有纸办公"的年代,如果有两个人同时需要查看同一份资料,第二个人就必须等第一个人把资料放回原处之后才能拿到它。有了MySQL,你就能让多位员工同时使用同一份资料了。

  信息记录的远程访问和电子传输。"有纸办公"只允许你在信息资料的存放地点使用它们,或者让别人给你复印一份送过来。电子信息记录则允许对这些记录进行远程访问或者电子传输。如果你的牙科诊所设有分支机构,分支机构里的医护人员就能从他们自己的办公地点存取资料了。你不再需要通过信使来传送这些资料。如果别人想获得记录却又没有与你一样的数据库软件,那么,只要他能使用电子邮件,你就可以把他想要的资料找出来并通过电子手段传送给他。

  如果你曾经使用过数据库管理系统,就会亲身体会到上面列举的种种好处,而你现在的想法可能已经超越"电子文件柜"的范畴了。很多企事业单位现在都把他们的数据库与网站结合起来使用,这是一个很好的例子。现在,假设你所在的公司有一个库存商品数据库,每当有顾客打电话来询问仓库里是否存有某种货物及其价格时,服务台员工就会用到这个数据库。这只是数据库比较传统的用法。如果你所在的公司还有一个可供顾客访问的网站,就可以增加一项新的服务项目--为顾客提供一个查询页面,让他们自己查询商品库存情况和价格信息。这样,顾客就能迅速地获得他们想要的资料,这些资料是从你的数据库里查出来的,而你为他们提供的库存商品查询功能又是自动完成的。顾客很快就能获得资料,不必再拿着电话筒听占线忙音,也不必再受你们公司上下班时间的限制。而每一位使用你们公司网络的顾客都替你省下了一小笔需要支付给服务台员工的工资。(光是如此节省下来的钱恐怕就能抵消网站本身的开支了。)

  你还可以更进一步地发挥数据库的作用。基于web的库存查询功能不仅能满足顾客的需求,对你的公司也有莫大的好处。这些查询能让你了解顾客想买哪些商品,而查询结果则能让你了解你是否能够满足顾客的要求。如果你的仓库里没有顾客想要的东西,你可能会失去这笔生意。所以把来自顾客的库存查询信息(他们想买什么,你是否有足够的库存等)记录下来不失为一个好主意。你可以根据这些信息来调整库存,向顾客提供更好的服务。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程