数据库系统 -

SQL(Structured Query Language)结构化查询语言,标准、通用、功能强;


特点:集数据查询Data Query;数据操纵Data Manipulation ;数据定义Data Definition;数据控制Data Control功能于一体


综合统一:DDL;DML;DCL三种语言于一体


高度非过程化:只要提出做什么就好


面向集合的操作方式:操作的对象都是元组的集合


同种语法结构提供多种使用方式:内嵌到c++,java中


简洁、易学易用:




几个动词:


数据查询:SELECT


数据定义:CREATE; ?DROP; ?ALTER


数据操纵:INSERT; DELETE; UPDATE


数据控制:GRANT; ?REVOKE




基本概念:


外模式对应:视图View和部分基本表Base Table


模式:基本表


内模式:存储文件Stored File


视图:一个或者几个基本表导出的表;数据库中只存放图的定义不存放视图对应的数据;虚表


SQL中一个关系对应一个基本表;一个基本表对应一个存储文件;一个表可以带若干索引;索引存放在存储文件中



数据定义:


模式定义:CREATE SCHEMA <模式名> ?AUTHORIZATION ?<用户名>


eg:CREATE SCHMA "S-T" AUTHORIZATION WANG


tt:如果没有知道模式名,则隐含为用户名



模式的删除:DROP SCHMA <模式名> ?


eg:DROP SCHEMA ZHANG CASCADE;


tt:CASCADE是级联,表示删除模式同时把该模式中所有数据库对象全部一起删除了


RESTRICT限制,只有当该模式下没有任何下属的对象时候才能执行该删除成功;否则拒绝操作




基本表定义:


CREATE TABLE Student


(


Sno char(9) primary key, ? /*列级完整性约束条件,Sno是主码*/


Sname char(20) unique, ???/*Sname取唯一值*/


Ssex char(2),


Sage smallint,


Sdept char(20)


);




CREATE TABLE Course


(


Cno char(4) primary key,


Cname char(4),


Cpno char(4), ? ?/*先修课*/


Ccredit smallint,


FOREIGN KEY Cpno REFERENCE Course(Cno) ?/*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/


);




CREATE TABLE SC


(


Sno char(9),


Cno char(4),


Grade smallint,


PRIMARY KEY(Sno,Cno), ? ? ?/*主码由两个属性组成,必须作为表级完整性进行定义*/


FOREIGN KEY(Sno) REFERENCE Student(Sno),


FOREIGN KEY(Sno) REFERENCE Course(Cno)


);




数据类型:


CHAR(N) ? 长度为n的定长字符串


VARCHAR(n) ? 最大长度为n的变长字符串


INT ?长整数


SMALLINT ? 短整数


NUMBER(p,d) ? 定点树,p位数字组成(不包括符号、小数点),小数后面d位数字


REAL ?取决于机器的精度的浮点数


Double Precision 双精度取决于机器


FLOAT(n) ? ?浮点数 ?精度至少为n为数字


DATE ?日期 YYYY-MM-DD


TIME ?时间 ?HH:MM:SS




每个基本表都属于一个模式,一个模式包括多个基本表


CREATE TABLE "S-T".Student();




修改基本表:


ALTER TABLE <表名>


[ADD <新列名> <数据类型> <完整性约束>]


[ DROP <完整性约束>]


[ALTER COLUMN<列名> <数据类型>]




删除表:


DROP TABLE Student CASCADE; ? //删除表有关的视图触发器索引表数据等。 Restrict




索引建立:加快查询速度


CREATE [UNIQUE] [CLUSTER] INDEX ?<索引名>


ON <表名> ?(<列名>[ ?ASC | DESC ?])


eg: create unique index Studentsnindex ?on Student(Sno DESC);?


删除索引:DROP INDEX <索引名>




数据查询:


单表查询:select Sno from Student;


DISTANCT ?取消重复元组 ?:select distinct Sno from SC;


别名:select Sname NAME from Student;


满足条件:


比较:= ?> ?< ?>= ?<= ? != ?<> ?NOT ??


确定范围: between ?and、not between and


确定集合:IN,NOT IN


字符串匹配:LIKE,NOT LIKE (%任意长度的字符串;_任意单个字符)


空值:IS NULL ,IS NOT NULL


多重条件:AND、OR、NOT



ORDER BY子句:ASC and ?DESC排序结果 ?置于where 子句后面,多个列逗号隔开


GROUP BY子句:查询结果按照某一列或者多列分组,细化聚集函数,HAVING短句指定筛选条件


select Cno, COUNT(Sno)


from SC


GROUP BY Cno;








相关文档

  • 电脑病毒类型及介绍
  • 小学六年级英语作文:A Special Day
  • 公司年度工作计划综合5篇
  • torch.optim
  • 初中家长写给孩子的一封信作文大全
  • 简笔画小猫咪的画法步骤
  • 脸上有红血丝怎么调理
  • 推荐信的英文版怎么写
  • 手机号导入包裹啥意思
  • 小袋鼠必须在袋子里生活的原因
  • 谈时间
  • Vmotion
  • 欧诗漫珍珠白焕颜小魔盒有什么
  • 护士代表优秀演讲稿
  • 关于害怕背叛离开的伤心说说
  • 黄菊花茶的功效与作用
  • 吊打MySQL:21性能优化实践+学习导图+55面试+笔记+20高频知识点
  • 江中猴姑米稀孕妇可以吃吗江中猴姑米稀儿童可以吃吗
  • 都说Python简单易学,为什么我还是觉得难
  • 前端输入框不允许填入脚本_新手学习web前端必备基础知识点
  • Unity Post 案例 -- 简单2步搞定
  • 基于STM32F104的大疆3508、2006电机电调驱动程序(CAN通信、同时驱动多个电机)开源
  • 猜想与验证圆周率的发现教学设计模板
  • 爱情幸福说说一段
  • 来自民间的瘦脸秘方大PK
  • 冬季吃什么皮肤好
  • MongoDB介绍
  • 中学生经典的励志语录
  • ROS:使用Qt Creator创建GUI程序(二)
  • 女生来月经要吃什么菜好点
  • 电脑版