博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关系数据库-----SQL标准语言
阅读量:4920 次
发布时间:2019-06-11

本文共 1974 字,大约阅读时间需要 6 分钟。

关系数据库三级模式结构

  外模式:视图,基本表导出的表,数据库中只存放视图的定义而不存放视图对应的数据。

  模式:基本表

  内模式:存储文件

数据定义

操作对象 创建 删除 修改
模式 create schema drop schema  
create table drop table alter table
视图 create view drop view  
索引 create index drop index alter index

 

    模式的定义与删除

    要创建模式,调用该命令的用户必须拥有数据库管理员权限,或者获得了数据库管理员授予的create schema 权限

    语句: create schema 模式名 authorization 用户名

    删除模式,drop schema 模式名 <cascade| restrict>  

        cascade 级联 :删除模式的同时把该模式下的数据库对象全部删除、

        restrict 限制:如果该模式下定义有表,视图,则拒绝该删除语句的执行。只有当该模式下没有任何下属对象时才能执行drop schema语句

  基本表的定义、删除、修改

    定义 create table 表名(<字段1><数据类型>[列级完整性约束条件],...,[<表级完整性约束条件>])

    修改基本表 alter table<表名>

    删除 drop table <表名>[restric|cascade]   

      cascade:该表的删除没有限制条件

      restrict:该表的删除有限制条件,要删除的基本表不能被其他表的约束条件所引用,不能有视图,触发器,存储过程或函数    (默认情况)

  索引的建立与删除

    索引可以加速数据库查询,但要占用一定存储空间。基本表更新时,索引要进行相应维护。

    建立索引create [unique][cluster] index <索引名> on 表名(<列名>[<次序>][,<列名>[<次序>]])

    修改索引 alter index <旧索引名> rename to <新索引>

    删除索引 drop index <索引名>

数据查询

  select [all | distinct]  <目标列表达式>[,目标列表达式] ... 

  from <表名 or 视图名>[,<表名 or 视图名>,...] | (select 语句) [as]<别名>

  [where <条件表达式>]

  [group by <列名1> [having <条件表达式>]]

  [oder by <列名2>[ASC|DESC]];

根据where子句的条件表达式从from 子句指定的基本表,视图或派生表中找出满足条件的元组,再按照select 子句中的目标列表达式选出元组中的属性值形成结果表。

有group by 子句,则将结果按列名1 的值进行分组,该属性列值相等的元组为一个组

oder by 子句 按列名2事务值的升序或降序排序

  单表查询 

    指定列 select <列名1>,<列名2>,... from tablename;

    全部列 select * from tablename;

  选择表中的若干元组

    消除取值重复的行 select distinct 列名 ,... from tablename;

    满足一定条件的元组

查询条件 谓词
比较 =,>,<,>=,<=,!=,<>,!=,!>,!<,;not +上述比较运算符
确定范围 between  (下限) and (上限), not between and
确定集合 in  ,  not in
字符匹配 like  ,  not like
空值  is null   ,   is not null
多重条件   and , or  , not 

  聚集函数

count(*) t统计元组个数
count( [distinct|all ] <列名>) t统计一列中的值的个数
sum( [distinct|all ] <列名>) j计算一列值的总和
avg ( [distinct|all ] <列名>) j计算一列值的平均值
max ( [distinct|all ] <列名>) y一列的最大值
min ( [distinct|all ] <列名>) y一列的最小值

          all为默认的

 

where语句里不能有聚集函数作为条件表达式,having 里面可以有

 

 

转载于:https://www.cnblogs.com/taoHongFei/p/8836199.html

你可能感兴趣的文章
selenium java-2 chrome driver与对应版本
查看>>
javascript的私有机制
查看>>
arguments对象疑惑
查看>>
MyEclipse 的代码提示功能
查看>>
作为开发人员,我们实在是太幸运
查看>>
对比<input type="text" id="">和<asp:TextBox runat="server" ID="">
查看>>
20145203盖泽双 《Java程序设计》第8周学习总结
查看>>
percona-toolkit大表操作DDL使用
查看>>
【c++手记】Copy Constructor
查看>>
调用第三方物流公司API即时查询物流信息
查看>>
classifier in maven
查看>>
Jetson TX2介绍
查看>>
意见汇总
查看>>
【Golang 接口自动化07】struct转map的三种方式
查看>>
FPGA学习之串口组合
查看>>
Code Complete-13/7/23
查看>>
jmeter脚本中请求参数获取的几种方式
查看>>
java中的抽象类
查看>>
no.13如何通俗易懂理解区块链读后感
查看>>
C#基础拾遗系列之一:先看懂IL代码
查看>>