ImageVerifierCode 换一换
格式:DOC , 页数:73 ,大小:1.86MB ,
资源ID:4515022      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4515022.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(SQL-Server-数据库—创建建表查询语句优质资料.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

SQL-Server-数据库—创建建表查询语句优质资料.doc

1、SQL Server 数据库创建建表查询语句优质资料(可以直接使用,可编辑 优质资料,欢迎下载)SQL Server 2021数据库创建、建表、查询语句一、创建数据库1、利用对象资源管理器创建用户数据库:(1)选择“开始”“程序”Microsoft SQL Server 2021SQL Server Management Studio命令,打开SQL Server Management Studio。(2)使用“Windows身份验证”连接到SQL Server 2021数据库实例。(3)展开SQL Server 实例,右击“数据库”,然后人弹出的快捷菜单中选择“新建数据库存”命令,打开“新建

2、数据库”对话框。(4)在“新建数据库”对话框中,可以定义数据库的名称、数据库的所有者、是否使用全文索引、数据文件和日志文件的逻辑名称和路径、文件组、初始大小和增长方式等。输入数据库名称student。2、利用T-SQL语句创建用户数据库:在SQL Server Management Studio中,单击标准工具栏的“新建查询”按钮,启动SQL编辑器窗口,在光标处输入T-SQL语句,单击“执行”按钮。SQL编辑器就提交用户输入的T-SQL语句,然后发送到服务器执行,并返回执行结果。创建数据库student的T-SQL语句如下:Create data base studentOn primary(

3、name=student_data,filename=E:SQL Server2021 SQLFULL_CHSMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAstudent_data.mdf,size=3,maxsize=unlimited,filegrowth=1)Log on(name=student_log,filename=E:SQL Server2021 SQLFULL_CHSMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAstudent_log.ldf,size=1,maxsize=20

4、,filegrowth=10%)二、创建数据表1、利用表设计器创建数据表:(1)启动SQL Server Management Studio,连接到SQL Server 2021数据库实例。(2)展开SQL Server实例,选择“数据库”student“表”,单击鼠标右键,然后从弹出的快捷菜单中选择“新建表”命令,打开“表设计器”。(3)在“表设计器”中,可以定义各列的名称、数据类型、长度、是否允许为空等属性。(4)当完成新建表的各个列的属性设置后,单击工具栏上的“保存”按钮,弹出“选择名称”对话框,输入新建表名stu_info,SQL Server数据库引擎会依据用户的设置完成新表的创建。

5、2、利用T-SQL语句创建数据表:Create table stu_info(stu_id char(10)not null,name nvarchar(20)not null,birthday date null,sex nchar(2)null,address nvarchar(20)null,mark int null,major nvarchar(20)null,sdept nvarchar(20)null);3、样本数据库student表数据:学生信息表(stu_info):课程信息表(course_info):学生成绩表(stu_grade):三、完整性与约束数据库中的数据是现实世

6、界的反映,数据库的设计必须能够满足现实情况的实现,即满足现实商业规则的要求,这也是数据完整性的要求。在数据库的管理系统中,约束是保证数据库中数据完整性的重要方法。1、 完整性:数据完整性是数据库设计方面一个非常重要的问题,数据完整性代表数据的正确性、一致性和可靠性。实施数据完整性的目的在于确保数据的质量。在SQL Server中,根据数据完整性措施所作用的数据库对象和范围不同,可以将数据完整性分类为实体完整性、域完整性和参照完整性。实体完整性把数据表中的每行看作一个实体,它要求所有的行都具有唯一的标识;域完整性要求数据表中指定列的数据具有正确的数据类型、格式和有效的数据范围;参照完整性维持被参

7、照表和参照表之间的数据一致性。2、 约束:约束是数据库中的数据完整性实现的具体方法。在SQL Server中,包括5种约束类型:primary key约束、foreign key约束、unique约束、check约束和default约束。四、数据查询1、查询语句:查询就是根据客户端的要求,数据库服务器搜寻出用户所需要的信息资料,并按用户规定的格式进行整理后返回给客户端。查询语句select在SQL Server中是使用频率最高的语句,可以说select语句是SQL语言的灵魂。select语句的语法结构:select select_listinto new_tableFrom table_sou

8、rcewhere search_conditiongroup by group_by_expressionhaving search_conditionOrder by order_expressionasc|desc参数说明如下:Select子句:指定由查询结果返回的列。Into子句:将查询结果存储到新表或视图中。From子句:用于指定数据源,即使用的列所在的表或视图。如果对象不止一个,那么它们之间必用逗号分开。Where子句:指定用于限制返回的行的搜索条件。如果select语句没有where子句,dbms假设目标表中的所有行都满足搜索条件。Group by子句:指定用来放置输出行的组,并且

9、如果select子句select_list中包含聚合函数,则计算每组的汇总值。Having子句:指定组或聚合函数的搜索条件。Having通常与groupby子句一起使用。Order by子句:指定结果集的排序方式。ASC关键字表示升序排列结果,DESC关键字表示降序排列结果。如果没有指定任何一个关键字,那么ASC就是默认的关键字。如果没有orderby子句,DBMS将根据输入表中的数据的存放位置来显示数据。在这一系列的子句中,select子句和from子句是必需的,其他的子句根据需要都是可选的。2、简单查询:21、查询列:(1)查询指定列:数据表中有很多列,通常情况下并不需要查看全部的列,因为

10、不同的用户所关注的内容不同。在指定列的查询中,列的显示顺序由select子句指定,与数据在表中的存储顺序无关;同时,在查询多列时,用“,”将各字段隔开。例7-1、查询所有同学学号、姓名和成绩信息。Select stu_id,name,markfrom stu_info查询结果如下:(2)查询所有列:使用“*”通配符,查询结果将列出表中所有列的值,而不必指明各列的列名,这在用户不清楚表中各列的列名时非常有用。服务器会按用户创建表格时声明列的顺序来显示所有的列。例7-2、查询所有同学的所有信息。select*from stu_info查询结果如下:(3)使用运算列:YEAR为系统函数,获取指定日期

11、的年份;GEDDATE()为系统函数,获取当前日期和时间。例7-3、查询所有同学的年龄信息。Select stu_id,name,YEAR(getdate()-YEAR(birthday)from stu_info查询结果如下:(4)改变列标题显示:通常在查询结果显示的列标题就是创建表时所使用的列名,但是,这在实际使用中往往会带来一些不便,因此,可以利用 列标题=列名或 as 列标题 来根据需要修改列标题的显示。例7-4、查询所有同学的年龄信息。Select name as姓名,YEAR(getdate()-YEAR(birthday)as年龄from stu_info查询结果如下:(5)除去

12、结果的重复信息:使用 distinct 关键字能够从返回的结果数据集合中删除重复的行,使返回的结果更简洁。例7-5、查询所有的院系信息。Select distinct sdeptfrom stu_info查询结果如下:(6)返回查询的部分数据:在SQL Server 2021中,提供了 top 关键字让用户指定返回一定数量的数据。Top n 表示返回最前面的n 行,n 表示返回的行数;top n percent 表示返回前面的n%行。例7-6、查询前5位同学的学号、姓名和成绩信息。Select top 5 stu_id,name,markfrom stu_info查询结果如下:例7-7、查询6

13、0%同学的学号、姓名和成绩信息。Select top 60 percent stu_id,name,markfrom stu_info查询结果如下:22、选择行:Where 子句用于指定查询条件,使得select 语句的结果表中只包含那些满足查询条件的记录。在使用时,where 子句必须紧跟在 from 子句后面。Where 子句中的条件表达式包括算术表达式和逻辑表达式两种,SQL Server对Where 子句中的查询条件的数目没有限制。(1)使用比较表达式:例7-8、查询所有的男同学学号、姓名、生日和性别信息。Select stu_id,name,birthday,sexfrom stu_

14、infowhere sex=男查询结果如下:例7-9、查询所有的总分大于550分的同学学号、姓名、生日和性别信息。Select stu_id,name,birthday,sexfrom stu_infowhere mark550查询结果如下:(2)使用逻辑比较表达式:例7-10、查询所有总分大于550的男同学信息。Select stu_id,name,birthday,sexfrom stu_infowhere mark550 and sex=男查询结果如下:例7-11、查询所有总分大于550分或男同学信息。Select stu_id,name,birthday,sexFrom stu_inf

15、oWhere mark550 or sex=男查询结果如下:为了增强程序可读性,一般采用括号()来实现需要的执行顺序,而不考虑其默认的优先级顺序。例7-12、查询所有信息学院和会计学院并且总分大于550分的同学信息。select*from stu_infowhere (sdept=信息学院or sdept=会计学院)and mark550查询结果如下:(3)空值(null)的判断:如果在创建数据表时没有指定 not null 约束,那么数据表中某些列的值就可以为null。所谓null就是空,在数据库中,其长度为0。例7-13、查询所有籍贯为空的同学信息。select*from stu_info

16、where address is null查询结果如下:(4)限定数据范围:使用between限制查询数据范围时同时包括了边界值,效果完全可以用含有“=”和“”和“=80Group by stu_id查询结果如下:(3)分组筛选:如果使用group by子句分组,则还可用having子句对分组后的结果进行过滤筛选。Having子句通常与group by子句一起使用,用于指定组或合计的搜索条件,其作用与where子句相似,二者的区别如下:作用对象不同:where 子句作用于表和视图中的行,而having子句作用于形成的组。Where子句限制查找的行,having子句限制查找的组。执行顺序不同。若

17、查询句中同时有where子句和having子句,执行时,先去掉不满足where条件的行,然后分组,分组后再去掉不满足having条件的组。Where子句中不能直接使用聚合函数,但having子句的条件中可以包含聚合函数。例7-27、统计学生成绩表中每个同学的最高分、最低分、平均分和总分,并输出平均分大于87分的信息。Select stu_id,MAX(grade),MIN(grade),AVG(grade),SUM(grade)From stu_gradeGroup by stu_idHaving AVG(grade)87查询结果如下:(4)明细汇总:使用group by子句对查询数据进行分组

18、汇总,为每一组产生一个汇总结果,每个组只返回一行,无法看到详细信息。使用compute和compute by子句既能够看到统计经营部的结果又能够浏览详细数据。例7-28、使用compute子句对所有学生的人数进行明细汇总。select*from stu_infocompute count(stu_id)查询结果如下:在使用compute 和compute by时,需要注意以下几点:Computeby子句不能与select into子句一起使用。Compute 子句中的列必须在select子句的字段列表中出现。Compute by表示按指定的列进行明细汇总,使用by关键字时必须同时使用order

19、 by子句,并且compute by中出现的列必须具有与order by后出现的列相同的顺序,且不能跳过其中的列。例7-29、使用compute by子句按照院系对所有学生的人数进行明细汇总。select*from stu_infoorder by sdeptcompute count(stu_id)by sdept查询结果如下:3、 连接查询:前面介绍的查询都是针对单一的表,而在数据通库管理系统中,考虑到数据的冗余度低、数据一致性等问题,通常对数据表的设计要满足范式的要求,因此也会造成一个实体的所有信息保存在多个表中。当检索数据时,往往在一个表中不能够得到想要的信息,通过连接操作,可以查询出

20、存放在多个表中同一实体的不同信息,给用户带来很大的灵活性。多表连接实际上就是实现如何使用一个表中的数据来选择另一个表中的行。而连接条件则主要通过以下方法定义两个表在查询中的关联方式:指定每个表中要用于连接的列。典型的连接条件在一个表中的指定外键,在另一个表中指定与其关联的键。指定比较各列的值时要使用的比较运算符(=、等)。表的连接的实现可以通过两种方法:利用select语句的where子句;在from子句中使用join(inner join,cross join ,outer join,left outer join,full outer join等)关键字。例7-30、查询所有选修课程编号7

21、01的同学学号、姓名和成绩。Select stu_info.stu_id,name,markFrom stu_info,stu_gradeWhere stu_info.stu_id=stu_grade.stu_id and course_id=701查询结果如下:例7-31、查询所有选修课程的同学选修课程的成绩。Select stu_info.stu_id,name,course_name,gradeFrom stu_info,stu_grade,course_infoWhere stu_info.stu_id=stu_grade.stu_id andcourse_info.course_id

22、=stu_grade.course_id查询结果如下:有时表名比较烦琐,使用起来很麻烦,为了程序的简洁明了,在SQL中,也可以通过AS关键字为表定义别名。例7-32、查询所有同学所有课程的成绩。Select A.stu_id,name,course_name,markFrom stu_info as A,stu_grade as B,course_info as CWhere A.stu_id=B.stu_id and B.course_id=C.course_id查询结果如下:在select 语句的from子句中,通过指定不同类型的join关键字可以实现不同的表的连接方式,而在on关键字后指

23、定连接条件。例7-33、查询所有选修课程的同学学号、姓名和成绩。Select stu_info.stu_id,name,markFrom stu_info inner join stu_gradeOn stu_info.stu_id=stu_grade.stu_id查询结果如下:例7-34、从stu_info表中查询入学分数比学号为2007070101同学高的所有同学信息。Select R1.stu_id,R1.name,R1.markFrom stu_info as R1 inner join stu_info as R2On R2.stu_id=2007070101 and R1.mark

24、R2.mark查询结果如下:例7-35、查询所有同学的选修课程信息。Select stu_info.stu_id,name,markFrom stu_info left outer join stu_gradeOn stu_info.stu_id=stu_grade.stu_id查询结果如下:例7-36、查询所有同学的选修课程信息。Select stu_info.stu_id,name,markFrom stu_grade right outer join stu_infoOn stu_info.stu_id=stu_grade.stu_id查询结果如下:4、 嵌套查询:所谓嵌套查询指的是在一

25、个select 查询语句中包含另一个(或多个)select查询语句。其中,外层的select查询语句叫外部查询,内层的select 查询语句叫子查询。嵌套查询的执行过程:首先执行子查询语句,得到的子查询结果集传递给外层主查询语句,作为外层主查询的查询项或查询条件使用。子查询也可以再嵌套子查询。4、1单列单值嵌套查询:例7-37、查询选修“计算机基础”的学生成绩信息。select*from stu_gradewhere course_id=(select course_idFrom course_infoWhere course_name=计算机基础)查询结果如下:例7-38、查询比“20070

26、70101”同学年龄大的同学信息。select*from stu_infowhere birthday(select birthdayFrom stu_infoWhere stu_id=2007070101)查询结果如下4、2单列多值嵌套查询:例7-39、查询所有会计学院的同学成绩信息。select*from stu_gradewhere stu_id in(select stu_idFrom stu_infoWhere sdept=会计学院)查询结果如下例7-40、查询其他系中比会计学院某一学生分数少的学生学号和姓名。Select stu_id,nameFrom stu_infoWhere

27、markany(select markFrom stu_infoWhere sdept=会计学院)And sdept会计学院查询结果如下例7-41、查询选修“计算机基础”的学生成绩信息。select*from stu_gradewhere exists(select*From course_infoWhere stu_grade.course_id=course_id and course_name=计算机基础)查询结果如下例7-42、查询没有选修“计算机基础”的学生成绩信息。select*from stu_gradewhere not exists(select*From course_in

28、foWhere stu_grade.course_id=course_id and course_name=计算机基础)查询结果如下5、 集合查询:如果有多个不同的查询结果数据集,但又希望将它们按照一定的关系连接在一起,组成一组数据,这就可以使用集合运算来实现。在SQL Server 2021中,T-SQL提供的集合运算符有union,except和intersect。例7-43、查询stu_info表中信息学院或入学分数大于550分的学生信息。Select stu_id,name,mark,sdeptFrom stu_infoWhere sdept=信息学院unionselect stu_i

29、d,name,mark,sdeptfrom stu_infowhere mark550查询结果如下例7-44、查询stu_info表中信息学院而且入学分数大于550分的学生信息。Select stu_id,name,mark,sdeptFrom stu_infoWhere sdept=信息学院exceptselect stu_id,name,mark,sdeptfrom stu_infowhere mark550查询结果如下6、 本章小结:本章介绍了select语句的相关知识,其内容主要包括select语句的组成和select语句的各种查询方法。Select语句是SQL语言中功能最为强大、应用

30、最为广泛的语句之一,用于查询数据库中符合条件的记录。利用select语句既可进行简单的数据查询,又可进行涉及多表的连接查询、嵌套查询和集合查询。通过本章学习,应该熟练掌握以下内容:1)select语句的基本语法结构;2) select语句的简单查询;3)select语句的嵌套查询;4)select语句的集合查询。图书系统表结构(注意:表结构以数据库为准)一、数据表如下:系统基础表:1. C_Employee(员工信息表)编号字段中文说明类型备注 是否为空是否主键1EmployeeID员工IDint是2EName员工姓名varchar(20)3SexCode性别varchar(2)4Age年龄i

31、nt是5StartDate上岗日期datetime6DeptCode工作部门varchar(2)是7DutyCode职务varchar(2)是8Phone工作 varchar(16)是9MobilePhone移动 varchar(11)是10varchar是否在岗varchar(2)是11Photo照片image是12AddDate添加日期datetime13TransFlag传输标记int14DelFlag删除标记int15Remark备注varchar(50)是2. P_RetailParameter(零售参数表)编号字段中文说明类型备注 是否为空是否主键1IsPrintBill是否打印小

32、票varchar(2)是2BillTitle小票标题varchar(200)3IsUseReader是否使用读码器varchar(2)4AllowChangeRebate允许修改折扣varchar(2)5PrintTypesCode打印机类型varchar(2)6Welcome欢迎词varchar(50)7IsPrintNumber打印单号varchar(2)8IsPrintDate打印日期varchar(2)9IsPrintCollector打印收费员varchar(2)10Hint说明varchar(100)11Phone联系 varchar(16)3. Common_Code(编码表)(

33、一些下拉框的配置信息)编号字段中文说明类型备注 是否为空是否主键1CodeID类型int是2Code编码varchar(2)是3CodeName名称varchar(30)4CodeDesc类型说明varchar(60)5IsValid是否启用varchar(3)6Remark备注varchar(200)7AddDate添加日期datetime4. P_DefaultValue(默认值表)编号字段中文说明类型备注 是否为空是否主键1TableID表IDint2TableName表名称varchar(30)3FieldName字段名varchar(30)4DefaultValue默认值varcha

34、r(100)5. Common_DCode(行政编码)编号字段中文说明类型备注 是否为空是否主键1DCode行政编码varchar(9)是2DName行政名称varchar(40)3ProvName省名varchar(10)4CityName地区名varchar(10)5CountyName县名varchar(10)6ProvCode省编码varchar(2)7CityCode地区编码varchar(2)8CountyCode县编码varchar(2)9Remark备注varchar(30)10AddDate记录增加日期datetime6. P_SystemParameter(系统参数表)编号字段中文说明类型备注 是否为空是否主键1PID参数IDint是2PName参数名称varchar(30)3ValueType参数值类型varchar(2)4PValue参数值varchar(60)5PStatusCode参数状态varchar

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服