前事不忘,后事之师,不忘国耻!

 注册  找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1960|回复: 0

关系数据库SQL语言

[复制链接]

关系数据库SQL语言

[复制链接]
ehxz

主题

0

回帖

7163

积分

管理员

积分
7163
2007-10-16 08:56:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
1. SQL数据库的数据体系结构
    SQL数据库的数据体系结构基本上也是3级结构,但术语与传统关系模型术语不同。SQL中,关系模型称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“列”。

2. SQL语言的组成
    一个SQL数据库是表的汇集,它用一个或多个SQL模式定义。

    一个SQL表由行集构成,一行是列的序列,每列对应一个数据项。

    一个表或者是一个基本表,或者是一个视图。基本表是实际存储在数据库的表,视图是由若干基本表或其他视图构成的表的定义。

    SQL包括了所有对数据库的操作,主要有4个部分:数据定义(SQL DDL)、数据操纵(SQL DML)、访问数据控制、嵌入式SQL语言的规定。

    SQL DDL主要是定义基本表、视图、索引3个部分:

      -     基本表的定义、修改、撤销

    基本表的定义可用“CREATE TABLE”语句实现,增加属性可以用“ALTER...ADD...”语句,删除属性可以用“ALTER...DROP...”语句;删除已存在的表可用“DROP TABLE...”语句。

      -      视图的定义和撤销

    视图的定义可以用CREATE  VIEW语句实现。视图的撤消可以用DROP  VIEW语句实现。

      -     索引的定义和撤销

    索引的定义可以用CREATE ,用DROP撤销。

      -      SQL DML 数据查询语句

    SQL的查询语句只有SELECT语句。

      -      SELECT查询语句

    在关系代数中最常用的式子是“投影选择联接表达式”:πA1,A2,,...An(δF(R1×R2×...×Rm)),这里R1,R2,...Rm为基本表,F是公式,A1,A2,...An为属性。针对这个表达式,SQL 设计了SELECT句型:

    SELCET A1,A2,...An

    FROM R1,R2,...Rm

    WHERE  F

    在WHERE子句的条件表达式F中可出现下列操作符和运算特点:算术比较符、逻辑运算符、集合运算符、集合成员资格运算符、谓词和聚合函数。

      -      库函数

    COUNT(*) 计算元组的个数

    COUNT(列名) 对某一列中的值计算个数。

    SUM(列名) 求某一列值的总和

    AVG(列名) 求某一列值的平均值

    MAX(列名) 求某一列值中的最大值

    MIN(列名) 求某一列值中的最小值

      -      SELECT语句完整的句法

    SELECT 目标表的列名或列表达式序列

    FROM 基本表或(和)视图序列

    [WHERE行条件表达式

    [GROUT BY 列名序列

    [HAVING组条件表达式

    [DRDER BY  列名[序]...

    前两个句子是必不可少的,后面的4个句子可以缺省。整个语句的语义如下:从FROM子句中列出的表,选取满足WHERE子句中给出的行条件表达式的元组,然后按GROUP子句(分组子句)中指定列的值分组,再提取满足HAVING子句中组条件表达式的那些组,按SELECT子句给出的列名或列表达式求值输出。ORDER子句(排序子句)是对输出的目标表进行排序,可附加说明ASC(升序)或DESC(降序)

      -      SQL DML的数据更新语句

    INSERT 插入语句

    DELETE 删除语句

    UPDATE 修改语句

      -     SQL的访问控制

    SQL的访问控制功能主要是指对用户访问数据的控制。有授权语句和回收语句。

    授权语句的格式如下:

    GRANT 权限表

    ON 表名

    TO 用户名表

    [WITH GRANT OPTION]

    该语句把表的使用权授予指定的若干用户。在有WITH GRANT OPTION短语时,被授权的用户还可将获得的权限再转授给其他用户。权限表中的权限可以有:SELECT, INSERT, DELETE, UPDATE,    EXPAND, INDEX, ALL PRIVILEGES。

    回收语句格式:

    REVOKE 权限表

    ON 表名

    FROM 用户名表

    该语句把已授给指定用户的在指定表上的使用权限收回。

      -     嵌入式SQL

    由于SQL是基于关系模型的语言,而高级语言是基于整数、实数、字符、记录、数组等的数据类型,因此两者之间有很大的区别,称为有缝隙。为了能在宿主语言的程序中嵌入SQL语句,有一些规定:

    -在程序中要区分SQL语句和宿主语言的语句;

    - 在嵌入的SQL语句中可以引用宿主语言的程序变量,但主语言的语句不能引用数据库中的各种变量(属性名、关系名),SQL的集合处理方式与宿主语言的单记录处理方式之间的协调用游标技术实现。
免责申明1、欢迎访问本站,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@dbabbs.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|DBA论坛中国 ( 鲁ICP备20017503号-2 )

GMT+8, 2024-5-15 22:08 , Processed in 0.050385 second(s), 11 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表