当前位置:文档之家› SQLServer数据库创建建表查询语句

SQLServer数据库创建建表查询语句

SQLServer数据库创建建表查询语句
SQLServer数据库创建建表查询语句

SQL Server 2008数据库—创建、建表、查询语句

一、创建数据库

1、利用对象资源管理器创建用户数据库:

(1)选择“开始”—“程序”—Microsoft SQL Server 2008—SQL Server Management Studio命令,打开SQL Server Management Studio。

(2)使用“Windows身份验证”连接到SQL Server 2008数据库实例。

(3)展开SQL Server 实例,右击“数据库”,然后人弹出的快捷菜单中选择“新建数据库存”命令,打开“新建数据库”对话框。

(4)在“新建数据库”对话框中,可以定义数据库的名称、数据库的所有者、是否使用全文索引、数据文件和日志文件的逻辑名称和路径、文件组、初始大小和增长方式等。输入数据库名称student。

2、利用T-SQL语句创建用户数据库:

在SQL Server Management Studio中,单击标准工具栏的“新建查询”按钮,启动SQL编辑器窗口,在光标处输入T-SQL语句,单击“执行”按钮。SQL编辑器就

提交用户输入的T-SQL语句,然后发送到服务器执行,并返回执行结果。

创建数据库student的T-SQL语句如下:

Create data base student

On primary

(

name=student_data,

filename='E:\SQL Server2008

SQLFULL_CHS\Microsoft SQL

Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\ student_data.mdf',

size=3,

maxsize=unlimited,

filegrowth=1

)

Log on

(name=student_log,

filename='E:\SQL Server2008

SQLFULL_CHS\Microsoft SQL

Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\ student_log.ldf',

size=1,

maxsize=20,

filegrowth=10%

)

二、创建数据表

1、利用表设计器创建数据表:

(1)启动SQL Server Management Studio,连接到SQL Server 2008数据库实例。

(2)展开SQL Server实例,选择“数据库”—student—“表”,单击鼠标右键,然后从弹出的快捷菜单中选择“新建表”命令,打开“表设计器”。

(3)在“表设计器”中,可以定义各列的名称、数据类型、长度、是否允许为空等属性。

(4)当完成新建表的各个列的属性设置后,单击工具栏上的“保存”按钮,弹出“选择名称”对话框,输入新建表名stu_info,SQL Server数据库引擎会依据用户的设置完成新表的创建。

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):

三、完整性与约束

数据库中的数据是现实世界的反映,数据库的设计必须能够满足现实情况的实现,即满足现实商业规则的要求,这也是数据完整性的要求。

在数据库的管理系统中,约束是保证数据库中数据完整性的重要方法。

1、完整性:

数据完整性是数据库设计方面一个非常重要的问题,数据完整性代表数据的正确性、一致性和可靠性。实

施数据完整性的目的在于确保数据的质量。

在SQL Server中,根据数据完整性措施所作用的数据库对象和范围不同,可以将数据完整性分类为实体完整性、域完整性和参照完整性。

实体完整性把数据表中的每行看作一个实体,它要求所有的行都具有唯一的标识;域完整性要求数据表中指定列的数据具有正确的数据类型、格式和有效的数据范围;参照完整性维持被参照表和参照表之间的数据一致性。

2、约束:

约束是数据库中的数据完整性实现的具体方法。在SQL Server中,包括5种约束类型:primary key约束、foreign key约束、unique约束、check约束和default 约束。

四、数据查询

1、查询语句:

查询就是根据客户端的要求,数据库服务器搜寻出用户所需要的信息资料,并按用户规定的格式进行整理后返回给客户端。查询语句select在SQL Server中是

使用频率最高的语句,可以说select语句是SQL语言的灵魂。

select语句的语法结构:

select select_list

[into new_table]

From table_source

[where search_condition]

[group by group_by_expression]

[having search_condition]

Order by order_expression[asc|desc]]

参数说明如下:

Select子句:指定由查询结果返回的列。

Into子句:将查询结果存储到新表或视图中。From子句:用于指定数据源,即使用的列所在的表或视图。如果对象不止一个,那么它们之间必用逗号分开。

Where子句:指定用于限制返回的行的搜索条件。如果select语句没有where子句,dbms假设目标表中的所有行都满足搜索条件。

Group by子句:指定用来放置输出行的组,并且如果select子句select_list中包含聚合函数,则计算每组的汇总值。

Having子句:指定组或聚合函数的搜索条件。Having通常与groupby子句一起使用。

Order by子句:指定结果集的排序方式。ASC关键字表示升序排列结果,DESC关键字表示降序排列结果。如果没有指定任何一个关键字,那么ASC就是默认的关键字。如果没有orderby子句,DBMS将根据输入表中的数据的存放位置来显示数据。

在这一系列的子句中,select子句和from子句是必需的,其他的子句根据需要都是可选的。

2、简单查询:

2.1、查询列:

(1)查询指定列:

数据表中有很多列,通常情况下并不需要查看全部的列,因为不同的用户所关注的内容不同。

在指定列的查询中,列的显示顺序由select子句指定,与数据在表中的存储顺序无关;同时,在查询多列时,用“,”将各字段隔开。

例7-1、查询所有同学学号、姓名和成绩信息。Select stu_id,name,mark

from stu_info

查询结果如下:

(2)查询所有列:

使用“*”通配符,查询结果将列出表中所有列的值,而不必指明各列的列名,这在用户不清楚表中各列的列名时非常有用。服务器会按用户创建表格时声明列的顺序来显示所有的列。

例7-2、查询所有同学的所有信息。

select*

from stu_info

查询结果如下:

(3)使用运算列:

YEAR为系统函数,获取指定日期的年份;GEDDATE()为系统函数,获取当前日期和时间。

例7-3、查询所有同学的年龄信息。

Select

stu_id,name,YEAR(getdate())-YEAR(birth day)

from stu_info

查询结果如下:

(4)改变列标题显示:

通常在查询结果显示的列标题就是创建表时所使用的列名,但是,这在实际使用中往往会带来一些不便,因此,可以利用’列标题’=列名或as ‘列标题’ 来根据需要修改列标题的显示。

例7-4、查询所有同学的年龄信息。

Select name as'姓名

',YEAR(getdate())-YEAR(birthday)as'年龄'

from stu_info

查询结果如下:

(5)除去结果的重复信息:

使用distinct 关键字能够从返回的结果数据集合中删除重复的行,使返回的结果更简洁。

例7-5、查询所有的院系信息。

Select distinct sdept

from stu_info

查询结果如下:

(6)返回查询的部分数据:

在SQL Server 2008中,提供了top 关键字让用户指定

返回一定数量的数据。

Top n 表示返回最前面的n 行,n 表示返回的行数;top n percent 表示返回前面的n%行。

例7-6、查询前5位同学的学号、姓名和成绩信息。Select top 5 stu_id,name,mark

from stu_info

查询结果如下:

例7-7、查询60%同学的学号、姓名和成绩信息。Select top 60 percent stu_id,name,mark from stu_info

查询结果如下:

2.2、选择行:

Where 子句用于指定查询条件,使得select 语句的结果表中只包含那些满足查询条件的记录。

在使用时,where 子句必须紧跟在from 子句后面。Where 子句中的条件表达式包括算术表达式和逻辑表达式两种,SQL Server对Where 子句中的查询条件的数目没有限制。

(1)使用比较表达式:

例7-8、查询所有的男同学学号、姓名、生日和性别信息。

Select stu_id,name,birthday,sex

from stu_info

where sex='男'

查询结果如下:

例7-9、查询所有的总分大于550分的同学学号、姓名、生日和性别信息。

Select stu_id,name,birthday,sex

from stu_info

where mark>550

查询结果如下:

(2)使用逻辑比较表达式:

例7-10、查询所有总分大于550的男同学信息。Select stu_id,name,birthday,sex

from stu_info

where mark>550 and sex='男'

查询结果如下:

例7-11、查询所有总分大于550分或男同学信息。Select stu_id,name,birthday,sex

From stu_info

Where mark>550 or sex='男'

查询结果如下:

为了增强程序可读性,一般采用括号()来实现需要的执行顺序,而不考虑其默认的优先级顺序。

例7-12、查询所有信息学院和会计学院并且总分大于550分的同学信息。

select*

from stu_info

where (sdept='信息学院'or sdept='会计学院')and mark>550

查询结果如下:

(3)空值(null)的判断:

如果在创建数据表时没有指定not null 约束,那么数据表中某些列的值就可以为null。所谓null就是空,在数据库中,其长度为0。

例7-13、查询所有籍贯为空的同学信息。

select*

from stu_info

where address is null

查询结果如下:

(4)限定数据范围:

使用between限制查询数据范围时同时包括了边界值,效果完全可以用含有“>=”和“<=”的逻辑表达式来代替;而使用not between进行查询时没有包括边界值,效果完全可以用含有“>”和“<”的逻辑表达式来代替。

例7-14、查询总分在530—560之间的同学信息。select*

from stu_info

where mark between 530 and 560

查询结果如下:

(5)限制检索数据的范围:

对于列值不在一个连续的取值区间,而是一些离散的值,利用between关键字就无能为力了,可以利用SQL Server提供的另一个关键字IN。

在大多数情况下,OR 运算符与IN 运算符可以实现相同的功能。

例7-15、查询所有在信息学院或会计学院就读的同学信息。

select*

from stu_info

where sdept in('信息学院','会计学院')

查询结果如下:

(6)模糊查询:

在实际的应用中,用户不会总是能够精确的给出查询条件。因此,经常需要根据一些并不确切的线索来搜索信息。SQL Server提供了like子句来进行这类模糊搜索。

Like子句在大多数情况下会与通配符配合使用。

所有通配符只有在like子句中才有意义,否则通配符会被当作普遍字符处理。

各通配符也可以组合使用,实现复杂的模糊查询。(通配符“%”表示任意字符的匹配;通配符“_ ”只能匹配任何单个字符;通配符“[]”用于指定范围(如[a-z])或集合(如[abcdef])中的任何单个字符;通配符“[^]”用于匹配没有在方括号中列出的字符。)在使用like进行模糊查询时,当“%”、“_”和“[]”符号单独出现时,都会被作为通配符进行处理。但是有时可能需要搜索的字符串包含量一个或多个特殊通配符,例如,数据表中可能存储含百分号(%)的折扣值。若要搜索作为字符而不是通配符的百分号,必须提供escape关键字和转义符,例如,“like ‘%B%’ escape ‘B’ ”就是使用了escape关键字定义了转义字符B,将字符串“%B%”中的第二个百分号(%)作为实际值,而不是通配符。

例7-16、查询所有姓“张”的同学信息。

select*

from stu_info

where name like '张%'

查询结果如下:

例7-17、查询所有姓“张”,而且姓名是两个字的同学信息。

select*

from stu_info

where name like '张_'

查询结果如下:

例7-18、查询所有姓“张”或姓“王”的同学信息。select*

from stu_info

where name like '[张王]%'

查询结果如下:

例7-19、查询所有不姓“张”也不姓“王”的同学信息。

select*

from stu_info

where name like '[^张王]%'

查询结果如下:

2.3、排序查询结果:

在SQL语句中,order by 子句用于排序。Order by子句总是在where子句(如果有的话)后面说明的,可以包含一个或多个列,每个列之间以逗号分隔。可以选择使用asc|desc关键字指定按照升序|降序排序。如果没有特别说明,值是以升序列进行排序的,即默认情况下使用的是asc关键字。

例7-20、查询所有同学课程编号701的课程成绩,并按由大到小的顺序输出。

简单数据库查询语句

数据查询语言(SELECT语句) 数据操纵语言(INSERT, UPDATE, DELETE语句) 数据定义语言(如CREATE, DROP等语句) 数据控制语言(如COMMIT, ROLLBACK等语句 超详细的SQL语句语法2008-07-11 14:25简单的Transact-SQL查询只包括选择列表、FROM 子句和WHERE子句 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_list)指出所查询列 它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行, 默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行, 而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: SELECT TOP 2 *FROM testtable SELECT TOP 20 PERCENT * FROM testtable 9、说明:in 的使用方法 select * from table1 where a [not] in (‘值1’,’值2’,’值4’,

SQLserver数据库课程设计范例

1 概述 1.1课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 2.1功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义

数据库SQL查询语句大全修订稿

数据库S Q L查询语句 大全 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

经典SQL查询语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definitio n only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type

注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A:UNION 运算符

SQL查询语句大全集锦(超经典)

SQL查询语句大全集锦 MYSQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 复制内容到剪贴板 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 复制内容到剪贴板 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: 复制内容到剪贴板 代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题:

复制内容到剪贴板 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: 复制内容到剪贴板 代码:SELECT TOP 2 * FROM `testtable` 复制内容到剪贴板 代码:SELECT TOP 20 PERCENT * FROM `testtable` (二) FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, 它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: 复制内容到剪贴板 代码:SELECT `username`,citytable.cityid FROM `usertable`,`citytable` WHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名: 复制内容到剪贴板 代码:表名 as 别名 表名别名例如上面语句可用表的别名格式表示为: 复制内容到剪贴板

数据库SQL查询语句大全

经典SQL查询语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1. dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tab name(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!

SQL数据库查询语句范例

推荐一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和Where子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。Select nickname,email FROM testtable Where n ame=’张三’ (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列例如,下面语句显示testtable表中所有列的数据:Select * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如:Select nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: Select 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 Select语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINC T选项时,对于所有重复的数据行在Select返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: Select TOP 2 *FROM testtable Select TOP 20 PERCENT * FROM testtable (二) FROM子句 FROM子句指定Select语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和cityta ble表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: Select username,citytable.cityid FROM usertable,citytable Where usertable.cityid=citytable.cityid 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名表名别名

SQL语句之简单查询

实验2 SQL语句之简单查询 一、实验目的 1.掌握SELECT语句的基本方法。 2.掌握从表中查询特定行的方法。 3.掌握从表中选择表中若干列和全部列的方法。 4.掌握从表中查询经过计算的值以及为列指定别名的方法。 5.掌握取消重复行和查找满足条件元组的方法。 6.掌握(NOT) BETWEEN AND,LIKE,IN,NULL,通配符的使用方法。 7.掌握ODER BY、GROUP BY的使用方法。 8.掌握聚集函数的使用方法。 二、实验要求 1.应用SELECT语句对数据库中数据进行指定条件的简单查询。 2.撰写实验报告,并附实验结果界面及相应实验语句。 三、实验步骤 1.查询StudentInfo表中所有的学生的详细信息,SQL代码如下所示: SELECT * FROM StudentInfo 2.查询StudentInfo表中所有学生的学号、姓名、系别、专业等信息,SQL代码如下所示: SELECT sno,sname,depart,major FROM StudentInfo 3.查询全体学生的学号、姓名及年龄信息,SQL代码如下所示: SELECT Sno,Sname,Year(GETDATE())-Year(Birthday) FROM StudentInfo 注:YEAR(日期)函数的作用是返回日期的年份,GETDATE()函数的作用是返回系统日期和时间。 4.查询全体学生的学号、姓名及年龄信息,并且为年龄列定义别名为“Age”。SQL 代码如下所示: SELECT Sno,Sname,Year(GETDATE())-Year(Birthday) Age FROM StudentInfo 5.查询有学生选修的教学计划的教学计划号。SQL代码如下所示: SELECT TeachTaskID FROM SC 6.查询有学生选修的教学计划的教学计划号,并去掉重复行。SQL代码如下所示:SELECT DISTINCT TeachTaskID FROM SC 注意观察以上两条语句执行结果的差别。

Sqlserver2005数据库练习题(1)

Sqlserver2005数据库练习题 第1章数据库技术基础 1.简述数据库、数据库管理系统、数据库系统的含义? 2.简述数据库、数据库管理系统、数据库系统之间的联系? 3.简单描述层次模型、网状模型、关系模型的含义? 4.简述一个学生都包含哪些属性? 5.对于一个学生表来说学生姓名是否可以作为主键,为什么? 6.描述你所在的班级都有哪些实体? 第2章安装Sql Server 2005与服务器管理 1.安装sqlserver 2005需要计算机的最低配置是什么? 2.x86操作系统是什么概念? 3.x64操作系统是什么概念? 4.安装数据库时应该选择什么样的操作系统? 5.开始安装时需要有哪些准备工作? 6.开始安装界面中的其他信息是什么意思? 7.用户许可协议必须为接受么? 8.用户许可协议是否可以打印? 9.系统配置界面中需要检查哪些项? 10.详细信息中哪些项要求必须安装成功才能进行下一步的操作? https://www.doczj.com/doc/c34235667.html,+目录指的是什么? 12.iis功能要求指的是什么? 13.mdac版本的最低要求是什么? 14.实例名中的默认实例是什么含义? 15.实例名中的命名实例是什么含义? 16.服务器名指的是什么? 17.服务帐户中使用内置系统帐户是什么含义? 18.服务帐户中使用域帐户是什么含义? 19.安装结束时启动服务包括什么? 20.sqlserver2005提供的服务有哪些? 21.安装结束后,哪些服务要求必须启动? 22.ms sqlserver是什么服务? 23.sql server agent是什么服务? 24.sql server analysis services是什么服务? 25.sql server browser是什么服务? 26.如何对服务进行启动、暂停和停止操作? 27.启动数据库时需要做什么工作? 28.如何注册数据库? 29.如何删除注册的服务? 30.如何更改数据库的登陆模式?

通用SQL数据库查询语句范例

通用SQL数据库查询语句范例(多表查询) 弱电学院---文章分类: 电脑→数据库∧上一篇∨下一篇◎最新发布列表... 双击自动滚屏发布者:弱电之家发布时间:2008-10-6 17:53: 00 来源:互联网 总阅读:1351次本周阅读:31次今日阅读:4 次 推荐一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和Where子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email 字段。 Select nickname,email FROM testtable Where name=’张三’ (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据:

Select * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。例如: Select nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: Select 昵称=nickname,电子邮件=email FROM testtable

4、删除重复行 Select语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在Select返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TO P n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如: Select TOP 2 *FROM testtable Select TOP 20 PERCENT * FROM testtabl e (二) FROM子句 FROM子句指定Select语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:

SQLSERVER数据库、表的创建及SQL语句命令

SQLSERVER数据库、表的创建及SQL语句命令 SQLSERVER数据库,安装、备份、还原等问题: 一、存在已安装了sql server 2000,或2005等数据库,再次安装2008,会出现的问题 1、卸载原来的sql server 2000、2005,然后再安装sql server 2008,否则经常sql server服务启动不了 2、sql server服务启动失败,解决方法: 进入sql server configure manager,点开Sql server 网络配置(非sql native client 配置),点sqlzhh(我sqlserver 的名字)协议,将VIA协议禁用。再启动Sql Server服务,成功 如图: 二、在第一次安装SQLSERVER2008结束后,查看安装过程明细,描述中有较多项插件或程度,显示安装失败。 解决方法:

1、重新启动安装程度setup.exe,选择进行修复安装,至完成即可。 三、先创建数据库XXX,再进行还原数据库时,选择好备份文件XXX.bak,确定后进行还原,会报如下图的错误。 解决方法: 选择好备份数据库文件后,再进入“选项”中,勾选“覆盖现在数据库”即可。

四、查看数据库版本的命令:select @@version 在数据库中,点击“新建查询”,然后输入命令,执行结果如下 五、数据库定义及操作命令: 按照数据结构来组织、存储和管理数据的仓库。由表、关系以及操作对象组成,把数据存放在数据表中。 1、修改数据库密码的命令: EXEC sp_password NULL, '你的新密码', 'sa' sp_password Null,'sa','sa'

数据库sql查询语句上机练习1_习题_结果(单世民)

习题1 请根据给出的数据库表结构来回答相应问题: DEPT (DEPTNO INT, DNAME VARCHAR(14),LOC VARCHAR(13)); EMP (EMPNO INT,ENAME VARCHAR(10), JOB VARCHAR(9), MGR INT, HIREDATE DATE, SAL FLOAT, COMM FLOAT, DEPTNO INT); BONUS (ENAME VARCHAR(10), JOB VARCHAR(9), SAL INT, COMM INT); SALGRADE ( GRADE INT, LOSAL INT, HISAL INT); 其中表中包含如下数据: DEPT表: EMP表: SALGRADE表:

BONUS表: 无数据 根据上面描述完成下面问题: (注意:注意保存脚本,尤其是DDL和DML,以便进行数据还原) DDL 1. 写出上述表的建表语句。此外,在DEPT上创 建名为”PK_DEPT”的主键约束,在EMP表上 创建名为”PK_EMP”的主键约束以及指向表 DEPT的外键约束”FK_DEPTNO”。 命令: Create table DEPT (DEPTNO INT NOT NULL,DNAME VARCHAR(14),LOC VARCHAR(13)); Alter table DEPT add constraint PK_DEPT PRIMARY KEY (DEPTNO); create table EMP(EMPNO INT NOT NULL,ENAME VARCHAR(10),JOB VARCHAR(9),MGR INT,HIREDATE DATE, SAL FLOAT,COMM FLOAT,DEPTNO INT); alter table EMP add constraint PK_EMP PRIMARY KEY (EMPNO); alter table EMP add constraint FK_DEPTNO foreign key(DEPTNO) references DEPT(DEPTNO);

数据库查询语句关键字总结

看过牛腩视频后,前17集讲后台代码的编写,尤其讲到查询语句的时候,顿时感觉原来学习过的查询语句中用到的关键字烟消云散了,啥都不记得了,通过看视频,帮着回忆了一部分,在这里总结一下,查询语句中用到的关键字的含义及使用。 一、select语句(单个表) 1.最简单的查询: select * from [where ] select column1,column2....from [where] 这里需要注意的是where子句中条件过滤使用到的关键字,比如用到逻辑运算符like 中的’%‘(匹配一个或多个字符)和’_‘(仅匹配一个)等。这个在新闻发布系统中也有用到。 例如:按标题搜索: view sourceprint? 1.Select top 10n.id,n.title,n.createtime,c.[name] 2.from news n inner join category c on c.caid=c.id 3.where n.title like '%'+ @title+ '%' 当然还有很多,例如between,not ,in等关键字的使用也很重要。 2.DISTINCT关键字 这个关键字,主要用来取出列中唯一的值,比如:记录中的一个字段值(city)如果有重复(廊坊,北京,廊坊,北京),那么利用DISTINCT关键字取出唯一值,即任何重复的值只计数一次,结果为为:(廊坊,北京)。 view sourceprint? 1.select DISTINCT city from [table] 3.使用别名 利用别名可以显示我们想要的名字,方便阅读。select city as 城市from ... 4.group by 和having子句 group by 用来对查询到的结果集进行分组,必须位于select语句中的from子句或where子句之后。 having子句类似于where子句,紧跟在group by子后,作为一个查询条件。

数据库sql查询语句练习2_习题_结果(单世民)

现在有一教学管理系统,具体的关系模式如下:Student (no, name, sex, birthday, class) Teacher (no, name, sex, birthday, prof, depart) Course (cno, cname, tno) Score (no, cno, degree) 其中表中包含如下数据: Course表: Score表: Student表:

Teacher表: 根据上面描述完成下面问题: (注意:注意保存脚本,尤其是DDL和DML,以便进行数据还原)DDL 1.写出上述表的建表语句。 2.给出相应的INSERT语句来完成题中给出数据的插入。 单表查询 3.以class降序输出student的所有记录(student表全部属性) 命令:select*from Student order by class desc;

4.列出教师所在的单位depart(不重复)。 命令:select distinct depart from Teacher; 5.列出student表中所有记录的name、sex和class列 命令:select name,sex,class from Student; 6.输出student中不姓王的同学的姓名。 命令:select name from Student except select name from Student where name like'王%';或

select name from Student where name not like'王%'; 7.输出成绩为85或86或88或在60-80之间的记录(no,cno,degree) 命令:select no,cno,DEGREE from Score where degree=85 or degree=86 or degree=88 or degree between 60 and 80; 8.输出班级为95001或性别为‘女’的同学(student表全部属性) 命令:select*from Student where class=95001 or sex='女';

数据库SQL查询语句练习题

设教学数据库Education有三个关系: 学生关系S(SNO,SNAME,AGE,SEX,SDEPT);学习关系SC(SNO,CNO,GRADE);课程关系C(CNO,CNAME,CDEPT,TNAME)查询问题: (1)检索计算机系的全体学生的学号,姓名和性别; (2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS”的学生学号与姓名; (4)检索选修课程号为C2或C4的学生学号; (5)检索至少选修课程号为C2和C4的学生学号; (6)检索不学C2课的学生姓名和年龄; (7)检索学习全部课程的学生姓名; (8)查询所学课程包含学生S3所学课程的学生学号。 (1)检索计算机系的全体学生的学号,姓名和性别; SELECT Sno,Sname,Sex FROM S WHERE Sdept ='CS'; (2)检索学习课程号为C2的学生学号与姓名; Sname ,1.SELECT SnoSname ,2.SELECT S.SnoFROM S SC , FROM SWHERE Sno IN WHERE S.Sno=SC.Sno SELECT Sno (;C2'AND https://www.doczj.com/doc/c34235667.html,o=‘ FROM SC )‘C2' WHERE Cno= DS)检索选修课程名为“”的学生学号与姓名(3表建立它们二者的表没有直接联系,必须通过SC表中,但S和C 本查询涉及到学号、姓名和课程名三个属性,分别存放在S和C S SC →联系。 C →基本思路: Cno;表中找出“DS”课程的课程号(1)首先在C ;Cno 集合中的某个元素Cno2)然后在SC表中找出Cno等于第一步给出的(送入结果表列。和SnameSno等于第二步中Sno 集合中某个元素的元组,取出Sno S(3)最后在关系中选出Sname ,SELECT SnoFROM S WHERE Sno IN SELECT Sno ( FROM SC WHERE Cno IN SELECT Cno ( FROM C );DS') WHERE Cname=‘ 的学生学号;C2或C4(4)检索选修课程号为SELECT Sno FROM SC ';'C2 OR Cno=‘C4WHERE Cno=‘

SQL-创建数据库及简单查询语句

--创建数据库BankDB create database BankDB on primary ( name='BankDB_data', filename='E:\Data\BankDB_data.mdf', size=5, maxsize=20, filegrowth=10% ) log on ( name='BankDB_log', filename='E:\Data\BankDB_log.ldf', size=5, maxsize=20, filegrowth=10% ) --创建T_customer表 use BankDB go create table T_customer ( customerId varchar(20) not null , customerName varchar(40), PID varchar(18), sex char(2), telephone varchar(12) ) --创建银行卡表 create table T_account ( cardId varchar(20) not null , customerId varchar(20), password char(6), savingType varchar(8), openTime datetime, balance float, isReportLos varchar(2) )

--创建客户信息表 create table T_transInfo ( transId int identity(1,1) not null , cardId varchar(20), transTime datetime, transType varchar(4), transMoney float, remark varchar(100) ) --创建主键和外键约束 --主键 alter table dbo.T_customer add constraint pk_customerId primary key (customerId) alter table dbo.T_account add constraint pk_cardId primary key (cardId) alter table dbo.T_transInfo add constraint pk_transId primary key (transId) --外键 alter table T_account add constraint fk_customerId foreign key (customerId)references dbo.T_customer(customerId) alter table T_transInfo add constraint fk_cardId foreign key (cardId)references dbo.T_account(cardId) --开户时间默认值为当前系统时间 alter table T_account add constraint df_openTime default getdate() for openTime --录入数据 insert into T_customer(customerId,customerName,PID,sex,telephone) values('001','张丽','430281************','女','139********') insert into T_customer(customerId,customerName,PID,sex,telephone) values('002','王蒙','430202************','男','139********')

数据字典SQL查询语句

数据字典sql查询语句 1.数据字典视图(动态性能表) V$fixed_table / dictionary / dict / dict_columns 2.查詢数据库的名字,创建日期等内容。 Select name, created, log_mode, open_mode From v$database ; 3.查詢数据库的计算器的主机名,数据库的实例名及系统的版本。 Select host_name, instance_name, version From v$instance ; 4.查詢数据库管理系统的版本 Select * from v$version ; 5.查詢数据库的用户及创建数据库的时间 Select username, created from dba_users ; 6.查詢数据库的控制文件 Select * from v$controlfile ; Select value From v$parameter Where name = …control_files? ; 7.查詢数据库控制文件中全部记录的相关信息 Select type, record_size, records_total, records_used From v$controlfile_record_section ; 8.查詢数据库的重做日志的配置信息 Select group#, members, bytes, status, archived From v$log ; 9.查詢重做日志(成员)文件所存放的具体位置 Select * from v$logfile ; 10.查詢ORACLE数据库归档文件的具体位置 Archive log list

sqlserver创建数据库说明

请按以下步骤操作。 1、点击windows的开始菜单找到sql server 的企业管理器,如(图1)。 (图1) 2、点击后出现(图2) (图2)

3、展开Microsoft Sql Servers 项->Sql Server组->你的机器名字(windows NT),如(图3) (图3) 4、在选中的项中点击鼠标右键,如(图4) (图4)

5、点击选择属性菜单后弹出(图5) (图5) 6、请选择安全性页面,在身份验证中选择sql server 和windows 。(可能有的版本不只两个 选择,一定要保证选中sql server身份验证。)选中后请点击确定按钮。如(图6) (图6)

7、回到企业管理器选择数据库项,在右边空白处点击鼠标右键。如(图7) (图7) 8、选择新建数据库菜单,在弹出的窗口中填入kkx_database,如(图8) (图8)

9、选择数据文件页面,将文件名改为kkx_data(你可以更改文件所在的路径),初始大小改 为500。如(图9) (图9) 10、选择事务日志页面,将文件名改为kkx_log(你可以更改文件所在的路径),初始大 小改为100。如(图10) (图10)

11、在上图中点击确定按钮。(根据你的机器性能你需要等待1-10分钟) 12、回到企业管理器选择安全性->登录,在右边空白处点击鼠标右键,如图11 (图11) 13、点击新建登录菜单,在弹出的窗口中更改内容如下 名称:kkx_sa 身份验证:sql server身份验证,注意密码必须是kkx_password 默认设置中的数据库:kkx_database。如(图12) (图12)

数据库SQL语句实验报告

《数据库原理及应用》实验报告 SQL语句部分 总成绩:

实验一熟悉SQL SERVER,数据定义实验 实验一成绩: 一、实验目的 1、利用查询分析器创建数据库 2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作 二、实验步骤及内容 在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。 1.创建学生课程数据库 3.创建课程关系表C : 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 7、删除表S的“年龄”属性列。 8、删除S姓名列的唯一值约束。 9、修改SC表成绩属性列为精确数字型。 10、在表S上,按“Sno”属性列的唯一值方式建立索引。 11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。 12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。 三、实验结果: 1.创建学生课程数据库 create database Studend; create table S ( Sno CHAR(9)PRIMARY KEY, Sname CHAR(20)UNIQUE, Ssex CHAR(2), Sage smallint, Sdept char(20), );

3.创建课程关系表C : 课程号课程名先行课学分 Cno Cname Cpno ccredit create table C ( Cno char(4)primary key, Cname CHAR(40), Cpno char(4), Ccredit SMALLINT, ); 4.创建课程关系表SC : 学号课程号成绩 Sno Cno grade create table SC ( Sno char(9), Cno char(4), Grade smallint, ); 5.将以上创建表S、C、SC的SQL命令以 .SQL文件的形式保存在磁盘上。 6、在表S上增加“出生日期”属性列。 alter table S add Sbirthday datetime; 7、删除表S的“年龄”属性列。 alter table S drop column Sage;

相关主题
文本预览
相关文档 最新文档