版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理与应用数据库原理与应用06 SQL语言 郑捷lSQL概述l数据定义l数据查询l数据更新l视图SQL语言语言数据库原理与应用2l综合统一l集数据定义语言、数据操纵语言、数据控制语言功能、风格统一l高度非过程化l声明式地提出做什么,无须指明怎么做l 面向集合的操作方式l以同一种语法结构提供多种使用方式lSQL既是独立的语言,又是嵌入式语言l语言简洁、易学易用SQL语言特点语言特点数据库原理与应用3各物体之间的关系各物体之间的关系数据库原理与应用4主机(硬件、操作系统平台)数据库服务器实例其他实例数据库其他数据库表视图程序l创建新数据库时,需要确定的参数有:l数据库名称:必须的!而且不能和
2、当前服务器实例中其他数据库同名l主数据文件以及细节:可以不指定,不指定时按照默认位置、名称等进行创建l日志文件以及细节:可以不指定,基本同上l次数据文件:一个数据库可以将数据存放在不同文件中,如果不指定次数据文件,系统不会自动建立创建数据库创建数据库数据库原理与应用5lCREATE DATABASE ON PRIMARY LOG ON l:= ( NAME=逻辑文件名, FILENAME=操作系统下的逻辑和文件名 ,SIZE= 文件初始大小 ,MAXSIZE=最大文件大小|UMLIMITED ,FILEGROWTH =递增值)创建数据库创建数据库数据库原理与应用6数据库管理工具与数据库数据库管
3、理工具与数据库数据库原理与应用7l基本表对象是数据库的核心对象l是实际保存数据的对象,基本上所有对象都与其有关l表的定义,主要是针对其结构,也就是列(又称为属性、字段等)进行定义l附加的,还包括对约束的定义基本表的定义基本表的定义数据库原理与应用8lCREATE TABLE ( 列级约束 , 列级约束 , )l如果完整性约束条件涉及到表的多个属性列时,则必须定义在表级,否则可以定义在列级也可以定义在表级表的创建表的创建数据库原理与应用9l数值类型(精度、范围、表示法)l整数:TinyInt、SmallInt、Int、BigIntl浮点数:Real、Floatl精确数:Decimal、Numer
4、icl货币:SmallMoney、Moneyl字符串类型(长短、国际化、可变长)l常规字符串:Char、NChar、VarChar、NVarCharl长字符串:Text、NTextl二进制类型(长短、可变长)l二进制类型:Binary、VarBinary、Imagel时间日期类型(精度、范围)l时间日期:SmallDateTime、DateTimel其他类型l位:Bitl时间戳:TimeStamp (RowVersion)l世界唯一编号:UniqueIdentifier (GUID)SQL Server中的数据类型中的数据类型数据库原理与应用10lCREATE TABLE Student(St
5、uIDChar(12),StuNameNVarChar(5),StuSexNchar(1),StuAgeTinyInt,CitizenIDChar(18)创建表(列)创建表(列)数据库原理与应用11l尽可能用英文或者通用的英文缩写l不建议用拼音,禁止用拼音声母缩写!l可以用汉字,但是不建议使用l选择的单词必须如实其含义,不同含义的应选择不同单词,以不造成歧义为准l书写注意要有缩进l通过大小写或者下划线的形式分割单词l保留空格、空行等使代码便于阅读,适当进行对齐编程规范:命名规则、书写规则编程规范:命名规则、书写规则数据库原理与应用12lPRIMARY KEY:主键约束,等价非空、唯一lPK_表
6、名lFOREIGN KEY:外键约束lFK_表名_被参照表名lUNIQUE:唯一值约束(允许空值)lUQ_表名_字段名lCHECK (逻辑表达式):检查约束lCK_表名_字段名lDEFAULT:默认值约束l DE_表名_字段名lNULL/NOT NULL:空值/非空值约束lNN_表名_字段名,往往不显式命名约束约束数据库原理与应用13lSQL概述l数据定义l数据查询l数据更新l视图SQL语言语言数据库原理与应用14lCREATE TABLE Student(StuIDChar(12)NOT NULLCONSTRAINT PK_StudentPRIMARY KEY,StuNameNVarChar
7、(5) NOT NULL,StuSexNchar(1)NOT NULLCONSTRAINT CK_Student_StuSexCHECK (StuSex = 男 OR StuSex = 女),StuAgeTinyIntNULLCONSTRAINT CK_Student_StuAgeCHECK (StuAge BETWEEN 16 AND 40),CitizenIDChar(18)NULLCONSTRAINT UQ_Student_CitizenIDUNIQUE)带约束的表创建带约束的表创建数据库原理与应用15lCREATE TABLE Student(StuIDChar(12)NOT NULL
8、,StuNameNVarChar(5) NOT NULL,StuSexNchar(1)NOT NULL,StuAgeTinyIntNULL,CitizenIDChar(18)NULL,CONSTRAINT PK_StudentPRIMARY KEY (StuID),CONSTRAINT CK_Student_StuSexCHECK (StuSex = 男 OR StuSex = 女),CONSTRAINT CK_Student_StuAgeCHECK (StuAge BETWEEN 16 AND 40),CONSTRAINT UQ_Student_CitizenIDUNIQUE (Citize
9、nID)改写为表级约束改写为表级约束数据库原理与应用16l索引是对数据进行检索的一种辅助数据结构l生活中的案例:新华字典的部首、拼音检字法l索引占据一定的空间,并且依附于特定的表,索引的内容与基本表(正文)保持绝对一致l索引用于加快检索速度索引索引数据库原理与应用17l单一索引与复合索引l索引内部包含的字段是单一的还是多个l唯一索引与不唯一索引l是否在索引中记录重复值l聚集索引与非聚集索引l索引是否影响基本表记录的存储顺序索引的分类索引的分类数据库原理与应用18lCREATE INDEX ON ( ASC|DESC, ASC|DESC)l索引名一般命名规则为:IX_表_字段索引的创建索引的创建
10、数据库原理与应用19l优点(益处)l加快对信息的检索l缺点(开销、代价)l占用数据库空间(磁盘空间)l加大信息维护开销l索引建立的原则等暂不讨论,在研究数据库设计时进行分析索引的优缺点索引的优缺点数据库原理与应用20lSQL概述l数据定义l数据查询l数据更新l视图SQL语言语言数据库原理与应用21l单表简单查询l分组查询l连接查询l嵌套查询(子查询)l集合查询数据查询数据查询数据库原理与应用22l数据查询语言(DQL)只有一个语句:SELECTl但是它是编程中最重要的语句,也是变化最复杂的语句l完整的SELECT语句由若干子句构成,格式如下:lSELECT FROM WHERE GROUP B
11、Y HAVING ORDER BY 数据查询语言数据查询语言数据库原理与应用23l案例数据库是一个工程管理的数据库l涉及公司、工程人员、工程项目、人员参与项目等等案例数据库案例数据库数据库原理与应用24l简单查询就是从表中直接查询出信息l可以用*指代全部字段,也可以自己指定是哪些字段,还可以对字段进行计算,或者给字段添加别名l简单查询的语法如下:lSELECT FROM 字段:=| AS 简单查询简单查询数据库原理与应用25l1. 查出全部工程人员的全部信息l2. 查出全部工程人员的姓名和工资l3. 查出全部工程人员的工号和日平均工资(取整)l备注:按照规定,每月算22.5个工作日简单查询简单
12、查询数据库原理与应用26l选择查询是对查询的记录进行筛选,只保留满足条件的记录l选择查询是在FROM子句后添加WHERE子句lSELECT FROM WHERE 选择查询选择查询数据库原理与应用27l4. 找出参加工作信息中在工地超过15个月的信息l5. 找出编号为“A01”的公司信息l6. 找出在重庆施工的工程项目名称选择查询选择查询数据库原理与应用28l在条件之间可以用逻辑运算连接多个条件l条件运算优先级是各种比较NOTAND ORl必要时添加括号调整运算顺序逻辑运算逻辑运算数据库原理与应用29l对于字符串而言,除了直接进行比较,还可以进行模式匹配,或者叫做模糊查找l模糊查找使用 LIKE
13、 谓词lLIKE左侧为要被检索的字段,右侧为匹配的模式,即模型字符串l模式(Pattern)中的特殊字符:l%代表任意个字符(0个、1个或多个)l_(下划线)代表任意一个字符l :指定范围 (a-d) 或集合 (abcd) 中的任何单个字符l:不属于指定范围 (a-d) 或集合 (abcd) 的任何单个字符字符串匹配字符串匹配数据库原理与应用30l7. 查找姓名以“陈”开头的工程师l8. 查找姓名以“言”结尾的工程师l9. 查找姓名以“张”开头以“言”结尾的工程师l10. 查找名称中带有“海”字的公司l11. 查找编号第2-3位是01,最后一位是2,其余位数不限的工程师l12. 查找姓傅、赵的
14、工程师l13. 查找不姓傅、赵的工程师字符串匹配字符串匹配数据库原理与应用31lIN和BETWEEN都是用于范围(区间)比较的谓词l它们的左侧都是用来比较的字段,右侧是条件lIN,右侧是用括号包围的一个列表,左侧字段的值等于列表中的任意一个,则比较成立lBETWEEN,右侧是形如XX AND YY形式的区间,当左侧的值大于等于XX,小于等于YY,则比较成立lIN相当于左侧的字段逐个写=,并用OR连接lBETWEEN相当于 左侧=XX AND 左侧=YYIN和和BETWEEN数据库原理与应用32l14. 找出地点在上海或北京的公司l两种方法l15. 找出年龄在25到30岁之间的工程师l两种方法l
15、16. 找出14和15的相反结果lNOT的位置IN和和BETWEEN数据库原理与应用33l空值的运算特殊性l空值与任何值进行任何运算结果均为空值l空值与任何值进行比较,结果均为FALSE,哪怕是两个空值进行比较l因此,判定某个字段是否空值,要用专门的命令:lIS NULLlIS NOT NULL空值的判定空值的判定数据库原理与应用34l17. 分别找出年龄明确和不明确的工程师l18. 找出年龄在30岁以上,或者年龄未知的工程师空值的判定空值的判定数据库原理与应用35l之前的查询结果,都是按照其自然顺序排列的l自然顺序是数据在数据库中保存的物理顺序,通常为其主键顺序l我们可以在查询中通过ORDER BY子句指定查询结果的顺序查询结果的排序查询结果的排序数据库原理与应用36l19. 列出全部工程师信息,按工资排序l20. 列出全部工程师的姓名和工资,按工资由高到低排序l2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 进一步规范完善考核制度
- 幼儿园领导小组考核制度
- 2025年浙江纺织服装职业技术学院马克思主义基本原理概论期末考试模拟题及答案解析(夺冠)
- 2025年兖州矿区职工大学马克思主义基本原理概论期末考试模拟题带答案解析(必刷)
- 2025年望都县招教考试备考题库带答案解析(必刷)
- 2024年霍邱县招教考试备考题库含答案解析(夺冠)
- 2024年重庆电力职工大学马克思主义基本原理概论期末考试题含答案解析(夺冠)
- 2025年湖南城市学院马克思主义基本原理概论期末考试模拟题带答案解析
- 2025年平武县幼儿园教师招教考试备考题库附答案解析
- 2024年黑龙江工商学院马克思主义基本原理概论期末考试题带答案解析(必刷)
- 2025-2026学年北京市朝阳区高三(上期)期末考试英语试卷(含答案)
- 2026年离婚协议(标准版)
- 数学试卷江苏省南京市2025-2026学年12月七校联合学情调研(12.10-12.12)
- 上海医院招人面试题目及答案
- 【英语】【宾语从句】讲解疯狂动物城版本【课件】
- 警用无人机教学课件
- 2025年公务员与事业单位类公文写作与处理模拟试题
- 2025年及未来5年中国商用车车联网行业市场运营现状及投资规划研究建议报告
- 2025年村务监督委员会工作总结范文
- 企业反腐败与商业道德法律规范培训
- 地大水文地质学基础-课件
评论
0/150
提交评论