[训练]数据库实验1答案.docx
- 格式:docx
- 大小:76.09 KB
- 文档页数:9
实验内容:实验一:数据库的操作使用Management Studio和sql语句分别完成以下操作:1.创建一个名为“SM”的数据库,数据文件初始大小为3MB,最大为50MB,数据库自动增长,增长方式按10%;日志文件初始大小为2MB,数据大小不受限制,按1MB增长。
create database smon(name='smdata',filename='e:\smdata.mdf',size=3,maxsize=50,filegrowth=10%)log on(name='smlog',filename='e:\smlog.ldf',size=2,maxsize=unlimited,filegrowth=1)2.修改数据库“SM”,将数据文件名改成“sm_data”,初始大小改成5MBalter database smmodify file( name='smdata',newname='sm_data',size=5)3.分别查看数据库“SM”,该数据库中的文件和文件组。
exec sp_helpfile smexec sp_helpfilegroup sm4.删除数据库“SM”。
drop database sm实验二:创建表1. 在数据库SM中创建学生表student,课程表course,选课表scstudent(sid,sno,clno,sname,ssex,sage,sbir)说明:sid int identity(1,1) 序号sno 为主关系键,为字符类型学号clno 字符类型,班级号sname 字符类型,并不为空ssex 字符类型,check的值的范围为男女sbir 日期类型出生日期sage int;use smcreate table student( sid int identity(1,1),sno char(10) constraint pk_st primary key,clno char(10),sname varchar(20) not null,ssex char(2) constraint ck_ssex check(ssex in('男','女')),sbir datetime,sage int)course(cno,cname,ccredits,ctno,cpno,ctime)说明:cno 字符类型,主关系键cname 字符类型,唯一键ccredits 学分,精确数值型,精确长度为2,小数位为1ctno ,cpno 字符类型ctime 整型create table course(cno char(4) constraint pk_c primary key,cname varchar(20) constaint uk_cname unique,ccredit decimal(2,1),ctno char(2),cpno char(4),ctime tinyint)sc(sno,cno,score)说明:sno+cno为主键,并且sno是student的外部键,cno是course的外部键。
create database StudentCoursegouse studentcoursego--在student数据库中,创建三张表create table students(Sno char(7) Primary Key,Sname varchar(8) NOT NULL,Ssex char(2),Sbirthday datetime,Sdept char(10),Smemo char(30))gocreate table courses(Cno char(4),Cname varchar(12),CpreCno char(4),Ccredit tinyint,constraint PK_course primary key(cno))gocreate table sc(Sno char(7) Foreign key references students(sno),Cno char(4) Foreign key references courses(cno),grade tinyint,primary key(sno,cno))go--分别向三张表中添加数据库insert into students values('0602001','钟振华','男','1987-05-01','计算机','优秀毕业生') insert into students values('0602002','吴家硕','女','1987-03-24','计算机','爱好:音乐') insert into students values('0602003','吴春斌','男','1988-07-01','计算机',NULL) insert into students values('0701001','王腾飞','男','1988-05-04','机电','爱好:音乐') insert into students values('0701002','林世伟','女','1987-04-03','机电','爱好:体育') insert into students values('0701003','李乐仪','女','1986-03-03','机电',null)insert into students values('0703001','李奇','男','1988-09-17','工商管理',null)goinsert courses values('c1','数据结构',null,4)insert courses values('c2','数据库原理','c1',4)insert courses values('c3','大型数据库','c2',3)insert courses values('c4','高尔夫',null,1)goinsert sc values('0602001','c1',61)insert sc values('0602001','c2',72)insert sc values('0602001','c3',88)insert sc values('0602002','c1',null)insert sc values('0602002','c2',61)insert sc values('0701001','c1',50)insert sc values('0701001','c2',null)insert sc values('0701002','c3',78)insert sc values('0701003','c1',52)insert sc values('0701003','c3',87)go--查询表中数据select * from studentsgo--删除表中数据delete scgo--删除表drop table studentsgo--3①查询计算机系全体学生的信息select *from Students--3②查询姓“李”的学生的学号和姓名。
《数据库系统概论》实验报告书专业班级学号姓名指导教师安徽工业大学计算机学院实验一:数据定义/数据操纵语言[ 实验日期 ] 2011 年 4 月 10 日[ 实验目的 ]熟悉SQL SERVER上机环境;熟练掌握和使用DDL语言,建立、修改和删除数据库表;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。
[ 实验内容 ]1.先建立数据库:STUDENT用两种方式建立:在查询分析器中以DDL语言方式建立.步骤为:先在指定的地方建立放置数据库文件的文件夹(如学生数据库),然后将建立的数据库文件放到指定的文件夹中.2.SQL数据定义语句:例1-1: (建立数据库表) 建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2) 字段,Sname 字段为Sname(C,8)且可为空。
create table Student(SNO char(5) primary key,SNAME char(8) NULL,SDEPT char(2),SCLASS char(2),SAGE smallint)create table Course(CNO char(3) primary key,CNAME char(16),CTIME smallint)create table Teach(TNAME CHAR(8),TSEX CHAR(2),CNO CHAR(3),TDATE smalldatetime,TDEPT CHAR(2)) create table Score (sno char(5),cno char(3),Score float);例1-2: (修改数据库表) 在Student表中增加SSEX(C,2) 字段。
alter table student add SSEX char(2)例1-3: (修改数据库表) 将Student表中把Sname 字段修改为Sname(C,10)且为非空。
实验任务书(实验一、实验二)课程名称:数据库原理与技术实验报告要求:1.列出所有的SQL语句和源代码;2.程序要求有适当的注释;3.对数据完整性约束实施要求给出相应的测试用例。
4.实验报告提交电子档。
实验内容:一:创建表、更新表和实施数据完整性1.运行给定的SQL Script,建立数据库GlobalToyz。
2.了解表的结构,建立所有表的关系图。
3.利用系统定义的存储过程sp_helpdb查看数据库的相关信息,例如所有者、大小、创建日期等。
4.查看所有表中出现的约束(包括Primary key, Foreign key, check constraint, default, unique)5.把价格在$20以上的所有玩具的信息拷贝到称为PremiumToys的新表中。
SELECT*INTO PremiumToysFROM ToysWHERE Toys.mToyRate>20;6.对表Toys实施下面数据完整性规则:(1)玩具的现有数量应在0到200之间;(2)玩具适宜的最低年龄缺省为1。
ALTER TABLE ToysADD CONSTRAINT C1CHECK (siToyQoh BETWEEN 0 AND 200);ALTER TABLE ToysADD CONSTRAINT C2default(1)for siLowerAge;7.给id为‘000001’玩具的价格增加$1。
update Toys set mToyRate=mToyRate+1 where cToyId='000001';8. 列出表PickofMonth中的所有记录,并显示中文列标题。
SELECT cToyId[玩具编号],siMonth[生产月份],iYear[生产年份],iTotalSold [销售总量]FROM PickofMonth;二:查询数据库1.显示属于California和Illinoi州的顾客的名、姓和emailID。
实验课程:数据库原理及应用学号:学生姓名:班级:年月日实验1 创建和维护数据库一、实验目的(1)掌握在Windows 平台下安装与配置MySQL 5.5 的方法。
(2)掌握启动服务并登录MySQL 5.5 数据库的方法和步骤。
(3)了解手工配置MySQL 5.5 的方法。
(4)掌握MySQL 数据库的相关概念。
(5)掌握使用Navicat 工具和SQL 语句创建数据库的方法。
(6)掌握使用Navicat 工具和SQL 语句删除数据库的方法。
二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;(3)1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤(1)在Windows 平台下安装与配置MySQL 5.5.36 版。
(2)在服务对话框中,手动启动或者关闭MySQL 服务。
(3)使用Net 命令启动或关闭MySQL 服务。
开始--运行--cmd--输入“net start mysql”回车,启动成功;输入“net--stop--mysql”回车,停止。
(4)分别用Navicat 工具和命令行方式登录MySQL。
①打开Navicat for MySQL,文件--新建连接--确定。
②开始--运行--cmd,输入mysql -h hostname(如果服务器在本机,可以输入localhost或127.0.0.1)user -p 回车后,系统会提示“Enter password”,输入配置的密码就可以登录上了。
(5)创建数据库。
①使用Navicat 创建学生信息管理数据库gradem。
②使用SQL 语句创建数据库MyDB。
①打开Navicat for MySQL,文件--新建连接--常规(设置连接名MySQL,主机名localhost)。
②使用Windows命令行方式登录MySQL,然后输入CREATE DATABASE mydb;回车,显示Query OK, 1 row affected (0.00 sec)创建成功。
数据库实验及答案实验二SQL语言的基本操作实验目的和要求:掌握利用SQL语句完成各种查询操作的能力。
重点掌握用SELECT 语句进行各种查询;掌握INSERT语句的用法。
实验内容:用SQL语句完成一下的要求:1.查询信息系(IS)的所有学生信息select * from student where sdept=’is’2.查询选修了“数学”课的所有学生名单Select s.sno,snameFrom student s,course c,scWhere s.sno=sc.sno and /doc/6b13656175.html,o=/doc /6b13656175.html,o and cname=’数学’3.查询至少选修了一门其直接先行课为5号课程的学生的姓名。
Select snameFrom student s, sc, course cWhere s.sno=sc.sno and /doc/6b13656175.html,o=/doc /6b13656175.html,o and pcno=’5’4.查询全体学生的姓名和出生年份。
select sname,year(now())-sage as '出生年份' from student5.查询所有姓王的学生。
select *from student where sname like '王%'6.查询选修了3号课程的学生姓名及成绩,并按成绩降序排序。
Select sname,gradeFrom student s, scWhere s.sno=sc.sno and /doc/6b13656175.html,o=’3’Order by grade desc7.查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。
Select *From studentOrder by sdept asc,age desc8.计算2号课程的平均成绩。
河南工程学院计算机科学与工程系数据库系统原理实验报告册学期:课程:专业:班级:学号:姓名:指导教师:目录实验一 SQL Server 2000安装、数据库创建及管理 (1)一、实验学时 (1)二、实验目的 (1)三、实验内容 (1)四、实验要求 (13)五、代码清单 (13)六、实验中出现的问题及解决的方法 (15)七、思考讨论题或体会或对改进实验的建议 (16)实验二表和表数据的操作 (17)一、实验学时 (17)二、实验目的 (17)三、实验内容 (17)四、实验要求 (22)五、代码清单 (22)六、实验中出现的问题及解决的方法 (24)七、思考讨论题或体会或对改进实验的建议 (25)实验三索引和视图 (26)一、实验学时 (26)二、实验目的 (26)三、实验内容 (26)四、实验要求 (31)五、代码清单 (31)六、实验中出现的问题及解决的方法 (33)七、思考讨论题或体会或对改进实验的建议 (34)实验四 T-SQL程序设计 (35)一、实验学时 (35)二、实验目的 (35)三、实验内容 (35)四、实验要求 (39)五、代码清单 (39)六、实验中出现的问题及解决的方法 (41)七、思考讨论题或体会或对改进实验的建议 (42)实验五数据库安全性 (43)一、实验学时 (43)二、实验目的 (43)三、实验内容 (43)四、实验要求 (46)五、代码清单 (47)六、实验中出现的问题及解决的方法 (49)七、思考讨论题或体会或对改进实验的建议 (49)实验六数据库完整性 (51)一、实验学时 (51)二、实验目的 (51)三、实验内容 (51)四、实验要求 (54)五、代码清单 (54)六、实验中出现的问题及解决的方法 (56)七、思考讨论题或体会或对改进实验的建议 (57)实验一 SQL Server 2000安装、数据库创建及管理一、实验学时:2学时二、实验目的(1)了解安装SQL Server2000的硬件和软件环境。
课程结束各班学委统一收实验报告数据库原理及应用(本科)实验指导书1(报告)计算机信息教研室桂林理工大学信息科学与工程学院二○二○年八月目录实验 1 创建数据库与数据表 (2)实验2 简单查询和连接查询 (10)实验3 嵌套查询和集合查询 (12)实验4 数据完整性 (14)桂林理工大学实验报告班级学号姓名同组实验者无实验名称实验1 创建数据库与数据表日期年月日一、实验目的:1.熟悉SQL SERVER环境;2.掌握数据库和数据表的创建和删除,实践SQL的CREATE、ALTER和DROP命令;3.掌握数据表的创建和数据记录的插入方法。
二、实验环境:Sqlserve数据库管理系统三、实验内容:1. 创建教学管理“JXGL”数据库,并建立学生STUDENT、课程COURSE和选修SC 三个数据表,各表中的数据如下所示:学生STUDENT:(注:CS计算机科学,IS信息系统,MA数学)Sno Sname Ssex Sage Sdept95001李勇M20CS95002刘晨F19IS95003王敏F18MA95004张立M18IS课程COURSE:(注:Pcno 先修课课程号)Cno Cname Pcno Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27C语言64选修SC:Sno Cno Grade9500119295001285 95001388 9500229095002 950033380实验步骤:1.创建教学管理“JXGL”数据库。
(注:可采用可视窗体和SQL命令两种方法创建。
以下是SQL命令方法)(1) 创建教学管理“JXGL”数据库。
在命令窗格中输入如下命令,然后单击“运行”功能钮执行该命令。
CREATE DATABASE JXGL;(2) 在JXGL数据库中建立STUDENT表,并插入记录。
CREATE TABLE STUDENT( Sno char(5) not null unique,Sname char(20) not null unique,Ssex char(1),Sage int,Sdept char(20));INSERT INTO STUDENT V ALUES('95001','李勇','M',20,'CS');INSERT INTO STUDENT V ALUES('95002','刘晨','F',19,'IS');INSERT INTO STUDENT V ALUES('95003','王敏','F',18,'MA');INSERT INTO STUDENT V ALUES('95004','张立','M',18,'IS');1(3) JXGL数据库中建立COURSE表,并插入记录。
数据库实验1-6参考答案实验⼀SQL Server使⽤初步⼀、实验⽬的1、熟悉SQL Server2000的组成及基本功能。
2、掌握SQL Server2000的登录及注册。
3、掌握SQL Server2000企业管理器的使⽤⽅法。
4、熟悉查询分析器的基本使⽤。
⼆、实验预习1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些?答:DBMS是位于⽤户和操作系统之间的⼀层数据管理软件。
常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。
2、SQL Server 2000(2005)的安装步骤?答:以企业版安装为例,步骤为:将企业版安装光盘插⼊光驱后,出现以下提⽰框。
请选择“安装 SQL Server 2000 组件”出现下⾯对话框后,选择 "安装数据库服务器" 。
选择 "下⼀步",然后选择 "本地计算机" 进⾏安装。
在 "安装选择" 窗⼝,选择 "创建新的SQL Server实例..."。
对于初次安装的⽤户,应选⽤这⼀安装模式,不需要使⽤ "⾼级选项" 进⾏安装。
"⾼级选项"中的内容均可在安装完成后进⾏调整。
在 "⽤户信息" 窗⼝,输⼊⽤户信息,并接受软件许可证协议。
在“安装定义”窗⼝,选择“服务器和客户端⼯具”选项进⾏安装。
在“实例名”窗⼝,选择“默认”的实例名称。
在“安装类型”窗⼝,选择“典型”安装选项,并指定“⽬的⽂件夹”。
在 "服务账号" 窗⼝,请选择 "对每个服务使⽤统⼀账户..." 的选项。
在 "⾝份验证模式" 窗⼝,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。
实验一创建、修改数据库和表结构1、用create建立教学数据库的五个基本表:(1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ;(2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ;(3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ;(4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address) ;(5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj);Create Database Student default character set utf8 default COLLATE utf8_bin;Use Student;Create Table Student(SNo c har(20) primary key,SName char(20) ,SSex char(4) default '男',SAge int) ENGINE=InnoDB;Create Table Course(CNo c har(20) primary key,CName char(20) NOT NULL,CRedit f loat) ENGINE=InnoDB;Create Table SC(SNo c har(20) NOT NULL,CNo c har(20) NOT NULL,Grade float,Primary Key(SNo, CNo),Foreign Key(SNo) References Student(SNo) On Delete Cascade,Foreign Key(CNo) References Course(CNo))ENGINE=InnoD B;Create Table T(TNo c har(20) Primary Key,TName char(20) NOT NULL,TSex char(4) default '男',birthday DateTime,dept char(20),title char(20),address char(20))ENGINE=InnoDB;Create Table Salary(TNo c har(20) NOT NULL,jbgz float,zwgz float,hj float,Foreign Key(TNo) References T(TNo) On Delete Cascade)ENGINE=InnoDB;2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列;alter table Student add Dept char(20);(2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。
数据库实验和参考答案上机实验三1.在“学生管理数据库”中用查询分析器创建p82页的课程数据表(表名为kcb),并输入数据内容。
2.用查询分析器在student表中增加一个字段:“电话号码”,字符型,并设置默认值为“1111111”。
3.用查询分析器删除kcb表的主键4.用企业管理器或查询分析器修改course表,设置约束:学时>=学分*16。
5.用查询分析器修改学生管理数据库中的students_dat文件增容方式为一次增加3MB.6.将“学生管理数据库”更名为“学生管理”。
7.将“学生管理”数据库备份到外存中。
8.将“学生管理”数据库的数据导出为excel文件,并保存在外存中。
9.为course表中的课程名建立唯一性索引。
10.将“学生管理”数据库从系统中分离出来。
11. 将“学生管理”数据库附加到企业管理器中。
上机实验四1.分别查询学生表和学生修课表中的全部数据。
2.查询计算机系的学生的姓名、年龄。
3.查询选修了c01号课程的学生的学号和成绩。
4.查询成绩在70到80分之间的学生的学号、课程号和成绩。
5.查询计算机系年龄在18到20之间且性别为“男”的学生的姓名、年龄。
6.查询0412101号学生的修课情况。
7.查询c01号课程成绩最高的分数。
8.查询学生都选修了哪些课程,要求列出课程号。
9.查询Northwind数据库中orders 表的OrderlD、CustomerID和OrderDate,并将最新的定购日期(OrderDate)列在前边。
10.查询Northwind数据库中orders 表的ShipCountry列以B,C,D,F 开始且第三个字符为“a”的OrderlD、CustomerID和ShipCountry的信息。
11.查询Northwind数据库中orders 表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字母是“a”的OrderlD、CustomerlD和ShipCountry的信息。
《数据库原理与应用》实验作业布置实验1 数据库的建立修改与删除完成以下实验报告:《数据库原理与应用》实验报告实验1 数据库的建立修改与删除二、实验环境操作系统:Windows XP。
数据库管理系统:MS SQL Server 2000 或MS SQL Server 2008。
三、实验目的1.熟悉SQL Server 2000上机环境,学会SQL Server 2000“企业管理器”以及“查询分析器”的启动与退出;或熟悉MS SQL Server 2008上机环境,学会SQL Server Management Studio的启动与退出。
2.掌握建立数据库的两种方法。
3.掌握查看和修改数据库的两种方法。
4.掌握删除数据库的两种方法。
四、实验内容(一) 规定内容1. 在用户方便的存储空间上建立存放用户数据库的文件夹。
本实验在D盘根目录下建立文件夹:D:\SQL2000DB,再建立存放T_SQL源代码的文件夹:D:\SQL2000DB\T_SQL 2.利用企业管理器创建学生课程数据库ST,参数如表1.1所示。
3.利用企业管理器查看ST数据库的属性。
4.使用T-SQL语句建立学生-课程数据库ST,参数如表1.1所示。
5.使用T-SQL语句建立数据库JXDB,参数如表1.2所示。
6.使用T-SQL语句为数据库JXDB添加文件组JX_Group2,并为此文件组添加1个数据文件JXDB_Data4;添加1个日志文件JXDB_log1。
参数由用户自己设定。
7.使用T-SQL语句修改数据库JXDB中次数据文件JXDB_Data4的属性:文件初始大小改为5M,增长方式改为每次按20%增长。
删除日志文件JXDB_log1。
8.使用T-SQL语句删除数据库JXDB。
(二) 自定内容五、出现的问题及解决方法实验2 表结构的建立修改删除及完整性约束条件定义完成以下实验报告:《数据库原理与应用》实验报告一、实验题目实验2 表结构的建立修改删除及完整性约束条件定义二、实验环境操作系统:Windows XP。
数据库实验和参考答案上机实验三1.在“学生管理数据库”中用查询分析器创建p82页的课程数据表(表名为kcb),并输入数据内容。
2.用查询分析器在student表中增加一个字段:“电话号码”,字符型,并设置默认值为“1111111”。
3.用查询分析器删除kcb表的主键4.用企业管理器或查询分析器修改course表,设置约束:学时>=学分*16。
5.用查询分析器修改学生管理数据库中的students_dat文件增容方式为一次增加3MB.6.将“学生管理数据库”更名为“学生管理”。
7.将“学生管理”数据库备份到外存中。
8.将“学生管理”数据库的数据导出为excel文件,并保存在外存中。
9.为course表中的课程名建立唯一性索引。
10.将“学生管理”数据库从系统中分离出来。
11. 将“学生管理”数据库附加到企业管理器中。
上机实验四1.分别查询学生表和学生修课表中的全部数据。
2.查询计算机系的学生的姓名、年龄。
3.查询选修了c01号课程的学生的学号和成绩。
4.查询成绩在70到80分之间的学生的学号、课程号和成绩。
5.查询计算机系年龄在18到20之间且性别为“男”的学生的姓名、年龄。
6.查询0412101号学生的修课情况。
7.查询c01号课程成绩最高的分数。
8.查询学生都选修了哪些课程,要求列出课程号。
9.查询Northwind数据库中orders 表的OrderlD、CustomerID和OrderDate,并将最新的定购日期(OrderDate)列在前边。
10.查询Northwind数据库中orders 表的ShipCountry列以B,C,D,F 开始且第三个字符为“a”的OrderlD、CustomerID和ShipCountry的信息。
11.查询Northwind数据库中orders 表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字母是“a”的OrderlD、CustomerlD和ShipCountry的信息。
最新国家开放大学电大《MySQL数据库应用》网络核心课实验训练1及3答案盗传必究本课程分为形成性考核和终结性末考两种考核形式,形成性考核占50%(满分100分),末考为网络考试占50%(满分100),其中形成性考核为完成课程网站上的形考作业任务,形考作业均为主观题,包括四个实训:实训一:在MYSQL创建数据库和表,25分;实训二:数据查询操作,25分;实训三:数据增删改操作,25分;实训四:数据库系统维护,25分。
实验训练1 在MySQL中创建数据库和表答案:步骤:1、使用 show 语句找出在服务器上当前存在什么数据库:mysql>show databases;2、创建一个数据库 test :mysql>create database test;3、选择你所创建的数据库:mysql>use test;4 创建一个数据表:首先查看刚才创建的数据库中存在什么表:mysql>show tables;(说明刚才创建的数据库中还没有数据库表)接着我们创建一个关于 students 的数据表:包括学生的学号 (id) ,姓名 (name) ,性别 (sex) ,年龄 (age) 。
mysql>create table students(id int unsigned not null auto_increment primary key,name char(8) not null,sex char(4) not null,age tinyint unsigned not null,);解释:以 "id int unsigned not null auto_increment primary key" 行进行介绍 :"id" 为列的名称 ;"int" 指定该列的类型为 int( 取值范围为 -8388608 到 8388607), 在后面我们又用 "unsigned" 加以修饰 , 表示该类型为无符号型 , 此时该列的取值范围为 0 到 16777215;"not null" 说明该列的值不能为空 , 必须要填 , 如果不指定该属性 , 默认可为空 ;"auto_increment" 需在整数列中使用 , 其作用是在插入数据时若该列为 NULL, MySQL 将自动产生一个比现存值更大的唯一标识符值。
实验三关系查询与连接首先,将sales表中tot_amt的值计算出来。
update sales set tot_amt=0goselect order_no,tot=sum(qty*unit_price)into aa1from sale_itemgroup by order_nogoselect * from aa1goupdate sales set tot_amt=totfrom sales,aa1where aa1.order_no=sales.order_nogo1、查找所有经理的姓名、职称、薪水。
select emp_name ,title,salaryfrom employeewhere title='经理'2、查找出姓“王”并且姓名的最后一个字为“功”的员工。
select *from employeewhere emp_name like '王%功'//3、添加一条记录至employee表(用INSERT…..INTO)。
insert into employee(emp_no,emp_name,sex,dept,title,date_hired,salary)values('E0025','彭江','M','业务','职员',1900/01/21,43200)//4、将每个员工的薪水上调3%。
update employeeset salary=salary*1.03select *from employee3、查找住在上海或北京的女员工,并显示其姓名、所属部门、职称、住址select emp_name,dept,title,addrfrom employeewhere (addr='上海市' or addr= '北京市')and sex='F'4、在表sales中挑出销售金额大于等于10000元订单select *from saleswhere tot_amt>=10000.005、选取订单金额最高的前10%的订单数据。
数据库上机实验答案下面的示例创建名为Sales的数据库。
因为没有使用关键字PRIMARY,第一个文件(Sales_dat)成为主文件。
因为Sales.dat文件的SIZE参数没有指定MB或KB,因此默认为MB,以兆字节为单位进行分配。
Sales_log文件以兆字节为单位进行分配,因为SIZE参数中显式声明了MB后缀。
USE masterGOCREATE DATABASE SalesON(NAME = Sales_dat,FILENAME 二'c:\program fi les\microsoft sqIserver\mssqI\data\saIedat. mdf',SIZE = 10,MAXSI ZE 二50,FILEGROWTH = 5 )LOG ON(NAME 二'Sales_log',FILENAME 二* c:\program fi les\microsoft sqIserver\mssqI\data\saIe丨og. Idf',SIZE = 5MB,MAXSI ZE 二25MB,FILEGROWTH 二5MB )GOB.指定多个数据文件和事务日志文件创建数据库下面的示例使用三个100 MB的数据文件和两个100 MB的事务日志文件创建了名为Archive的数据库。
主文件是列表中的第一个文件,并使用PR I MARY关键字显式指定。
事务日志文件在LOG ON关键字后指定"注意FILENAME选项中所用的文件扩展名:主要数据文件使用.nidf,次要数据文件使用.ndf,事务日志文件使用.IdfoUSE masterGOCREATE DATABASE ArchiveONPR I MARY ( NAME 二Archl,FILENAME 二'c:\program fi les\microsoft sqIserver\mssqI\data\archdat1. mdf',SIZE 二WOMB,MAXSI ZE 二200,FILEGROWTH = 20),(NAME 二Arch2,FILENAME 二1 c:\program fi les\microsoft sqIserver\mssqI\data'archdat2. ndf',SIZE = 100MB,MAXSI ZE = 200,FILEGROWTH 二20),(NAME 二Arch3,FILENAME 二'c:\program fi les\microsoft sqI server\mssqI\data\archdat3.ndf',SIZE 二WOMB,MAXSIZE 二200,FILEGROWTH 二20)LOG ON(NAME 二Archlogl,FILENAME 二’c:\program fi les\microsoft sqI server\mssqI\data\archIog1. Idf', SIZE 二100MB,MAXSI ZE 二200,FILEGROWTH 二20),(NAME 二Archlog2,FILENAME 二'c:\program fi les\microsoft sqI server\mssqI\data\archIog2.Idf',SIZE 二100MB,MAXSI ZE 二200,FILEGROWTH 二20)GO c.创建简单的数据库本例创建名为Products的数据库,并指定单个文件。
指定的文件成为主文件, 并会自动创建一个1MB的事务日志文件。
因为主文件的SIZE参数中没有指定MB或KB,所以主文件将以兆字节为单位进行分配。
因为没有为事务日志文件指定<filespec>,所以事务日志文件没有MAXSIZE,可以增长到填满所有可用的磁盘空间为止。
USE masterGOCREATE DATABASE ProductsON(NAME 二prods_dat,FILENAME 二1 c:\program fi les\microsoft sqIserver\mssqI\data\prods. mdf',SIZE 二4,MAXSI ZE 二10,FILEGROWTH 二 1 )GOD.不指定文件创建数据库下面的示例创建名为mytest的数据库,并创建相应的主文件和事务日志文件。
因为该语句没有<filespec>项,所以主数据库文件的大小为model数据库主文件的大小。
事务日志文件的大小为model数据库事务日志文件的大小。
因为没有指定MAXSIZE,文件可以增长到填满所有可用的磁盘空间为止。
CREATE DATABASE mytestE. 不指定SIZE创建数据库下面的示例创建名为products2的数据库。
文件prods2_dat将成为主文件, 大小等于model数据库中主文件的大小。
事务日志文件会自动创建,其大小为主文件大小的25%或512 KB中的较大值。
因为没有指定MAXSIZE,文件可以增长到填满所有可用的磁盘空间为止。
USE masterGOCREATE DATABASE Products2ON(NAME 二prods2_dat,FILENAME 二'c:\program fi les\microsoft sqIserver\mssqI\data\prods2. mdf')GOF. 使用文件组创建数据库下面的示例使用三个文件组创建名为sales的数据库:•主文件组包含文件Spri1_dat和Spri2_dat o指定这些文件的FI LEGROWTH 增量为15%。
•名为SalesGroupI的文件组包含文件SGrp1Fi1和SGrp1Fi2o•名为SalesGroup2的文件组包含文件SGrp2Fi1和SGrp2Fi2。
CREATE DATABASE SalesON PR I MARY(NAME 二SPri1_dat,FILENAME 二’c:\program fi Ies\microsoft sqI server\mssqI\data\SPr i1dat. mdf',SIZE 二10,MAXSI ZE = 50,FILEGROWTH 二15% ),(NAME 二SPri2_dat,FILENAME 二J c:\program fi les\microsoft sqI server\mssqI\data\SPr i 2dt. ndf',SIZE 二10,MAXS I ZE 二50,FILEGROWTH =15%),Fl LEGROUP SalesGroupI(NAME 二SGrp1Fi1_dat,FILENAME 二’c:\program fi les\microsoft sqI server\mssqI\data\SG1Fi1dt. ndf',SIZE 二10,MAXS I ZE = 50,FILEGROWTH = 5 ),(NAME 二SGrp1Fi2_dat,FILENAME 二'c:\program fi les\microsoft sqI server\mssqI\data\SG1Fi2dt. ndf',SIZE 二10,MAXS I ZE = 50,FILEGROWTH 二 5 ),FI LEGROUP SalesGroup2(NAME = SGrp2Fi1_dat,FILENAME 二J c:\program fi les\microsoft sqI server\mssqI\data\SG2Fi1dt. ndf1 ,SIZE 二10,MAXS I ZE 二50,FILEGROWTH 二 5 ),(NAME 二SGrp2Fi2_dat,FILENAME 二'c:\program fi les\microsoft sqI server\mssqI\data\SG2F i 2dt. ndf1 ,SIZE 二10,MAXSI ZE 二50,FILEGROWTH 二 5 )LOG ON(NAME 二'Sales_log',FILENAME 二’c:\program fi les\microsoft sqI server\mssqI\data\salelog. Idf',SIZE 二5MB,MAXSI ZE 二25MB,FILEGROWTH 二5MB )GOG. 附加数据库示例B创建一个包含下列物理文件的名为Archive的数据库:c:\program fi les\microsoft sqI server\mssqI\data'archda• mdfc:\program f i les\microsoft sq I server\mssqI\data'archdat2. ndfc:\program fi les\microsoft sq I server\mssqI\data'archdat3・ ndfc:\program f i Ies\microsoft sq I server\mssqI\data\archlog1. Idfc:\program f i les\microsoft sq I server\mssqI\data\archlog2・ Idf可以使用sp_detach_db存储过程分离该数据库,然后使用带有FOR ATTACH子句的CREATE DATABASE重新附加。
sp_detach_db Arch i veGOCREATE DATABASE ArchiveON PR I MARY (FILENAME 二J c:\program fi les\microsoft sqIserver\mssqI\data'archda. mdf')FOR ATTACHGOH. 使用原始分区下面的示例使用原始分区创建名为Employees的数据库。
执行语句时,原始分区必须存在,并且每个原始分区只能创建一个文件。
USE masterGOCREATE DATABASE EmployeesON(NAME 二Empl_dat,FILENAME 二’f:',SIZE = 10,MAXSIZE = 50,FILEGROWTH 二 5 )LOG ON(NAME 二'Sales_log', FILENAME 二'g:', SIZE = 5MB, MAXSIZE 二25MB,FILEGROWTH 二5MB ) GOi.使用已装入的驱动器下面的示例使用指向原始分区的已装入驱动器创建名为Employees的数据库。