ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:22.87KB ,
资源ID:13992130      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13992130.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQL Server 数据库创建建表查询语句.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

SQL Server 数据库创建建表查询语句.docx

1、SQL Server 数据库创建建表查询语句SQL Server 2008数据库创立、建表、查询语句之欧侯瑞魂创作创作时间:二零二一年六月三十日一、创立数据库1、利用对象资源管理器创立用户数据库:(1)选择“开始”“法式”Microsoft SQL Server 2008SQL Server Management Studio命令, 翻开SQL Server Management Studio.(2)使用“Windows身份验证”连接到SQL Server 2008数据库实例.(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

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

4、xsize=20,filegrowth=10%)二、创立数据表1、利用表设计器创立数据表:(1)启动SQL Server Management Studio, 连接到SQL Server 2008数据库实例.(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_list

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

9、足搜索条件.Group by子句:指定用来放置输出行的组, 而且如果select子句select_list中包括聚合函数, 则计算每组的汇总值.Having子句:指定组或聚合函数的搜索条件.Having通常与groupby子句一起使用.Order by子句:指定结果集的排序方式.ASC关键字暗示升序排列结果, DESC关键字暗示降序排列结果.如果没有指定任何一个关键字, 那么ASC就是默认的关键字.如果没有orderby子句, DBMS将根据输入表中的数据的寄存位置来显示数据.在这一系列的子句中, select子句和from子句是必需的, 其他的子句根据需要都是可选的.2、简单查询:21、查询

10、列:(1)查询指定列:数据表中有很多列, 通常情况下其实不需要检查全部的列, 因为分歧的用户所关注的内容分歧.在指定列的查询中, 列的显示顺序由select子句指定, 与数据在表中的存储顺序无关;同时, 在查询多列时, 用“,”将各字段隔开.例7-1、查询所有同学学号、姓名和成果信息.Select stu_id,name,markfrom stu_info查询结果如下:(2)查询所有列:使用“*”通配符, 查询结果将列出表中所有列的值, 而不用指明各列的列名, 这在用户不清楚表中各列的列名时非常有用.服务器会按用户创立表格时声明列的顺序来显示所有的列.例7-2、查询所有同学的所有信息.sele

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

12、(getdate()-YEAR(birthday)as年龄from stu_info查询结果如下:(5)除去结果的重复信息:使用 distinct 关键字能够从返回的结果数据集合中删除重复的行, 使返回的结果更简洁.例7-5、查询所有的院系信息.Select distinct sdeptfrom stu_info查询结果如下:(6)返回查询的部份数据:在SQL Server 2008中, 提供了 top 关键字让用户指定返回一定命量的数据.Top n 暗示返回最前面的n 行, n 暗示返回的行数;top n percent 暗示返回前面的n%行.例7-6、查询前5位同学的学号、姓名和成果信息.

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

14、所有的男同学学号、姓名、生日和性别信息.Select stu_id,name,birthday,sexfrom stu_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、

15、查询所有总分年夜于550分或男同学信息.Select stu_id,name,birthday,sexFrom stu_infoWhere mark550 or sex=男查询结果如下:为了增强法式可读性, 一般采纳括号()来实现需要的执行顺序, 而不考虑其默认的优先级顺序.例7-12、查询所有信息学院和会计学院而且总分年夜于550分的同学信息.select*from stu_infowhere (sdept=信息学院or sdept=会计学院)and mark550查询结果如下:(3)空值(null)的判断:如果在创立数据表时没有指定 not null 约束, 那么数据表中某些列的值就可以为

16、null.所谓null就是空, 在数据库中, 其长度为0.例7-13、查询所有籍贯为空的同学信息.select*from stu_infowhere address is null查询结果如下:(4)限定命据范围:使用between限制查询数据范围时同时包括了鸿沟值, 效果完全可以用含有“=”和“”和“=80Group by stu_id查询结果如下:(3)分组筛选:如果使用group by子句分组, 则还可用having子句对分组后的结果进行过滤筛选.Having子句通常与group by子句一起使用, 用于指定组或合计的搜索条件, 其作用与where子句相似, 二者的区别如下:作用对象分歧

17、:where 子句作用于表和视图中的行, 而having子句作用于形成的组.Where子句限制查找的行, having子句限制查找的组.执行顺序分歧.若查询句中同时有where子句和having子句,执行时, 先去失落不满足where条件的行, 然后分组, 分组后再去失落不满足having条件的组.Where子句中不能直接使用聚合函数, 但having子句的条件中可以包括聚合函数.例7-27、统计学生成果表中每个同学的最高分、最低分、平均分和总分, 并输出平均分年夜于87分的信息.Select stu_id,MAX(grade),MIN(grade),AVG(grade),SUM(grade)

18、From stu_gradeGroup by stu_idHaving AVG(grade)87查询结果如下:(4)明细汇总:使用group by子句对查询数据进行分组汇总, 为每一组发生一个汇总结果, 每个组只返回一行, 无法看到详细信息.使用compute和compute by子句既能够看到统计经营部的结果又能够浏览详细数据.例7-28、使用compute子句对所有学生的人数进行明细汇总.select*from stu_infocompute count(stu_id)查询结果如下:在使用compute 和compute by时, 需要注意以下几点:Computeby子句不能与select

19、 into子句一起使用.Compute 子句中的列必需在select子句的字段列表中呈现.Compute by暗示按指定的列进行明细汇总, 使用by关键字时必需同时使用order by子句, 而且compute by中呈现的列必需具有与order by后呈现的列相同的顺序, 且不能跳过其中的列.例7-29、使用compute by子句依照院系对所有学生的人数进行明细汇总.select*from stu_infoorder by sdeptcompute count(stu_id)by sdept查询结果如下:3、连接查询:前面介绍的查询都是针对单一的表, 而在数据通库管理系统中, 考虑到数据的

20、冗余度低、数据一致性等问题, 通常对数据表的设计要满足范式的要求, 因此也会造成一个实体的所有信息保管在多个表中.当检索数据时, 往往在一个表中不能够获得想要的信息, 通过连接把持, 可以查询出寄存在多个表中同一实体的分歧信息, 给用户带来很年夜的灵活性.多表连接实际上就是实现如何使用一个表中的数据来选择另一个表中的行.而连接条件则主要通过以下方法界说两个表在查询中的关联方式:指定每个表中要用于连接的列.典范的连接条件在一个表中的指定外键, 在另一个表中指定与其关联的键.指定比力各列的值时要使用的比力运算符(=、等).表的连接的实现可以通过两种方法:利用select语句的where子句;在fr

21、om子句中使用join(inner join,cross join ,outer join,left outer join,full outer join等)关键字.例7-30、查询所有选修课程编号701的同学学号、姓名和成果.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,gra

22、deFrom stu_info,stu_grade,course_infoWhere stu_info.stu_id=stu_grade.stu_id and查询结果如下:有时表名比力烦琐, 使用起来很麻烦, 为了法式的简洁明了, 在SQL中, 也可以通过AS关键字为表界说别名.例7-32、查询所有同学所有课程的成果.Select A.stu_id,name,course_name,markFrom stu_info as A,stu_grade as B,course_info as C查询结果如下:在select 语句的from子句中, 通过指定分歧类型的join关键字可以实现分歧的表的连接方式, 而在on关键字后指定连接条件.例7-33、查询所有选修课程的同学学号、姓名和成果.

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2