SQL基础入门教学课件_第1页
SQL基础入门教学课件_第2页
SQL基础入门教学课件_第3页
SQL基础入门教学课件_第4页
SQL基础入门教学课件_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第章SQL第1页,共116页。SQL概述(Structured Query Language)简称SQL作用:结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统2第2页,共116页。学习目标创建数据库利用SQL的DDL语句创建数据表,并理解SQL支持的数据类型利用SQL建立完整性约束理解查询语句基本结构能够用SELECT语句进行简单查询能够按照字段对信息进行筛选能够对查询的记录进行排序能够进行集合查询能够使用聚集函数查询能够进行嵌套查询理解连接的函义,并使用连接进行查询利用SQL进行数据库的修改3第3页,共116页。一、创建数据库方法:1、图形化创建2

2、、用CREATE语句创建4第4页,共116页。任务:在Management Studio中创建数据库student。【任务分析】 根据任务要求,要求使用SQL Server Management Studio的图形化界面创建名为student的数据库,并保存在C盘db文件夹下。数据库的具体属性如下表所示:student的数据文件和事务日志文件逻辑名称文件类型文件组系统文件名初始大小最大容量增长容量student1数据文件primaryC:/db/student_data.mdf3MB30MB10MBstudentlog事务日志文件C:/db/student_log.ldf1MB10MB10%第

3、5页,共116页。相关知识数据库的文件结构逻辑结构是指数据库由哪些性质的信息组成。SQL Server的数据库是由表、视图、索引、存储过程和触发器等各种不同的对象组成,它们构成了数据库的逻辑结构。数据库对象说明表用于存放数据,由行和列组成视图可以看成是虚拟表或存储查询索引用于快速查找所需信息存储过程用于完成特定功能的SQL语句集触发器一种特殊类型的存储过程SQL Server 2012数据库的常用对象第6页,共116页。物理结构也称为存储结构,表示数据库文件是如何在磁盘上存放的。SQL Server 2012中的数据库文件在磁盘上以文件的单位存放,由数据库文件和事务日志文件组成。 根据文件作用

4、的不同,又可以将它们分为三类:主数据库文件、辅助数据库文件和事务日志文件。其中,主数据库文件是必须要有的,辅助数据库文件可以根据需要设置一个或者多个,而事务日志文件至少有一个。相关知识数据库的文件结构数据库文件功能扩展名主数据库文件存放DB的启动信息、部分或全部数据和数据库对象.mdf辅助数据库文件存放除主数据库文件外的数据和数据库对象.ndf事务日志文件用来存放恢复数据库所需的事务日志信息,记录数据库更新情况.ldf第7页,共116页。 基本概念主要数据文件数据文件数据库 次要数据文件事务日志文件用于存储数据库中的所有对象,如表用来存储数据库的启动信息、部分或全部数据,扩展名为.mdf每个数

5、据库只能有一个主要数据文件用于保存所有主要数据文件中容纳不下的数据,扩展名为.ndf可有多个保存用于恢复数据库的日志信息至少一个第8页,共116页。操作步骤1、打开Management Studio界面第9页,共116页。操作步骤2、打开“新建数据库”对话框第10页,共116页。操作步骤3、按要求设置数据库基本属性第11页,共116页。任务 用CREATE DATABASE语句创建数据库student 【任务分析】 要求使用Management Studio创建名为student的数据库,同时设置数据库的相关属性。student的数据文件和事务日志文件逻辑名称文件类型文件组系统文件名初始大小最

6、大容量增长容量student_data数据文件primaryC:/db/student_data.mdf3MB30MB10MBstudent_log事务日志文件C:/db/student_log.ldf1MB10MB5MB第12页,共116页。知识说明:CREATE DATABASE语句的基本格式CREATE DATABASE database_name ON PRIMARY()LOG ON ()第13页,共116页。关键代码create database studenton primary(name=student1,filename=d:dbstudent.mdf,size=10MB,ma

7、xsize=100MB,filegrowth=5MB),第14页,共116页。(name=student2,filename=d:dbstudent.ndf,size=8MB,maxsize=50MB,filegrowth=2MB)15第15页,共116页。log on(name=studentlog,filename=d:dbstudent.ldf,size=5MB,maxsize=50MB,filegrowth=5MB)16第16页,共116页。分离与附加数据库 1.分离数据库用 SQL Server Management Studio分离数据库展开树形目录,定位到要分离的数据库上单击鼠标

8、右键,在弹出的快捷菜单中,选择【任务】|【分离】命令。2022/8/317第17页,共116页。附加数据库1. 用 SQL Server Management Studio附加数据库1)在数据库节点上单击鼠标右键,弹出快捷菜单,选择【附加】命令。2)出现【附加数据库】对话框,单击【添加】按钮,出现【定位数据库文件】对话框,在这个对话框里,默认只显示数据库的数据文件,即“mdf”文件。2022/8/318第18页,共116页。数据库分离与附加的作用和功能一、可以切断数据库的使用 (比如当数据库日志很大占用了空间时,可以用分离数据库的方法来切断数据库,从而删除以前的数据库日志,来节省空间)二、可以

9、在需要更换数据库物理存放地址时使用。如果您数据库系统安装在系统盘(比如 C 盘),由于 C 盘容易受病毒侵害,您也许希望您的数据存放在非系统盘(比如 D 盘),要做的这点很简单,您并不需要重装数据库,只要把数据“分离”,然后将相关文件移动到 D 盘的某个目录,接着“附加”数据库即可。第19页,共116页。相关知识脱机与联机脱机与联机是针对数据库的当前状态来说的,当一个数据库处于可操作、可查询的状态时就是联机状态,而一个数据库尽管可以看到其名字出现在数据库节点中,但对其不能执行任何有效的数据库操作时就是脱机状态。第20页,共116页。脱机与联机数据库脱机数据库1. 用 SQL Server Ma

10、nagement Studio脱机数据库1)展开树形目录,定位到要脱机的数据库上单击鼠标右键,在弹出的快捷菜单中,选择【任务】|【脱机】命令2)弹出【使数据库脱机】对话框,单击【关闭】按钮即可完成操作。2022/8/321第21页,共116页。联机数据库1. 用 SQL Server Management Studio联机数据库1)展开树形目录,定位到要联机的数据库上单击鼠标右键,在弹出的快捷菜单中,选择【任务】|【联机】命令。2)弹出【使数据库联机】对话框,单击【关闭】按钮即可完成操作2022/8/322第22页,共116页。收缩数据库1 用 Management Studio收缩数据库和文

11、件1)在目标数据库上单击鼠标右键,在弹出的快捷菜单中选择【任务】|【收缩】|【数据库】。2)出现【收缩数据库】对话框,选中并设置相应的值,点击【确认】。2022/8/323第23页,共116页。收缩数据库3)如果想收缩数据库的指定数据文件或日志文件,可右击相应的数据库,弹出快捷菜单,选择【任务】|【收缩】|【文件】4)出现【收缩文件】对话框,选中并设置相应的值,点击【确认】。第24页,共116页。删除数据库1 用 SQL Server Management Studio删除数据库在【对象资源管理器】中,定位在目标数据库上单击鼠标右键,在弹出的快捷菜单中选择【删除】。2用 T-SQL 命令删除数

12、据库 DROP DATABASE database_name,.n2022/8/325可同时删除多个数据库-例1DROP DATABASE BJGL例2DROP DATABASE student2-例3DROP DATABASE 东软第25页,共116页。思考假如没有对日志文件进行定义,那么日志文件的大小和数据文件有什么差别?怎样创建有多个数据文件的数据库?第26页,共116页。课堂实践操作1在SQL Server中创建数据库,具体要求如下:(1)数据库名称为college。(2)主要数据文件:逻辑文件名为college1 ,物理文件名为college.mdf,初始容量为10MB,最大容量为1

13、00MB,递增量为10MB。(3)次要数据文件:逻辑文件名为college 2,物理文件名为college.ndf,初始容量为5MB,最大容量为50MB,递增量为5MB。(4)事务日志文件:逻辑文件名为college Log,物理文件名为college .ldf,初始容量为5MB,最大容量为50MB,递增量为5MB。第27页,共116页。二、创建数据表方法:1、图形化创建2、用DDL语句创建28第28页,共116页。数据类型29第29页,共116页。整数类型比较bigint:从-263(-9223372036854775808)到263-1(9223372036854775807)的整型数据,

14、存储大小为 8 个字节。一个字节就是8位,那么bigint就有64位int:从-231(-2,147,483,648)到231-1(2,147,483,647)的整型数据,存储大小为 4 个字节。int类型,最大可以存储32位的数据 smallint:从-215(-32,768)到215-1(32,767)的整数数据,存储大小为 2 个字节。smallint就是有16位 tinyint:从0到255的整数数据,存储大小为 1 字节。tinyint就有8位。30第30页,共116页。字符类型数据1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么

15、不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。 2、VARCHAR。存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。3、TEXT。text存储可变长度的非Unicode数据,最大长度为231-1(2,147,483,647)个字符。31第31页,共116页。任务一:在student数据库中创建数据表student的表结构【任务分析】 数据表包括表结构、约束以及记录等三个要件。这个任务我们主要是完成对数据表student表结构的创建,表结构如下表所示:表 25 stude

16、nt表的结构字段名类型是否允许为空备注snochar(10)不允许学生编码snamechar(10)不允许姓名ssexchar(2)允许性别sbirthdaydatetime允许出生日期sscorenumeric(18, 0)允许入学成绩classnochar(8)不允许班级编码第32页,共116页。任务一:创建数据表student的表结构【任务分析】可以使用两种方法来解决这个问题:利用Management Studio工具,在图形化的界面中创建student表结构。使用CREATE TABLE语句创建表结构。第33页,共116页。方法一:操作界面(操作步骤)展开需要创建表的数据库“stude

17、nt”并右击“表”,在弹出的快捷菜单中选择“新建表”命令。第34页,共116页。方法一:操作界面(操作步骤)在打开的表设计器对话框中,按照任务要求设置表student各列的列名、数据类型、允许空(非空约束) 第35页,共116页。方法一:操作界面(操作步骤)各列创建完成后,单击工具栏中的【保存】按钮,系统自动打开“选择名称”对话框,输入新建的表的名称“student” 第36页,共116页。知识说明数据表的三个要件列名:即字段名,最大长度为128个字符,可以包含汉字、英文字母、数字、下划线及其他符号。同一张表中列名必须唯一。数据类型:即字段的数据类型。见下页。允许空:为复选框,选中表示该列在插

18、入和修改记录时可以不赋值。说明:是对此列的注释第37页,共116页。练习请在student数据库中建下列表第38页,共116页。练习:class的表结构练习:department的表结构字段名类型是否允许为空备注classnochar(8)不允许班级编号classnamechar(16)不允许班级名pnochar(4)不允许专业编号字段名类型是否允许为空备注deptnochar(2)允许系编号deptnamechar(20)允许系名第39页,共116页。练习:teacher的表结构字段名类型是否允许为空备注tnochar(4)不允许编号tnamechar(10)允许姓名tsexchar(2)允

19、许性别tbirthdaydatetime允许出生日期ttitlechar(10)允许职称第40页,共116页。练习:professional的表结构练习:course的表结构字段名类型是否允许为空备注pnochar(4)不允许专业编号pnamechar(30)允许专业名deptnochar(2)允许系编号字段名类型是否允许为空备注cnochar(7)允许课程编号cnamechar(30)允许课程名Creditsreal允许学分第41页,共116页。练习:teaching的表结构练习:choice的表结构字段名类型是否允许为空备注tnochar(4)允许教师编号cnochar(7)允许课程编号字

20、段名类型是否允许为空备注snochar(10)不允许学号cnochar(7)不允许课程编号gradereal允许成绩第42页,共116页。方法二、用DDL语句创建表43第43页,共116页。利用SQL的DDL语句创建数据表例:CREATE TABLE STUDENT (ID VARCHAR (13) NOT NULL , name VARCHAR (20) , tot_cred INT, dept_name VARCHAR (30) NOT NULL , Sbirthday datetime,Primary key (id),Foreign key (dept_name) references

21、 department如果没有department表,则暂时不键立外键)字段名数据类型是否能空设置主码设置外码第44页,共116页。练习:用SQL在college数据库建立下表关系模式如下:Department(dept_name, building, budget)dept_name表示系部名称,类型为VARCHAR (30),非空Building表示所在教学楼名称,类型为VARCHAR (30)Budget表示年度预算,类型为 NUMERIC (10,2)Course(course_id,title,credits,dept_name)Course_id表示课程编号,类型为VARCHAR

22、(10),非空Title表示课程名称,类型为VARCHAR (40)Credits表示学分,类型为intdept_name表示所属系部,类型为VARCHAR (30)45第45页,共116页。三、利用SQL修改表461、修改字段2、修改字段属性3、修改字段是否为空4、修改主键5、修改外键第46页,共116页。-如需在表中添加列ALTER TABLE table_nameADD column_name datatype例:ALTER TABLE classADD x int47第47页,共116页。-如需在表中删除列ALTER TABLE table_nameDROP COLUMN column

23、_name例:ALTER TABLE classDROP COLUMN x48第48页,共116页。-改变表中列的名称方法一:先删除列,再建新列方法二:EXEC sp_rename 表名.原列名, 新列名例:exec sp_rename class.pnoo,pno49第49页,共116页。-修改表的名称EXEC sp_rename 表名, 新表名例:exec sp_rename class,class150第50页,共116页。2、改变表中列的数据类型ALTER TABLE table_nameALTER COLUMN column_name datatype例:Alter table cl

24、assAlter column pno char(5) 51第51页,共116页。3、通过修改表:建立非空/空约束例:Alter table class alter column pno char(4) not null52第52页,共116页。4、通过修改表:建立主键Use collegegoalter table studentadd constraint newpk11primary key(studentid)注意:如果在建表时,已创建主键,请先删除再建。53第53页,共116页。5、通过修改表:建立外键Use collegegoalter table studentadd const

25、raint newfkforeign key(dept_name) references department54第54页,共116页。练习:1、在student数据库中分别给学生表,班级表,系部表,课程表中用图形化界面的方法建立主、外键。2、删除college表中的主、外键,通过修改语句,在college数据库中分别给学生表,系部表,课程表建立主、外键,要求用SQL语句完成,并保存代码。3、将课堂演示中修改过的表的名称,属性等修改回来。55第55页,共116页。鼠标右击“对象资源管理器”窗口的节点【student】的子节点【数据库关系图】,弹出快捷菜单 6、建立数据库关系图显示表间关系第56

26、页,共116页。2.单击【新建数据库关系图】命令,在“Management Studio”中打开一个数据库关系图的标签页,并且激活了“添加表”对话框,在【表】列表框中选择表student和表class 第57页,共116页。单击【添加】按钮,并单击【关闭】按钮,关闭“添加表”对话框。在【关系图】的标签页中显示已添加的表student和class 第58页,共116页。4、单击【保存】按钮,会弹出“选择名称”对话框,输入关系图的名称“学生-班级”或者“student_class”,可以将数据库关系图保存在数据库中。59第59页,共116页。7、在数据表中插入数据方法一:图形化界面插入数据 60第

27、60页,共116页。方法二:利用代码语法:Insert into tablename (first_column,.last_column) values (first_value,.last_value)61第61页,共116页。四、利用SQL实现完整性约束62第62页,共116页。知识说明-数据完整性实体完整性:又称行完整性,要求在表中不能存在完全相同的行,而且每行都要具有一个非空且又不重复的主键值。例如:学生管理系统的student表(sno,sname,ssex,)中,sno为主键,该属性不能为空63第63页,共116页。知识说明-数据完整性参照完整性:又称引用完整性,指表间的规则,作

28、用于有关联的两个或两个以上的表,通过使用主键和外键(或唯一键)之间的关系,使表中的键值在相关表中保持一致。64第64页,共116页。知识说明-数据完整性用户自定义完整性:指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。SQL Server 2012提供非空约束、对属性的check约束、对元组的check约束、触发器等来实现用户的完整性要求。65第65页,共116页。1、非空、主、外键约束(前节已学习)2、unique约束3、check子句4、创建规则66第66页,共116页。2、建立唯一键67第67页,共116页。例:ALTER TABLE student

29、1ADD CONSTRAINT uk_bjmcUNIQUE NONCLUSTERED(id)68第68页,共116页。练习:1、在student数据库中分别向学生表,班级表,系部表,课程表中用图形化界面的方法分别插入5条记录2、在college数据库中分别向学生表,系部表,课程表分别插入3条记录,要求用SQL语句完成,并保存代码。3、建立student、college数据库中各表的数据关系图,并保存.、给student、college数据库中的数据表中添加唯一键约束。69第69页,共116页。3、check约束70第70页,共116页。将数据表的sscore字段设置在306到650的范围之间。

30、【任务分析】 假定该校学生的入学成绩的最高分是650,最低分是306分,即在306到650的范围之间,该任务就要为sscore设置检查约束,如果输入的入学成绩超出这个范围,系统会认为输入的信息有误拒绝接收数据,从而保证了数据的完整性 71第71页,共116页。操作方式创建步骤: 展开“对象资源管理器”窗口中的节点“dbo.student”,右击其子节点“约束”,弹出快捷菜单。选择快捷菜单中的“新建约束”命令,打开“CHECK约束”对话框,单击【添加】按钮,单击“表达式”右侧 按钮,弹出“CHECK 约束表达式”对话框。72第72页,共116页。在其中编辑约束条件“sscore=306 and

31、sscore=306 and sscore、=、=、!、!= 比较结果是布尔值,即:true(表达式结果为真)、false及unknown。数据类型为text、ntext、image的数据不可用比较运算符。105第105页,共116页。使用逻辑运算符 and、or、not三种。BETWEENAND运算符查询指定条件范围的记录 使用BETWEENAND运算符查询时在BETWEEN运算符和AND运算符后面都需要给定一个值。其语法格式如下: 字段1 BETWEEN 值1 AND 值2 106第106页,共116页。 集合运算符in、not in,用来查找某个值是否属于某个集合记录。107第107页,共116页。例:查询总分超过500的学生信息查询总分在500到1000之间的学生信息查询总分在小于500或者大于1000的学生信息查询总分既不小于500也不大于1000的学生信息108第10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论