莫相离 发表于 2015-1-16 22:20:35

MYSQL网站制作之SQL概述

“对于MySQL数据库,无论是在开发方面,还是支持方面,现在有大量强大的MySQL学习教程可以选择。每一个新手开发者可以轻松地使用MySQL数据库进行开发。4.1.1SQL是甚么
SQL(StructuredQueryLanguage,译为布局化查询言语)在干系型数据库中的位置就如同英语活着界上的位置。它是数据库体系的通用言语,使用它,用户能够用几近一样的语句在分歧的数据库体系上实行一样的操纵。好比“select*from数据表名”代表要从某个数据表中掏出全体数据,在Oracle9i、SQLServer2000、Foxpro等干系型数据库中都可使用这条语句。SQL已被ANSI(美国国度尺度化构造)断定为数据库体系的产业尺度。
SQL言语依照功效能够分为4年夜类。
数据查询言语DQL:查询数据。
数据界说言语DDL:创建、删除和修正数据工具。
数据利用言语DML:完成数据操纵的命令,包含查询。
数据把持言语DCL:把持对数据库的会见,服务器的封闭、启动等。
4.1.2SQL的次要特性
SQL言语复杂易学、作风一致,使用复杂的几个英语单词的组合就能够完成一切的功效。在SQLPlusWorksheet情况下能够独自利用的SQL语句,几近能够不加修正地嵌进到如VB、PB如许的前端开辟平台上,使用前端工具的盘算才能和SQL的数据库利用才能,能够疾速创建数据库使用程序。
4.1.3Oracle9i利用SQL的工具
在Oracle9i中为利用SQL言语供应了两个次要的工具。
【SQLPlus】
【SQLPlusWorksheet】
两种工具在利用上功效都不异,但在可操纵性上,【SQLPlusWorksheet】更合适初学者。因而,本书重点先容后者的利用。
4.1.4SQL中会见数据表的办法
在SQL言语中会见数据表是经由过程“用户名.数据表”的情势来举行的。
好比在Oracle9i数据库服务器安装过程当中,默许创建有scott用户,该用户对dept数据表和emp数据表无数据查询的权限,因而会见数据表的语句为select*fromscott.emp。固然,假如用户是用scott用户自己登录的,则会见数据表的语句能够简化为select*fromemp,本色是一样的。
在本章的实例中,我们以数据库体系办理员system、口令manager登录数据库,会见数据必需接纳select*fromscott.emp的情势。即便是用户自己登录后会见属于本人的数据表,我们也保举利用“用户名.数据表”的情势来会见数据表以分明地反应数据表的有权用户信息。
4.1.5两个典范数据表
在读者没有进修怎样创立数据表,怎样创立用户,怎样将用户付与对数据表的会见权限之前,我们以数据库已创建的两个典范数据表为例来先容。
(1)启动【SQLPlusWorksheet】
(2)在【命令编纂区】输出语句“descscott.emp”,然后单击【实行】按钮,呈现如.1所示的emp数据表布局。
【拜见光盘文件】:第4章4.1415-1.sql。

desc,describe命令的简化情势,感化是显现数据表的布局。利用情势:“desc数据表名”。
(3)在【命令编纂区】输出“descscott.dept”,然后单击【实行】按钮,呈现如.2所示的scott.dept数据表布局。
【拜见光盘文件】:第4章4.1415-2.sql。

接上去我们以实践查询例子来先容数据查询的语法,读者能够参照配套光盘的实例跟从本书实行一样的操纵。
如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。

再见西城 发表于 2015-1-18 05:15:35

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.

兰色精灵 发表于 2015-1-21 11:29:46

所以你总能得到相应的升级版本,来满足你的需求。

若相依 发表于 2015-1-30 17:10:23

分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。

山那边是海 发表于 2015-2-6 14:16:56

索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。

谁可相欹 发表于 2015-2-16 10:45:40

对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。

不帅 发表于 2015-3-5 05:30:02

其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。

变相怪杰 发表于 2015-3-11 23:35:34

然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情

老尸 发表于 2015-3-19 16:14:36

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

柔情似水 发表于 2015-3-29 06:43:15

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
页: [1]
查看完整版本: MYSQL网站制作之SQL概述