搜档网
当前位置:搜档网 › SQL语句创建SQL Server 数据库和表(附答案)

SQL语句创建SQL Server 数据库和表(附答案)

SQL语句创建SQL Server 数据库和表(附答案)
SQL语句创建SQL Server 数据库和表(附答案)

实验四 用SQL 语句创建SQL Server 数

据库和表(2学时)

一. 实验的目的

1) 熟悉企业管理器环境。 2) 掌握使用查询分析器的方法

3) 熟练掌握数据库创建、表创建与修改、索引创建与删除的语法 4) 熟悉SQL SERVER 的数据类型

5) 熟练使用SQL SERVER 的联机帮助系统

二、相关知识点

1 建立数据库

创建数据库的语句请参见SQLSERVER 的帮助CREATE DATABASE,以下仅作参

2 定义表的语句: CREATE TABLE <表名>

(<列名> <数据类型>[ <列级完整性约束条件> ]

[,<列名> <数据类型>[ <列级完整性约束条件>] ] … [,<表级完整性约束条件> ] ); [例]

USE S_T 的结果是让此处显示s_t 数据库,表明以下的所有操作都是在S-T 数据库中进行的

3修改表的语句:

ALTER TABLE <表名>

[ ADD <新列名> <数据类型> [完整性约束 ] ]

[ DROP <完整性约束名> ]

[ ALTER COLUMN<列名> <数据类型> ];

[例]

4删除表的语句:

DROP TABLE<表名>

5增加、删除索引

三. 实验内容

1.创建学生-课程数据库(命名为S_T),然后在S_T数据库中创建学生情况表

Student,课程表Course,学生选课表SC。

各种表的表结构如下:

表3-2 Course表结构

1)修改表结构

●将course表的cpno的长度改为3

●将student表中的sdept列的长度改为50

●给student表中的ssex列的增加默认约束,默认值为“男”

●为course表增加一列teacher,char(8)

●删除course表的teacher列

●为sc增加主键约束,约束建立在sno,cno两列上,命名为s_c

答案

--修改表中字段列的长度

--将course表的cpno的长度改为3

--将student表中的sdept列的长度改为50

alter table course alter column Cpno char(3)

alter table student alter column sdept char(50)

--修改表位列增加约束

--给student表中的ssex列的增加默认约束,默认值为“男”

alter table student add constraint df_stu_sex default('男') for Ssex --修改表增加新列

--为course表增加一列teacher,char(8)

alter table course add teacher char(8)

--修改表删除列:? 删除course表的teacher列

alter table course drop column teacher

--修改表添加主键约束:? 为sc增加主键约束,约束建立在sno,cno两列上,命名为s_c

alter table SC add constraint pk_SC_sc primary key(Sno,Cno)

2.完成课后练习的SPJ数据库及相应的S、P、J表的建立,并按照以下的要求

补充:

●为每个表设一个主键

●为S表增加一个唯一索引s_sno

●为p表增加一个索引p_pno,要求降序

●为J表增加一个索引j_jno

●为SPJ表加外键约束

●为SPJ表增加列qty的检查约束,要求qty>0

●为SPJ表增加索引spj_sno_pno_jno,要求索引列sno用降序,pno、jno用升序

3.预习INSERT INTO语句的用法,完成以上所有数据库表的记录输入

答案

use master --进入当前需要使用的数据库

go

--创建spj数据库

create database spj

ON --数据文件

(

name='spj_db',

filename ='E:\SQL Server2005\database\spj_db.mdf',

size =3,

maxsize = 10,

filegrowth=1

)

log on --日志文件

(

name='spj_log',

filename ='E:\SQL Server2005\database\spj_log.ldf',

size=1,

maxsize=10,

filegrowth=1

)

go

use spj

go

--在spj数据库中创建表

create table s --创建供应商表

(

Sno char(5) not null primary key,--主键供应商代码

Sname varchar(20),--供应商姓名

Sstatus int,--供应商状态

City varchar(10),--供应商所在地

)

go

create table p --创建零件表

(

Pno char(5) not null primary key,--零件代码

Pname varchar(20) not null,--零件名

Color varchar(10),--颜色

Weight int --重量

)

go

create table j --创建工程项目表

(

Jno char(5) not null primary key,--项目代码

Jname varchar(20) not null,--项目名称

City varchar(10),--项目所在城市

)

go

create table spj --创建供应情况表

(

Sno char(5) not null REFERENCES S(Sno), --供应商代码

Pno char(5) not null REFERENCES P(Pno),--零件代码

Jno char(5) not null REFERENCES J(Jno),--工程项目代码

Qty int,--供应数量

primary key(Sno,Pno,Jno)

)

go

--为表创建索引

create unique index s_sno on s(Sno)

create index p_pno on p(Pno DESC)

create index j_jno on j(Jno)

create index spj_sno_pno_jno on spj(Sno DESC,Pno,Jno)

--为SPJ表加外键约束

alter table spj add constraint fk_sno foreign key (sno) references s(sno) alter table spj add constraint fk_pno foreign key (pno) references p(pno) alter table spj add constraint fk_jno foreign key (pno) references j(jno)

--为表添加check约束

alter table spj add constraint ck_qty check(Qty>0)

go

--向数据库表中插入数据

insert into s values('s1','精益',20,'天津')

insert into s values('s2','盛锡',10,'北京')

insert into s values('s3','东方红',30,'北京')

insert into s values('s4','丰泰盛',20,'天津') insert into s values('s5','为民',30,'上海')

insert into p values('p1','螺母','红',12) insert into p values('p2','螺栓','绿',17) insert into p values('p3','螺丝刀','蓝',14) insert into p values('p4','螺丝刀','红',14) insert into p values('p5','凸轮','蓝',40) insert into p values('p6','齿轮','红',30)

insert into j values('j1','三建','北京') insert into j values('j2','一汽','长春') insert into j values('j3','弹簧厂','天津') insert into j values('j4','造船厂','天津') insert into j values('j5','机车厂','唐山') insert into j values('j6','无线电厂','常州') insert into j values('j7','半导体厂','南京')

insert into spj values('s1','p1','j1',200) insert into spj values('s1','p1','j3',100) insert into spj values('s1','p1','j4',700) insert into spj values('s1','p2','j2',100) insert into spj values('s2','p3','j1',400) insert into spj values('s2','p3','j2',200) insert into spj values('s2','p3','j4',500) insert into spj values('s2','p3','j5',400) insert into spj values('s2','p5','j1',400) insert into spj values('s2','p5','j2',100) insert into spj values('s3','p1','j1',200) insert into spj values('s3','p3','j1',200) insert into spj values('s4','p5','j1',100) insert into spj values('s4','p6','j3',300) insert into spj values('s4','p6','j4',200) insert into spj values('s5','p2','j4',100) insert into spj values('s5','p3','j1',200) insert into spj values('s5','p6','j2',200) insert into spj values('s5','p6','j4',500)

select * from s

select * from p

select * from j

select * from spj

SQLserver数据库课程设计范例

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

SQLServer(多语句表值函数代码)

SQLServer(多语句表值函数代码) 代码如下: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go CREATE FUNCTION [dbo].[ufnGetContactInformation](@ContactID int) RETURNS @retContactInformation TABLE ( -- Columns returned by the function [ContactID] int PRIMARY KEY NOT NULL, [FirstName] [nvarchar](50) NULL, [LastName] [nvarchar](50) NULL, [JobTitle] [nvarchar](50) NULL, [ContactType] [nvarchar](50) NULL ) AS -- Returns the first name, last name, job title and contact type for the specified contact. BEGIN

DECLARE @FirstName [nvarchar](50), @LastName [nvarchar](50), @JobTitle [nvarchar](50), @ContactType [nvarchar](50); -- Get common contact information SELECT @ContactID = ContactID, @FirstName = FirstName, @LastName = LastName FROM [Person].[Contact] WHERE [ContactID] = @ContactID; SET @JobTitle = CASE -- Check for employee WHEN EXISTS(SELECT * FROM [HumanResources].[Employee] e WHERE e.[ContactID] = @ContactID) THEN (SELECT [Title] FROM [HumanResources].[Employee] WHERE [ContactID] = @ContactID) -- Check for vendor

SQL数据库数据的查询,汇总,统计和分析

8.数据的查询、汇总、统计和分析 本章将深入剖析SELECT命令。

8.1.SELECT命令 SELECT是一个用来从一个或多个表中获取数据的SQL命令。 8.2.简单的SELECT查询 如: SELECT命令至少包含: ?要出现在查询结果中的字段列表,如:身份证号码,姓名,电话号码 ?字段来自哪些表,如:FROM飞狐工作室 ?字段列表也可以是由字段、常量和函数组成的表达式 ?要列出所有字段,只须用* 号 8.3.设置查询结果的字段名 查询需求 请从数据库pubs的authors表,查询出所有作者的代号、姓名、电话号码及住址,而且请使用中文文字作为查询结果的各字段名。 解答

SELECT 作者代号= au_id, 姓名= au_fname+au_lname, 电话号码= phone, 住址= address FROM authors 或(看看你更喜欢哪一种格式?) /* 脚本文件名: Demo92.sql */ USE pubs SELECT au_id AS 作者代号, au_fname+au_lname AS 姓名, phone AS 电话号码, address AS 住址 FROM authors 注意: ?如果您设置的的字段名包含空格,则须加上单引号 SELECT au_fname+au_lname AS‘Name of Author’ FROM authors 任务:查询teacher表的姓名、性别和生日,列名用中文表示;查询class表的所有班级

信息;查询teacher表的教师姓名和年龄。 8.4.关键字ALL和DISTINCT的使用 1.查询需求 请列出“飞狐工作室”表中所有员工的雇用日期,但是日期相同者只列出一次即可。USE NorthwindSQL SELECT DISTINCT雇用日期FROM飞狐工作室 2.查询需求 请列出“飞狐工作室”表中有哪些部门。 USE NorthwindSQL SELECT DISTINCT部门FROM飞狐工作室 ALL为默认项,显示所有查询到的记录,包括重复项。 DISTINCT,对指定字段的内容相同的,仅显示一项。每个SELECT表达式只能有一个DISTINCT关键字。这意味着,DISTINCT是限制整条数据记录都重复者,只显示其中一条,而不是针对单一字段来处理。 任务:请列出“章立民工作室”表中有哪些部门。列出teacher表中的教师职称。

SQLSERVER操作命令

SQLSERVER数据库操作 ******操作前,请确定SQL的服务已经开启******** 一:登录进入sql数据库 1、开始---所有程序---Microsoft SQL Server 2005---SQL Server Management Studio Express 2、此时出现“连接到服务器”的对话框, “服务器名称”设置为SQL数据库所在机器的IP地址 “身份验证”设置为SQL Server身份验证或者Windows 身份验证 填写登录名和密码后,点击“连接”按钮,即可进入到SQL数据库操作界面。 二:新建数据库 登录进去后,右击“数据库”,选择—“新建数据库” 设置数据库名称,在下面的选项卡中还可以设置数据库的初始大小,自动增长,路径。 点击确定,一个数据库就建好了。 三:如何备份的数据库文件。 登录进入后,右击相应的需要备份数据库----选择“任务” 目标下的备份到,点击“添加”按钮可以设置备份数据库保存的路径。 四:如何还原备份的数据库文件。(以本地机器为例子) 1、设置服务器名称,点击右边的下拉框的三角,选择“浏览更多…”。 此时出现查找服务器对话框,选择“本地服务器”---点开“数据库引擎”前面 的三角---选中出现的服务器名称—确定。 (注:可以在“网络服务器”选项卡中设置网络服务器) 2、设置身份验证,选择为“windows身份验证” 3、点击连接按钮,进入数据库管理页面 4、右击“数据库”,选择“还原数据库”,出现还原数据库的对话框 还原的目标----目标数据库,这里设置数据库的名字 还原的源----选择“源设备”,在弹出的对话框中点击“添加”按钮,找到所备 份的数据库文件,确定。 5、此时,在还原数据库对话框中会出现所还原的数据库的信息。在前面选中所需还 原的数据库。确定。 6、为刚刚还原的数据库设置相应的用户。 a点开“安全性”---右击“登录名”---新建登录名 b 设置登录名(假如为admin),并设置为SQL Server身份验证,输入密码,去除 “强制实施密码策略”前的勾。 C 找到导入的数据库,右击此数据库----选择“属性”,在选择页中,点击“文件” 设置所有者,点击右边的按钮,选择“浏览”,找到相应的用户(如admin)。确 定。。 7、此时重新以admin的身份进入,就可操作相应的数据库。

一个比较标准的sqlserver建表格式

一个比较标准的sqlserver 建表格式 CREATE TABLE [dbo].[admin]( [id] [int] IDENTITY(1,1) NOT NULL, [usersname] [nvarchar](50) NULL, [password] [nvarchar](50) NULL, [groud] [int] NULL CONSTRAINT [DF_admin_groud] DEFAULT ((0)), [data] [datetime] NULL CONSTRAINT[DF_admin_data] DEFAULT (getdate()), CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 解释: CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] 这是在id 列上创建一个唯一聚集索引的语句。 primary key 表明创建的是主键约束,culstered 表示索引类型是聚集索引,IGNORE_DUP_KEY = OFF作用是在向表中插入数据的时候,如果遇到表中已经存在id 的值,insert 语句就会失败,并且回滚整个insert 语句。 ON [PRIMARY表示是索引创建在主文件组上。 [pk_ admin] 是主键的名称。 需要注意的是sqlserver2000 不支持WITH (IGNORE_DUP_KEY = OFF) 再看一个,和上面的有一点不一样: CREATE TABLE [dbo].[news]( [id] [int] IDENTITY(1,1) NOT NULL, [title] [nvarchar](100) NULL, [classid] int NULL, boardid int NULL, [contents] [ntext] NULL, [oSource] [nvarchar](50) NULL, [oAuthor] [nvarchar](50) NULL, [picurl] [nvarchar](100) NULL, [keytxt] [nvarchar](50) NULL, [data] [datetime] NULL CONSTRAINT [DF_news_data] DEFAULT (getdate()), [hklick] [int] NULL CONSTRAINT [DF_news_hklick] DEFAULT ((0)), [pinglun] [int] NULL CONSTRAINT [DF_news_pinglun] DEFAULT ((0)), CONSTRAINT [PK_co ntent] PRIMARY KEY CLUSTERED

实验一 SQL语言单表查询

实验一SQL语言单表查询 一、实验目的 熟悉SQLServer2008建立数据库和表的方法;掌握SQL语言单表查询方法二.实验内容 1、建立数据库Student 2、建立该数据库的三张表:stu_info,course_info,stu_grade,三张表分别存放学生的学生信息、课程信息和学生选课信息 3、请写出实现如下功能的SQL语句,并在SQLServer2008中进行测试 (1)查询所有同学的姓名和年龄信息,要求使用别名(姓名和年龄),结果如下: (2)查询所有的院系信息,要求取消重复的行,结果如下: (3)查询前5位同学的学号、姓名和成绩信息。查询结果如下: (4)查询所有的男同学学号、姓名、生日和性别信息。查询结果如下:

(5)查询所有总分大于550的男同学信息。查询结果如下: (6)查询所有信息学院和会计学院并且总分大于550分的同学信息。查询结果如下: (7)查询所有籍贯为空的同学信息。查询结果如下: (8)查询总分在530—560之间的同学信息。 查询结果如下:

(9)查询所有在信息学院或会计学院就读的同学信息。查询结果如下: (10)查询所有姓“张”的同学信息。查询结果如下: (11)查询所有姓“张”,而且姓名是两个字的同学信息。查询结果如下: (12)查询所有不姓“张”也不姓“王”的同学信息。查询结果如下: (13)查询所有同学课程编号701的课程成绩,并按由大到小的顺序输出,如果成绩相同,则按学号由小到大排序。查询结果如下:

(14)统计学生成绩表中每个同学的最高分、最低分、平均分和总分。查询结果如下: (15)统计学生成绩表中每个同学的最高分、最低分、平均分和总分,80分以下的成绩不参与统计。 Select stu_id,MAX(grade),MIN(grade),AVG(grade),SUM(grade) From stu_grade Where grade>=80 Group by stu_id 查询结果如下: (16)统计学生成绩表中每个同学的最高分、最低分、平均分和总分,并输出平均分大于87分的信息。查询结果如下: (17)明细汇总: 使用group by子句对查询数据进行分组汇总,为每一组产生一个汇总结果,每个组只返回一行,无法看到详细信息。使用compute和compute by子句既能够看到统计经营部的结果又能够浏览详细数据。 使用compute子句对所有学生的人数进行明细汇总。查询结果如下:

SQL语句从大到小排序

根据下面三个关系模式完成下面习题:答案已设为白色需要就全选设为黑色学生表student 第一章课件:编写基本的sql语句。 1.查询所有学生情况。 3.查询所有学生的姓名,性别以及年龄。 5.查询所有学生10年后的年龄。 7.查询所有课程(列名用中文显示)。 9.查看竟有那些学生选课(重复学号显示一次)。 11.显示课程表的边结构。第二章课件:约束和排序数据。 01.查询计算机系的所有学生的姓名和年龄。 02.查询体育课的学分。 03.查询年龄小于18的学生。 04.查询年龄大于20的学生。 05.查询年龄介于18和20之间的学生(包括18和20)。 06.查询年龄不在18和20之间的学生。 07.查询年龄为18,20,22的学生。 08.查询年龄不是18,20,22的学生。 09.查询所有姓张的学生。 10.查询所有没有先行课的课程。 11.查询有先行课的课程。 12.在计算机系中找,姓张的男生。 13.在计算机系中找,姓张的或者姓李的男生并且按照年龄从大到小排序。 14.查询所有学生信息,显示结果先按系从大到小排序,再按年龄排序。 第三章课件:多表查询 1.查询每个学生(学号)选了哪门课(课程)得了多少分 2.查询每个学生(姓名)选了哪门课(课程号)得了多少分 3.查询每个学生(姓名)选了哪门课(课程名)得了多少分 4.查询一下王林选可哪门课得了多少分。 5.查询每个学生的成绩类别(优、良还是及格)。 6.查询哪个学生没有选课(用外查询)。 7.查询哪门课没有人选(用外查询)。 第四章课件:组函数

1.查询一下所有课程的平均分,最高分,最低分和总分数。 2.查询一下有多少个学生参加选课。 3.查询一下计算机系有多少人过20岁。 4.统计一下计算机系的男生多少人。 5.查询一下每个学生考试的最高分和最低分。 6.查询每门课(课程号)的最高分和最底分。 7.查询每门课(课程名)的最高分和最底分。 8.查询计算机系中男生多少人,女生多少人。 9,查询人数在三百人以上的系。 10.查询选修人数在三人(包括三人)的课程(课程名)。 11.查询各科考试成绩最低的同学。 12.查询考试成绩小于所选课程平均分的人。(有能力的同学选做) 第五章课件:子查询 1.查询所有比王林大的同学信息。 2.查询和王林同在一个系的所有学生信息。 3.查询一下谁的成绩(所有成绩)最低。 4.查询一下每门课成绩最底的同学(要姓名,和成绩)。 5.查询一下哪个学生没有选课(用子查询)。 6.查询一下哪门课没有人选(用子查询)。 7.查询一下和王林一个系,但是比他年龄大的同学。 第六章课件:ddl语句 1.创建以上四个表,要求每个表必须有主键,表和表之间必须有外间关联。 3.写出insert语句,给表添加以上数据。 5.提交所有操作。 7.将王林的年龄设置为空。 9.将张大民调到计算机系。 11.将体育课的学分设置成和管理学学分一样(update 中带有子查询)。 13.回滚所有操作。 9.某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题:卡里面的“o和0”(哦和零)“i和1”(哎和一),用户反映说看不清楚,公司决定,把存储在数据

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.sodocs.net/doc/fa8553003.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 Server数据库及表的建立 实验要求和截图记录

实验一 SQL Server数据库及表的建立 1. 按下面要求创建一个名为companyinfo的数据库: 主要数据文件:逻辑文件名为companyinfo_data1,实际文件名为companyinfo_data1.mdf;初始容量为1MB,最大容量为10MB,递增量为1MB。 次要数据文件:逻辑文件名为companyinfo_data2,实际文件名为companyinfo_data2.mdf;初始容量为1MB,最大容量为10MB,递增量为1MB。 事务日志文件:逻辑文件名为companyinfo_log,实际文件名为companyinfo_log.ldf;初始容量为1MB,最大容量为10MB,递增量为1MB。 2. 在companyinfo数据库中创建名为“category”的类别表,名为“product”的产品信息表,名为“employee”的雇员表,名为“customer”的客户表和名为“p_order”的订单表。 类别表(以类别ID为主键) 产品信息表(以产品ID为主键,类别ID是与类别表的类别ID相联系的外键) 雇员表(以雇员ID为主键,且薪水不得低于1000元) 客户表(以客户ID为主键)

订单表(以订单ID为主键,产品ID,雇员ID,客户ID均为外键,分别与产品信息表、雇员表和客户表的主键相联系) 3.利用企业管理器和T-SQL语句分别实现上面的操作。 实验操作过程截图记录如下: 实验一 SQL Server数据库及表的建立 1,按要求创建一个名为companyinfo的数据库: 利用企业管理器创建:

2,在companyinfo数据库中创建名为“category”的类别表,名为“product”的产品信息表,名为“employee”的雇员表,名为“customer”的客户表和名为“p_order”的订单表。 类别表 产品信息表

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语言命令

SQL语言由命令、子句、运算和集合函数等构成。在SQL中,数据定义语言DDL(用来建立及定义数据表、字段以及索引等数据库结构)包含的命令有CREATE、DROP、ALTER;数据操纵语言DML(用来提供数据的查询、排序以及筛选数据等功能)包含的命令有SELECT、INSERT、UPDATE、DELETE。 一、SQL语句 (1)Select 查询语句 语法:SELECT [ALL|DISTINCT] <目标列表达式> [AS 列名] [,<目标列表达式> [AS 列名] ...] FROM <表名> [,<表名>…] [WHERE <条件表达式> [AND|OR <条件表达式>...] [GROUP BY 列名[HA VING <条件表达式>]] [ORDER BY 列名[ASC | DESC]] 解释:[ALL|DISTINCT] ALL:全部;DISTINCT:不包括重复行 <目标列表达式> 对字段可使用A VG、COUNT、SUM、MIN、MAX、运算符等 <条件表达式> 查询条件谓词 比较=、>,<,>=,<=,!=,<>, 确定范围BETWEEN AND、NOT BETWEEN AND 确定集合IN、NOT IN 字符匹配LIKE(“%”匹配任何长度,“_”匹配一个字符)、NOT LIKE 空值IS NULL、IS NOT NULL 子查询ANY、ALL、EXISTS 集合查询UNION(并)、INTERSECT(交)、MINUS(差) 多重条件AND、OR、NOT 对查询结果分组 [HA VING <条件表达式>] 分组筛选条件 [ORDER BY 列名[ASC | DESC]] 对查询结果排序;ASC:升序DESC:降序 例1:select student.sno as 学号, https://www.sodocs.net/doc/fa8553003.html, as 姓名, course as 课程名, score as 成绩from score,student where student.sid=score.sid and score.sid=:sid 例2:select student.sno as 学号, https://www.sodocs.net/doc/fa8553003.html, as 姓名,A VG(score) as 平均分from score,student where student.sid=score.sid and student.class=:class and (term=5 or term=6) group by student.sno, https://www.sodocs.net/doc/fa8553003.html, having count(*)>0 order by 平均分DESC 例3:select * from score where sid like '9634' 例4:select * from student where class in (select class from student where name='陈小小') (2)INSERT插入语句 语法:INSERT INTO <表名> [(<字段名1> [,<字段名2>, ...])] V ALUES (<常量1> [,<常量2>, ...]) 语法:INSERT INTO <表名> [(<字段名1> [,<字段名2>, ...])] 子查询 例子:INSERT INTO 借书表(rid,bookidx,bdate)V ALUES (edit1.text,edit2.text,date) 例子:INSERT INTO score1(sno,name) SELECT sno,name FROM stud ent WHERE class=?9634? (3)UPDATE-SQL

SQLSERVER函数大全

SQL SERVER函数大全 SQL SERVER命令大全 SQLServer和Oracle的常用函数对比 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001) value from dual 4.取整(截取) S:select cast(-1.002 as int) value O:select trunc(-1.002) value from dual 5.四舍五入 S:select round(1.23456,4) value 1.23460 O:select round(1.23456,4) value from dual 1.2346 6.e为底的幂 S:select Exp(1) value 2.7182818284590451 O:select Exp(1) value from dual 2.71828182 7.取e为底的对数 S:select log(2.7182818284590451) value 1 O:select ln(2.7182818284590451) value from dual; 1 8.取10为底对数 S:select log10(10) value 1 O:select log(10,10) value from dual; 1 9.取平方 S:select SQUARE(4) value 16 O:select power(4,2) value from dual 16

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

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,

ER图+SQL语句练习题new

下图是企业订单管理系统的E-R图,提供对职工信息、客户信息、供应商信息、产品信息、订单信息、订单明细进行管理。描述为主键,描述为外键,外键约束通过图下箭头线进行标注。其中职员信息表中的sex取值为m或f,表示为男和女。 创建脚本如下: /*==============================================================*/ /* Table: 供应商信息表Supplier */ /*==============================================================*/ create table Supplier ( SupplierID char(5) not null, SupplierName varchar(50) not null,

Phone varchar(20) not null, Address varchar(50) null, PostalCode varchar(15) null, City varchar(20) null, constraint PK__Supplier primary key (SupplierID) ) go /*==============================================================*/ /* Table: 产品信息表Products */ /*==============================================================*/ create table Products ( ProductID char(5) not null, ProductName varchar(50) not null, SupplierID char(5) not null, constraint PK__Products primary key (ProductID), constraint FK_PRODUCTS_SUPPLIER foreign key (SupplierID) references Supplier (SupplierID) ) go /*==============================================================*/ /* Table: 客户信息表Customers */ /*==============================================================*/ create table Customers ( CustomerID char(5) not null, CustomerName varchar(50) not null, Phone varchar(20) not null,

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数据库建表

1.写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束:(1)“图书表”结构如下: 书号:统一字符编码定长类型,长度为6,主键; 书名:统一字符编码可变长类型,长度为30,非空; 第一作者:普通编码定长字符类型,长度为10,非空; 出版日期:小日期时间型; 价格:定点小数,小数部分1位,整数部分3位。 (2)“书店表”结构如下: 书店编号:统一字符编码定长类型,长度为6,主键; 店名:统一字符编码可变长类型,长度为30,非空; 电话:普通编码定长字符类型,8位长,每一位的取值均是0~9的数字; 地址:普通编码可变长字符类型,40位长。 邮政编码:普通编码定长字符类型,6位长。 (3)“图书销售表”结构如下: 书号:统一字符编码定长类型,长度为6,非空; 书店编号:统一字符编码定长类型,长度为6,非空; 销售日期:小日期时间型,非空; 销售数量:小整型,大于等于1。 主键为(书号,书店编号,销售日期); 其中“书号”为引用“图书表”的“书号”的外键; “书店编号”为引用“书店表”的“书店编号”的外键。 答:

CREATE TABLE 图书表( 书号nchar(6) primary key, 书名nvarchar(30) not null, 第一作者char(10) not null, 出版日期smalldatetime, 价格numeric(4,1)) CREATE TABLE 书店表( 书店编号nchar(6) primary key, 店名nvarchar(30) not null, 电话char(8) check (电话like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), 地址varchar(40), 邮政编码char(6)) CREATE TABLE 图书销售表( 书号nchar(6) not null, 书店编号nchar(6) not null, 销售日期smalldatetime not null, 销售数量smallint check(销售数量>=1), primary key(书号,书店编号,销售日期), foreign key(书号) references 图书表(书号), foreign key(书店编号) references 书店表(书店编号))

实验1SQLServer数据库基本操作

实验1 SQL Server数据库基本操作 一、实验目的 本实验主要了解Microsoft SQL Server 2012中各组件的主要功能和基本使用方法;了解SQL Server数据库的逻辑结构和物理结构;了解数据表的结构特点以及索引的基本概念。通过本实验,读者将学会在“企业管理器”中创建和修改数据库和数据表结构、对数据表进行数据的添加、删除和更新操作以及在数据表上创建字段索引的操作。 二、实验环境 Microsoft SQL Server 2012 SSMS 三、实验内容 1. 创建一个名称为Book的数据库,支持教材订购信息管理,要求: (1)将主数据库文件Book_放置在的D:\DBF文件夹中,文件大小为5MB,最大值为50MB,文件增量为2MB。 (2)将事务日志文件Book_放置在的D:\DBF文件夹中,文件大小为5MB,最大值为100MB,文件增量为1MB。 【实验步骤】 1)在D:\下创建DBF文件夹。 2)在SSMS中的对象资源管理器窗口右单击“数据库”,从快捷菜单中选择“新建数据库”命令,出现“数据库属性”对话框。 3)在“数据库属性”对话框中选择“常规”选项卡,在名称文本框中输入:Book; 4)在“数据库属性”对话框中选择“数据文件”选项卡,设置数据文件的位置、大小、

最大值和文件增量等属性; 5)在“数据库属性”对话框中选择“事务日志”选项卡,设置事务日志文件的位置、大小、最大值和文件增量等属性。 6)点击“确定”按钮,建立“Book”数据库,如下图所示: 2. 在上题所建数据库Book中建立5张数据表结构。 字段名称字段说明类型定义属性限定索引外键AcadCode 学院代码Char(2) Primary Key √ AcadName 学院名称Varchar (50) Not Null

SQL数据库与表的创建

1.创建数据库 --创建数据库 create database db_NetStore --网上书城 on primary (name='db_NetStore', filename='f:\data\db_NetStore.mdf', size=10MB, maxsize=50MB ) log on (name='db_NetStore_log', filename='f:\data\db_NetStore.ldf, size=5MB, maxsize=25MB ) 2.创建表 ①create table Member --会员信息表 ( MemberID int not null primary key,--会员ID UserName varchar(50)not null,--会员登录名Password varchar(50)not null,--会员登录密码RealName varchar(50)not null,--会员真实姓名Sex bit not null,--会员性别 Phonecode varchar(20)not null,--会员电话号码Email varchar(50)not null,--会员E-mail地址Address varchar(200)not null,--会员详细地址PostCode char(10)not null,--邮编 LoadDate datetime not null,--创建时间 ) ②create table Admin --管理员信息表 ( AdminID int not null primary key,--管理员ID AdminName varchar(50)not null,--管理员登录名Password varchar(50)not null,--管理员登录密码RealName varchar(50)not null,--管理员真实姓名Email varchar(50)not null,--管理员E-mail地址LoadDate datetime not null,--创建时间 )

sqlserver数据库快速入门

--建数据库 create database school --建表 use school create table students ( s_id int identity(1,1) primary key,--设主键,为自增id s_name varchar(20) not null, s_classId int ) create table class ( c_id int identity(1,1) primary key,--设主键,为自增id c_className varchar(20) not null ) create table student_Score ( ss_id int identity(1,1) primary key,--设主键,为自增id ss_score varchar(200) not null, s_id int ) --设外键 use school alter table students add constraint FK_class_studets foreign key(s_classId)references class(c_id) --设外键 use school alter table student_Score add constraint FK_students_student_Score foreign key(s_id)references students(s_id) --插class数据 insert into class(c_className) values('08ACCP1班') insert into class(c_className) values('08ACCP2班') insert into class(c_className) values('08ACCP3班') insert into class(c_className) values('08ACCP4班') insert into class(c_className) values('08网编1班') insert into class(c_className) values('08网编2班') insert into class(c_className) values('08软开1班') insert into class(c_className) values('08软开2班') insert into class(c_className) values('08软开3班') insert into class(c_className) values('08信管1班') --插studets数据 insert into students(s_name,s_classId) values('陈志锦',2) insert into students(s_name,s_classId) values('何金喜',4) insert into students(s_name,s_classId) values('黄瑞驰',5)

相关主题