(2)数据库实验

合集下载

数据库实验2-数据库及表的创建与管理(DDL应用)

数据库实验2-数据库及表的创建与管理(DDL应用)

实验二数据库及表的创建与管理(DDL应用)姓名:学号:专业:网络工程班级:20网络工程同组人:无实验日期:一、【实验目的与要求】1.熟悉SQL Server 2005 的环境2.了解使用企业管理器创建数据库的过程和方法3.了解使用企业管理器创建数据库的过程和方法二、【实验准备】1.安装并配置好SQL Server 2005数据库2.设计好数据库创建各参数,准备好测试数据三、【实验要求】1.完成数据库的创建与管理2.完成表的创建与管理。

3. 熟悉SQL Server 2005中企业管理器和查询分析器两个常用管理工具四、【实验内容】1. 数据库创建与管理2. 表的创建、管理及数据操作。

五、【实验步骤】1. 准备工作(1)安装完成SQL Server 2005安装。

(2) 打开企业管理器(3)连接数据库2.数据库的创建与修改准备工作:在C盘下创建目录Exam03,用于存放数据库创建时产生的数据文件。

(1) 数据库的创建使数据定义语句Create Database可以创建数据库,该语句在使用时可指明数据文件和日志文件存放的路径,初始数据文件的大小等参数。

阅读以下是创建数据库SalesDB的SQL语句,理解其功能,并置于查询分析器中执行:create database SalesDBon(name= SalesDB_data,--数据文件的逻辑名称,注意不能与日志逻辑同名filename='C:\Exam03\SalesDB.mdf' ,--物理名称,注意路径必须存在size=20, --数据初始长度为10Mmaxsize=100, --最大长度为100Mfilegrowth=5 --数据文件每次增长1M)log on(name= SalesDB_log,filename='C:\Exam03\SalesDB.ldf ' ,size=20 ,maxsize=50 ,filegrowth=5)在查询分析器中执行上述语句建立数据库SalesDB。

数据库实验实验报告

数据库实验实验报告

一、实验目的1. 熟悉数据库的基本概念和结构。

2. 掌握数据库的创建、修改和删除操作。

3. 熟练运用SQL语言进行数据的查询、插入、更新和删除操作。

4. 了解数据库的安全性和备份与恢复。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建数据库2. 创建表3. 插入数据4. 查询数据5. 更新数据6. 删除数据7. 修改表结构8. 删除表9. 数据库备份与恢复四、实验步骤1. 创建数据库(1)打开MySQL Workbench,连接到本地MySQL服务器。

(2)在“查询”窗口中输入以下SQL语句创建数据库:```sqlCREATE DATABASE student;```(3)执行SQL语句,创建名为student的数据库。

2. 创建表(1)在“查询”窗口中输入以下SQL语句创建学生表:```sqlCREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));```(2)执行SQL语句,创建名为student的表。

3. 插入数据(1)在“查询”窗口中输入以下SQL语句插入数据:```sqlINSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, '男'); INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 21, '男'); INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 22, '女'); ```(2)执行SQL语句,向student表中插入三条数据。

数据库技术与应用实验报告

数据库技术与应用实验报告

数据库技术与应用实验报告一、实验目的本次实验的主要目的是深入了解数据库技术的基本原理和应用,通过实际操作掌握数据库的创建、管理、数据操作以及查询优化等方面的技能。

同时,培养解决实际问题的能力,提高对数据库系统的综合运用水平。

二、实验环境本次实验使用的软件环境为 MySQL 数据库管理系统,操作系统为Windows 10。

三、实验内容与步骤(一)数据库创建1、打开 MySQL 客户端,使用以下命令创建数据库:```sqlCREATE DATABASE database_name;```其中,`database_name` 为自定义的数据库名称。

2、使用以下命令选择创建的数据库:```sqlUSE database_name;```(二)表的创建1、根据实验要求,设计表结构,包括字段名、数据类型、约束条件等。

例如,创建一个名为`students` 的表,包含`id`(整数类型,主键)、`name`(字符串类型)、`age`(整数类型)字段,使用以下命令:```sqlCREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT);```(三)数据插入1、使用`INSERT INTO` 语句向表中插入数据。

例如,向`students` 表中插入一条记录:```sqlINSERT INTO students (id, name, age) VALUES (1, '张三', 20);```(四)数据查询1、使用`SELECT` 语句进行简单查询,获取表中的数据。

例如,查询`students` 表中所有记录:```sqlSELECT FROM students;```2、使用条件查询,获取符合特定条件的数据。

例如,查询年龄大于 18 岁的学生记录:```sqlSELECT FROM students WHERE age > 18;```(五)数据更新1、使用`UPDATE` 语句更新表中的数据。

数据库实验二创建数据库和表

数据库实验二创建数据库和表

实验二创建数据库和表一、实验目的1、掌握使用SQL语句创建和删除数据库。

2、了解SQL Server的基本数据类型和表结构特点。

3、掌握使用SQL语句创建和删除数据表,修改表的结构。

二、实验内容(一)数据库的建立1、在对象资源管理器里建立名为“stu”的数据库。

写出其默认的各参数(包括逻辑文件名、物理文件名、文件初始大小、增长方式、增长大小等)。

答:其默认的个参数如下所示:行数据文件——逻辑文件名stu,物理文件名空值,文件初始大小3MB,自动增长,增量为1MB,不限制增长。

日志文件——逻辑文件名stu_log,物理文件名空值,文件初始大小1MB,自动增长,增量为10%,不限制增长。

2、在“查询分析器”中使用CREATE DATABASE语句创建名为“student”的数据库,要求如下:数据文件的逻辑文件名为:Students_dat,物理文件名Students.mdf,存放在D:\TEST 文件夹下;文件的初始大小为:1MB;增长方式为自动增长,每次增加1MB;日志文件的逻辑文件名为:Students_log,物理文件名Students.ldf,也存放在D:\TEST文件夹下;文件的初始大小为:1MB;增长方式为自动增长,每次增加10%。

答:语句如下所示:CREATE DATABASE studentON PRIMARY(NAME = Students_dat,FILENAME = ‘D:\ TEST\Students.mdf’,SIZE = 3mb,MAXSIZE = UNLIMITED, FILEGROWTH=1mb)LOG ON(NAME = Students_log,FILENAME = ‘D:\ TEST\Students.ldf’,SIZE = 3mb, MAXSIZE = UNLIMITED, FILEGROWTH=10%)COLLATE Chinese_PRC_CI_ASGO3、用SQL语句删除数据库stu。

SQL实验二:数据库查询实验报告

SQL实验二:数据库查询实验报告

实验二数据库的查询实验实验目的和要求(1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。

(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

(3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

实验内容和原理在实验一定义的“学生成绩数据库”中,使用T-SQL 语句完成以下查询:(1 )求计算机系学生的学号和姓名。

(2)求选修了数学的学生学号、姓名和成绩。

(3)求选修01 课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

(4)查找选修课程的平均成绩位于前三名的学生的学号。

(5)查询计算机系的姓刘且单名的学生的信息。

(6)查询至少选修两门课程的学生学号。

(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。

(8)查询选修“数据库”课程,且成绩在80 分以上的学生的学号和成绩。

(9)查询所有姓“王”的同学没有选修的课程名。

(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。

(请至少写出两种查询语句)(11)求选修了学生“ 95001”所选修的全部课程的学生学号和姓名。

(12)查询每一门课的间接先修课。

(13)列出所有学生所有可能的选课情况。

(14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。

(15)输出与“张三”同性别并位于同一个系的所有同学的姓名。

(请至少写出两种查询语句)(16)查询至少被两名男生选修的课程名。

(17)对被两名以上学生所选修的课程统计每门课的选课人数。

要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。

(18)列出选修课程超过 3 门的学生姓名及选修门数。

(19)检索至少选修课程号为01 和03 的学生姓名。

(20)检索至少选修课程“数学”和“操作系统”的学生学号。

(21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系(22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩(23)所有成绩都在70 分以上的学生姓名及所在系。

数据库实验报告

数据库实验报告

实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。

实验内容:具体包括如下三部分。

一、熟悉上机环境。

客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。

具体包括:1.了解SQL Server 环境。

鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。

点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。

因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。

2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。

如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。

3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。

二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。

1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。

数据库实验答案实验二Sql

数据库实验答案实验二Sql

(1) 查找有销售记录的客户编号、名称和订单总额。

命令:SELECT a.CustomerNo,CustomerName, sum(quantity*price) orderSumFROM OrderMaster a,OrderDetail b,Customer cWHERE b.orderNo=a.orderNo AND c.CustomerNo=a.CustomerNoGROUP BY a.CustomerNo,CustomerNameORDER BY a.CustomerNo,orderSum DESC(2) 在订单明细表中查询订单金额最高的订单。

命令:SELECT top 1 orderNo,sum(quantity*price)订单金额FROM OrderDetailGROUP BY orderNoORDER BY 订单金额DESC(3) 查询没有订购商品的客户编号和客户名称。

命令:SELECT CustomerNo,CustomerNameFROM CustomerWHERE CustomerNo NOT IN (SELECT CustomerNo FROM OrderMaster)(4) 找出至少被订购3次的商品编号、订单编号、订货数量和订货金额,并按订货数量的降序排序输出。

命令:SELECT a.productNo,orderNo,quantity,(quantity*price) moneyFROM OrderDetail a,(SELECT productNoFROM OrderDetailGROUP BY productNoHA VING COUNT(*)>=3) bWHERE a.productNo =b.productNoORDER BY a.productNo,quantity DESC被订购三件以上的……SELECT b.ProductNo,orderNo,quantity,orderSum=quantity*priceFROM OrderDetail b,(SELECT ProductNo FROM(SELECT ProductNo,sum(quantity)SQfrom OrderDetail GROUP BY ProductNo)aWHERE a.SQ>3)cWHERE b.ProductNo=c.ProductNoORDER BY b.quantity DESC(5) 使用子查询查找32M DRAM的销售情况,要求显示相应的销售员的姓名、性别,销售日期、销售数量和金额,其中性别用“男”、“女”表示。

数据库原理综合实验报告

数据库原理综合实验报告

实验六数据库原理综合实验1实验目的(1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。

以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。

(2)对前面章节所学的知识加以综合应用。

2实验内容给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。

(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。

完成下面的工作2.1 数据库概念模型设计(1)进行需求分析。

-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法)(2)识别系统中的实体及实体的属性,分析实体之间的联系。

(3)设计数据库概念模型,画出E-R图。

2.2 数据库逻辑模型设计(1)根据数据库概念模型设计数据库的逻辑模型。

-将E-R模型转化到逻辑模型(2)根据应用需要和规范化理论对逻辑模型进行优化。

2.3 数据库物理模型设计(1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。

(2)优化物理模型(3)生成某种DBMS的SQL语句,创建数据库及其表。

2.4 装载数据(1)收集真实数据或者生成模拟数据。

(2)批量加载数据到数据库中。

(3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,以测试数据库性能。

3实验要求(1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。

(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。

(3)要设计良好的数据库完整性约束。

(4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点?4实验步骤4.1 数据库概念模型设计(1)进行需求分析。

学生需要有学号、姓名、性别、年龄、专业等信息。

选课需要有学号、课号、成绩等信息课程需要有课程号、课程名、先修课、学分等信息(2)设计数据库概念模型,画出E-R图。

《数据库实验》实验二 数据操作实验

《数据库实验》实验二 数据操作实验

院系:计算机学院实验课程:数据库实验实验项目:数据操作实验指导老师:XXX开课时间:XXXX ~ XXXX年度第 2学期专业:XXXX班级:XXXX级本X班学生:XXX学号:XXXXXXXX实验二数据操作实验一、实验任务及目的1. 实验任务:上机完成实验内容,主要是编写、运行和分析SQL,请预先自行判断SQL 的运行结果(例如:查询结果包含哪些数据;更新后关系数据如何变化),然后与实际的运行结果比较,以此发现和修正SQL编写中的错误。

2. 实验目的:能够熟练使用MS SQL Server的Query Analyzer工具,联机运行SQL并观察分析SQL的执行结果。

掌握SQL的数据定义、数据查询和数据修改功能,能独立用SQL表述问题,解决较复杂的应用需求。

二、实验的主要硬件软件环境MS SQL Server、计算机磁盘三、实验主要数据结构线性表四、实验的主要算法1.至少向北京或天津的工程提供了零件的供应商名,供应的零件名、工程名和供应数量。

SELECT PNAME,JNAME,SNAME,QTYFROM S,P,J,SPJWHERE SPJ.SNO=S.SNOAND SPJ.JNO=J.JNOAND SPJ.PNO=P.PNOAND (J.CITY=’上海’ OR J.CITY=’天津’)2.供应红色零件给工程J1的供应商名SELECT SNAMEFROM S,P,SPJWHERE SPJ.JNO=’J1’AND SPJ.SNO=S.SNOAND SPJ.PNO=P.PNOAND COLOR=’红’3. 没有使用天津产的零件的工程号SELECT JNOFROM JWHERE JNO NOT IN(SELECT JNOFROM SPJ,SWHERE SPJ.SNO=S.SNOAND CITY=’天津’)4.没有向位于相同城市的工程供应零件的供应商名SELECT SNAMEFROM SWHERE SNAME NOT IN( SELECT SNAMEFROM S,J,SPJWHERE SPJ.JNO=J.JNOAND SPJ.SNO=S.SNOAND S.CITY=J.CITY)5. 和工程J3位于同一城市且使用过至少一种相同零件的其它工程名SELECT DISTINCT(JNAME)FROM J,SPJWHERE SPJ.JNO=J.JNOAND CITY IN(SELECT CITYFROM JWHERE J.JNO=’J3’)AND JNAME NOT IN(SELECT JNAMEFROM JWHERE J.JNO=’J3’)6. 每种颜色零件的总重量SELECT COLOR,SUM(WEIGHT)FROM PGROUP BY (COLOR)7.红色零件的平均重量SELECT AVG(WEIGHT)FROM PWHERE COLOR=’红’8.供应商最集中的城市(意即,哪个城市的供应商最多?)SELECT S.CITYFROM SGROUP BY (CITY)HAVING COUNT(CITY)>=ALL(SELECT COUNT(CITY)FROM SGROUP BY (CITY))9.对上海和天津,统计该城市的供应商一共供应了多少数量的零件。

数据查询(数据库实验2)

数据查询(数据库实验2)

数据库基础与实践实验报告实验二数据查询班级:惠普测试142学号:**********姓名:***日期:2016-11-061 实验目的:1)掌握针对单张基本表的数据查询方法;2)掌握SQL常用库函数及统计汇总查询方法;3)掌握分组查询方法和结果排序的方法;4)掌握连接查询和嵌套查询的方法。

2 实验平台:操作系统:Windows xp。

实验环境:SQL Server 2000以上版本。

3 实验内容与步骤利用实验一创建的sch_id数据库完成下列查询,并对查询语句的功能进行测试。

1.查询学号s5的同学的姓名和所在系,将查询结果的列名显示为中文。

代码:SELECT sn AS姓名,dn AS所在系FROM S,D WHERE S.sno='S5'AND S.dno=D.dno测试记录:S:D:运行结果截图:2.查询教过课程号为C2或C5的课程的教师的编号(写两个查询语句完成同样的功能)代码::SELECT tno FROM TC WHERE cno='C2'OR cno='C5'SELECT tno FROM TC WHERE cno IN('C2','C5')测试记录:运行结果截图:3.查询学号为S5的同学所学课程的平均成绩。

代码:SELECT A VG(score)AS'平均分'FROM SC WHERE sno='S5'测试记录:运行结果截图:4.查询选过课程号为C1的课程的人数。

代码:SELECT COUNT(*)FROM SC WHERE cno='C1'测试记录:运行结果截图:5.查询计算机系学生的最大年龄,显示系名和最大年龄(查询结果的每列都要有列名且为中文)。

代码:SELECT dn AS系名,MAX(age)AS'最大年龄'FROM S,D WHERE S.dno=D.dno AND D.dn='计算机'GROUP BY dn测试记录:运行结果截图:6.查询所有教过课的老师的人数(教过多门课的同一位老师只计数1次)。

数据库实验二

数据库实验二

实验(二): 熟练掌握SQL语言1.求选修了课程的学生的学号,要求:(1) 不使用distinct语句,消除重复元组,写出其SQL语句select SC.Sno from SC;(2)使用distinct语句,消除重复元组,写出其SQL语句selectdistinct(SC.Sno)from SC;(3)如果该查询写成:select Student.Sno from Student, SC where Student.Sno=SC.Sno 请问该查询结果和上面哪个结果是相同的?select Student.Sno from Student,SCwhere Student.Sno=SC.Sno;查询结果和第一个结果相同。

2.求开设的课程号、课程名、学时和学分,要求对查询结果的列重新命名。

select Cno '课程号',Cname '课程名',Ctime '学时',Ccredit '学分'from Course;3.求计算机系和数学系的学生学号、姓名和年龄。

select Sno,Sname,Sagefrom Studentwhere Sdept='计算机系'or Sdept='数学系';4.求不是数学系、计算机系的学生的情况,要求select后写*代替列出所有的列名。

select*from Studentwhere Sdept!='计算机系'and Sdept!='数学系';5.求全体学生的信息,要求按年龄升序排列。

select*from Studentorderby Sage;6.求计算机系年龄在18~20岁之间的学生姓名和年龄。

select Sname,Sagefrom Studentwhere Sdept='计算机系'and Sage>=18 and Sage<=20;7.求姓名是以”李”开头的计算机系学生。

数据库实习实验报告

数据库实习实验报告

一、实验目的通过本次数据库实习,使学生了解数据库的基本概念、设计方法及实际应用,掌握数据库的基本操作,提高数据库设计及维护能力。

本实验旨在通过具体的实验操作,让学生深入理解数据库的理论知识,并能够将其应用于实际项目中。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库设计(1)需求分析本实验以图书管理系统为例,分析图书管理系统的需求,包括图书信息、读者信息、借阅信息等。

(2)概念结构设计根据需求分析,设计图书管理系统的E-R图,包括实体、属性和联系。

(3)逻辑结构设计将E-R图转换为关系模型,确定实体和实体的属性,以及实体之间的关系。

(4)物理结构设计根据逻辑结构设计,确定数据库的表结构,包括字段类型、长度、约束等。

2. 数据库创建与操作(1)创建数据库在MySQL Workbench中,创建一个名为“library”的数据库。

(2)创建表根据物理结构设计,创建图书信息表(books)、读者信息表(readers)和借阅信息表(borrow_info)。

(3)插入数据向创建的表中插入一些测试数据。

(4)查询数据通过SQL语句查询图书信息、读者信息和借阅信息。

(5)更新数据通过SQL语句更新图书信息、读者信息和借阅信息。

(6)删除数据通过SQL语句删除图书信息、读者信息和借阅信息。

3. 数据库维护(1)备份与恢复使用MySQL Workbench的备份功能,备份数据库。

使用MySQL Workbench的恢复功能,恢复数据库。

(2)性能优化根据查询结果,分析数据库性能,优化查询语句。

(3)用户管理创建数据库用户,设置用户权限。

四、实验步骤1. 打开MySQL Workbench,连接到MySQL服务器。

2. 创建数据库“library”。

3. 创建图书信息表(books)、读者信息表(readers)和借阅信息表(borrow_info)。

数据库原理与应用(实验二)

数据库原理与应用(实验二)

《数据库原理与应用》实验报告(二)
----数据访问控制一、实验目的
熟练掌握表的创建和管理,会使用SQL语句来实现数据库中的表的相关操作。

二、实验内容
1、使用SQL命令CREATE创建基本表book0、reader0、borrow0。

2、使用ALTER命令修改基本表。

请将基本表book的bookname列宽改为40;
3、使用INSERT语句向基本表book0、reader0、borrow0添加记录。

4、使用SELECT命令进行数据查询。

三、实验总结
在实验中,遇到了以下问题,不过经过老师的讲解和自己的努力都取得了圆满解决。

1、实验室的电脑中已经创建了book,reader,borrow表,但我又不知道这些表的数据是否完整,所以我只能以book0,reader0,borrow0为表名创建新表并录入完整数据;
2、在录入数据的过程中,用到了大量相似的语句,在SQL*Plus中直接输入又容易出错,所以我先在Word文档中输入语句,检查没错误后,复制到SQL*Plus中执行;
3、查询语句的输入工作量大又极易出错,一个字母的少输或一个单词的输入错误都会出错,解决办法和2相同,先将语句输入Word文档,检查无误后,再复制到SQL*Plus 中执行,可极大的减少出错率。

数据库实验二实验报告

数据库实验二实验报告

_数据库实验二课程实验报告实验名称:姓名班级学号实验台编号同组学生实验课表现出勤、表现得分25% 实验报告得分50%实验总分操作结果得分25%实验目的:1.掌握SELECT语句的基本语法2.掌握SELECT语句中的SELECT子句的作用及使用方法3.掌握SELECT语句中的WHERE子句的作用及使用方法4.掌握SELECT语句中的ORDER BY子句的作用及使用方法5.掌握集合函数的作用及使用方法6.掌握SELECT语句中的GROUP BY子句的作用及使用方法7.熟悉内连接、外连接、自连接和非限制连接的概念8.能够熟练使用连接查询从多个表中查询数据9.能够熟练地使用子查询得到想要的数据实验内容:一、简单查询1.查询XS表中各个同学的所有信息。

select* from XS;2.查询XS表中各个同学的姓名、专业名和总学分。

select姓名,专业,总学分from XS;3.查询XS表中所有同学的学号、姓名和总学分,结果中各列的标题分别指定为num,name和mark。

select学号num,姓名name,总学分mark from XS;4.查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。

select distinct专业from XS;5.查询XS表中各个同学的姓名、专业名和总学分,只返回结果集的前5行。

select top 5 姓名,专业,总学分from XS;6.查询XS表中每个学生的学号、姓名和年龄信息。

select datediff(yyyy,出生日期,'2010')年龄from XS;7.查询XS表中专业为“计算机”的同学的情况。

select*from XS where专业='计算机';8.查询XS表中1979年出生的学生姓名和专业情况。

SELECT姓名,专业from XS where year(出生日期)='1979';9.查询XS表中专业名为“计算机”或“电子”或“数学”的学生的情况。

数据库学习实验报告(3篇)

数据库学习实验报告(3篇)

第1篇一、实验目的本次实验旨在通过实际操作,加深对数据库基础知识的理解,掌握数据库的基本操作,包括数据库的创建、表的设计、数据的插入、查询、修改和删除等。

通过本次实验,提高对SQL语言的实际应用能力,为后续深入学习数据库知识打下坚实的基础。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库的创建与删除2. 表的设计与数据类型3. 数据的插入、查询、修改和删除4. 索引与视图的应用四、实验步骤1. 数据库的创建与删除(1)创建数据库```sqlCREATE DATABASE db_student;```(2)删除数据库```sqlDROP DATABASE db_student;```2. 表的设计与数据类型(1)创建学生表```sqlCREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),age INT,gender ENUM('男', '女'),class VARCHAR(50));```(2)创建课程表```sqlCREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),credit INT);```3. 数据的插入、查询、修改和删除(1)插入数据```sqlINSERT INTO student (name, age, gender, class) VALUES ('张三', 20, '男', '计算机科学与技术');INSERT INTO course (name, credit) VALUES ('高等数学', 4);```(2)查询数据```sql-- 查询所有学生信息SELECT FROM student;-- 查询年龄大于20岁的学生信息SELECT FROM student WHERE age > 20;-- 查询课程名称为“高等数学”的课程信息SELECT FROM course WHERE name = '高等数学';```(3)修改数据```sql-- 修改学生张三的年龄为21岁UPDATE student SET age = 21 WHERE name = '张三';-- 修改课程“高等数学”的学分UPDATE course SET credit = 5 WHERE name = '高等数学';```(4)删除数据```sql-- 删除学生张三的信息DELETE FROM student WHERE name = '张三';-- 删除课程“高等数学”的信息DELETE FROM course WHERE name = '高等数学'; ```4. 索引与视图的应用(1)创建索引```sql-- 创建学生表id字段的索引CREATE INDEX idx_student_id ON student(id); -- 创建课程表name字段的索引CREATE INDEX idx_course_name ON course(name); ```(2)创建视图```sql-- 创建包含学生姓名和课程名称的视图CREATE VIEW student_course_view ASSELECT , FROM studentJOIN course ON student.class = course.id;```(3)查询视图数据```sql-- 查询视图中的数据SELECT FROM student_course_view;```五、实验总结通过本次实验,我深入了解了数据库的基本操作,掌握了SQL语言的运用。

数据库实验报告(2)

数据库实验报告(2)

数据库原理及应用实验报告实验二实验题目:SQL基本表查询基本表、索引与视图的定义、删除和修改指导老师:李萍专业班级:计算机科学与技术系1106班姓名:李锋()2013年9月29日实验类型__验证__ 实验室_软件实验室一__ 一、实验题目:SQL 基本表查询基本表、索引与视图的定义、删除和修改二、实验目的和要求:熟悉SQL Server的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。

熟练掌握简单表、索引与视图的创建与修改。

三、实验内容:(1)基本表的建立:a)建立一个“学生表student”,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,其中学号属性为主属性,并且其值是唯一的。

b)建立“课程course”包括课程号kch,课程名称kcmc,先修课程xxkc,学分xf,要求建立主键课程号c)建立“选课表sc”包括学号xh,课程号kch,成绩grade,要求建立主键及与student及sc表联接的外键(2) 基本表的修改:d)在选课表中增加一列“任课教师rkjs”e)删除选课表中rkjs一列f)将student表的xm一列允许空值的属性更改成不允许为空,将列xm的长度由char(8)改为char(10)g)建立一个临时表,再将其删除(3)索引的建立与删除a)在学生表中以学生的姓名建立降序索引b)在课程表中以课程名建立升序,以学分建立降序索引c)删除以上索引(4) 建立、删除和更新视图a)建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。

CREATE VIEW C_Student AS SELECT Sno, Sname, Sage, SdeptFROM StudentsWHERE Sdept=’数学’ WITH CHECK OPTIONb)删除视图在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。

数据库原理实训实验报告

数据库原理实训实验报告

一、实验背景随着信息技术的飞速发展,数据库技术在各行各业的应用越来越广泛。

为了让学生更好地理解和掌握数据库原理,提高数据库应用能力,我们开展了数据库原理实训实验。

本次实验旨在通过实际操作,让学生熟悉数据库的基本概念、结构、操作方法以及应用技巧,培养学生的实践能力和创新意识。

二、实验目的1. 熟悉数据库的基本概念、结构、操作方法以及应用技巧。

2. 掌握数据库设计、创建、操作、查询、维护和安全性管理的基本操作方法和技巧。

3. 提高学生的实践能力和创新意识。

三、实验内容本次实验主要分为以下几个部分:1. 数据库设计2. 数据库创建3. 数据表操作4. 数据查询5. 数据库维护6. 数据库安全性管理四、实验步骤1. 数据库设计首先,我们需要设计一个数据库。

根据实验要求,我们设计了一个学生信息管理系统数据库,包含学生表、课程表、成绩表和教师表。

以下是数据库设计的基本步骤:(1)确定数据库主题:学生信息管理系统(2)分析数据需求:根据需求分析,确定学生信息管理系统需要存储的数据,包括学生基本信息、课程信息、成绩信息和教师信息。

(3)设计数据结构:根据数据需求,设计学生表、课程表、成绩表和教师表的结构,包括字段名、字段类型、字段长度、约束等。

2. 数据库创建完成数据库设计后,我们需要创建数据库。

以下是创建数据库的基本步骤:(1)打开数据库管理工具,如MySQL、SQL Server等。

(2)在工具中创建一个新的数据库,命名为“学生信息管理系统”。

(3)根据数据库设计,在新建的数据库中创建相应的数据表。

3. 数据表操作创建数据表后,我们需要对数据表进行操作,包括插入、修改、删除和查询数据。

(1)插入数据:使用INSERT语句插入数据。

(2)修改数据:使用UPDATE语句修改数据。

(3)删除数据:使用DELETE语句删除数据。

(4)查询数据:使用SELECT语句查询数据。

4. 数据查询数据查询是数据库操作中非常重要的一环。

数据库实验报告(完整版)

数据库实验报告(完整版)

数据库实验报告班级:07111103学号:**********姓名:***实验一:[实验内容1 创建和修改数据库]分别使用SQL Server Management Studio和Transact-SQL语句,按下列要求创建和修改用户数据库。

1.创建一个数据库,要求如下:(1)数据库名"testDB"。

(2)数据库中包含一个数据文件,逻辑文件名为testDB_data,磁盘文件名为testDB_data.mdf,文件初始容量为5MB,最大容量为15MB,文件容量递增值为1MB。

(3)事务日志文件,逻辑文件名为TestDB_log, 磁盘文件名为TestDB_log.ldf,文件初始容量为5MB, 最大容量为10MB,文件容量递增值为1MB。

2.对该数据库做如下修改:(1)添加一个数据文件,逻辑文件名为TestDB2_data,实际文件为TestDB2_data.ndf,文件初始容量为1MB,最大容量为6MB,文件容量递增值为1MB。

(2)将日志文件的最大容量增加为15MB,递增值改为2MB。

方法一:使用SQL Server Management Studio创建和修改数据库TestDB方法二:使用Transact-SQL语句创建和修改数据库TestDB方法一过于简单,暂不做讨论。

下面学习方法二。

首先,在sql sever 2008中单击新建查询。

然后键入下面的代码。

建立新的数据库。

1. 创建一个数据库,要求如下:2.对该数据库做如下修改:对刚刚的操作进行验证数据均已更新完毕。

[实验内容2 数据表的创建、修改和查询]1.熟悉有关数据表的创建和修改等工作,并了解主键、外键以及约束的创建和应用,熟练掌握使用SQL Server Management Studio和CREATE TABLE、ALTER TABLE等Transact-SQL语句对数据表的操作方法字段名数据类型字段长度注释项目编码char 10 主键名称varchar负责人编码char 10客户int开始日期datetime结束日期datetime员工数据表(Employee)字段名数据类型字段长度注释方法一:使用SQL Server Management Studio创建数据表并添加约束方法二:使用Transact-SQL语句创建数据表并添加约束2.向数据库TestDB中的两个数据表"项目数据表"和"员工数据表"中添加记录3.在查询分析器中书写Transact-SQL语句完成数据查询。

数据库实验报告

数据库实验报告

数据库实验报告(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作总结、工作计划、演讲致辞、策划方案、合同协议、规章制度、条据文书、诗词鉴赏、教学资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as work summaries, work plans, speeches, planning plans, contract agreements, rules and regulations, doctrinal documents, poetry appreciation, teaching materials, other sample essays, etc. If you want to learn about different sample formats and writing methods, please stay tuned!数据库实验报告数据库实验报告(通用3篇)数据库实验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1.这次实习可以使我们在课本上学到的知识用于实践增加了我对电脑技巧的一些认知。

数据库实验二

数据库实验二

实验二:简单查询和连接查询一、实验目的:熟练掌握用SQL语句实现的简单查询和多个数据表连接查询。

二、预习要求:实验前复习讲授过的有关简单查询与多表查询的知识,编写相应的SQL语句。

三、实验内容:(一)完成下面的简单查询:①查询所有“天津”的供应商明细;②查询所有“红色”的14公斤以上的零件。

③查询工程名称中含有“厂”字的工程明细。

(二)完成下面的连接查询:①等值连接:求s表和j表的相同城市的等值连接。

②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。

③笛卡尔积:求s和p表的笛卡尔积④左连接:求j表和spj表的左连接。

⑤右连接:求spj表和j表的右连接。

四,完成情况select *from spj inner join s on s.sno=spj.snowhere s.city='天津'select*from pwhere color='红' and weight>14select *from jwhere jname like '%厂'Select *from s inner join s city=j cityselect sname,jname,pnamefrom spj inner join s on spj.sno=s.sno join p on spj.pno=p.pnojoin j on j.jno=spj.jnoorder by s.sno,j.jno,p.pnoselect *from s,pselect *from jleft join spj on spj.jno=j.jnoselect *from spj right join j on spj.jno=j.jno五,思考题:查看实验内容2中左连接和右连接的执行结果是否一致,为什么?答:不一致,因为左连接是把左边的表全部输出来。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一表的创建1.1实验目的:(1)熟悉VFP的开发环境(2)掌握主窗口、菜单、工具栏和命令窗口的使用方法(3)掌握用各种方式建立表结构,输入记录、追加记录、浏览记录1.2实验内容:1、启动VFP开始\程序\Microsoft Visual FoxPro2、熟悉环境练习命令窗口的关闭与打开(窗口\命令窗口),工具栏的打开与关闭。

3、创建表结构,并输入记录(在E盘上新建文件夹CJGL,文件保存在此)(1)用菜单创建,文件\新建\表\新建文件,学生信息表(文件名为XS,如图5.1)学生信息表:学号(C)姓名(C)性别(C)出生时间(D)专业(C)总学分(N)备注(M)照片(G)练习在表设计器中练习插入字段,删除字段。

在表中输入5条记录,注意备注字段和通用字段内容的输入方式,观察输入请与输入后有什么不同?图5.1用鼠标双击XS表备注字段,打开备注字段的编辑窗口,在该窗口中输入备注内容。

用鼠标双击照片字段,打开通用字段的编辑窗口,插入图像有以下两种方法:●击通用字段,选择“编辑”菜单中的“插入对象”菜单项,打开“插入对象”对话框,选择对象类型为“BMP图像”,单击“确定”按钮,即可在通用字段编辑窗口中编辑图片。

●先把要插入的图像在WINDOWS的画图程序中复制到剪贴板上,在VFP双击照片字段,然后选择“编辑”菜单中的“粘贴”菜单项。

(2)用CREATE命令创建课程信息表(文件名为KC,如图5.2)并输入5条记录课程信息表:课程号(C)课程名(C)类别(C)开课学期(N)学时(N)学分(N)图5.2(3)创建成绩信息表:(文件名为XSKC,如图5.3)并输入5条记录成绩信息表学号(C)课程号(C)成绩(N)学分(N)*注意:以上三表最好按图中信息输入,保存在E:\CJGL中以备后用。

用APPEND命令或“显示”菜单下的“追加方式”命令分别给以上三个表追加5条记录。

用BROWSE命令浏览表的内容,用“显示”菜单下的“浏览”命令和“编辑”命令浏览,并观察二者的区别。

实验二表的基本操作2.1实验目的(1)掌握修改表结构的方法(2)掌握记录的修改、删除、定位、排序等操作(3)掌握表的计算功能2.2实验内容set default to e:\cjgl &&在命令窗口中设置,默认路径为E:\CJGLuse xs.dbf &&打开已经建好的学生信息表1、用菜单的方式修改表的结构,单击查看菜单中的表设计器命令,在表设计器中为学生信息表中增加新字段,民族,字符型,宽度为6。

用list structure 和 display structure命令查看修改后的表结构。

2、用命令的方式修改表的结构,在命令窗口中输入modify structure命令,在表设计器中为学生信息表中增加新字段,政治面貌,字符型,宽度为4。

●用自己熟悉的方式,在学生信息表中增加联系方式字段,之后再把这个字段删除。

练习在表设计器中调整字段的排列顺序。

3、用菜单的方式浏览表,单击查看菜单中的浏览命令,显示表(如图5.1):查看之后用ctrl+w或直接单击关闭按钮,将表关掉。

用命令方式,在命令窗口中输入browse命令也可将该表显示出来,此时可以看到菜单栏中多了“表”菜单,用其中的命令可以实现对记录的追加、修改、替换、定位、删除等操作。

4、命令:browse field 学号,姓名,专业for 性别=”女” && 用表格浏览所有女生的学号,姓名和专业●练习用表格浏览所有计算机科学与技术专业学生的姓名,性别和出生时间。

5、命令:list /display all &&显示所有学生的基本信息(只在屏幕显示)list for 专业=”计算机科学与技术” &&显示所有计算机科学与技术的学生●练习显示所有男生的基本信息。

●练习显示1985年以后出生的学生名单。

6、替换字段:browse &&显示现有的所有记录append blank &&追加一条空记录list && 显示记录,表的末尾有条空记录go bottom &&将记录指针指向最后一条记录replace 学号 with “01040107”,姓名 with “吴有祥”list &&最后空记录已添加内容用菜单方式,单击表―>追加新记录,直接输入数据。

7、备注型字段中追加内容:replace all 备注 with "体育班长" for姓名="刘中" &&命令方式用菜单方式,单击表->替换字段…,打开如下图6.1对话框:单击替换就可以了,注意运算符和字符定界符在英文状态下。

图图 6.18、转到记录:use xs.dbf &&在工作区中打开学生信息表?recno() &&显示当前记录号的函数,当前记录号为1skip?recno() &&当前记录号为2go bottom?recno() &&当前记录号为10skip?eof() &&显示.T.,因为记录指针指向表的最后一条记录的下一个go 5?recno() &&当前记录号为5用菜单方式,单击表->转到记录->第一个,最后一个,上一个,下一个,记录号等,同时当前记录号在状态栏中显示出来。

9、定位记录:use xs.dbflocate for 专业=”电子信息工程”display &&显示记录号为7的记录continuedisplay &&显示记录号为8的记录continue &&状态栏提示已到定位范围末尾display &&因为没找到,所以无显示。

用菜单方式,单击表->转到记录->定位…打开如下图6.2对话框:图6.2单击定位会定位在找到的第一个记录上,没有continue的功能。

10、删除记录:use xs.dbfset delete off &&设置删除标记的记录显示delete for 学号=”01040107” &&给该记录加上删除标记list &&刚删除的记录旁边有*删除标记browse &&表格中刚删除的记录旁边有黑块删除标记set delete on &&设置删除标记的记录不显示list &&只显示没有删除标记的记录(browse也一样)?recount() &&显示表中记录的总个数11recall for学号=”01040107” &&取消对该记录的删除或说取消删除标记list &&显示全部记录delete for 学号=”01040107”pack &&对加了删除标记的记录彻底删除?recount() &&显示表中记录的总个数10用菜单方式,单击表->删除记录…可打开如下图6.3对话框:图6.3单击删除就会为该记录加上删除标记。

再单击表->彻底删除就可以将该记录从表中彻底删除。

11、表的连接:select 1use xs &&在工作区1中打开xs表select 2use xskc &&在工作区2中打开表xskcjoin with xs to 成绩 fields 学号,xs.姓名,课程号,成绩,学分 for 学号=xs.学号&&为学生成绩表中加入姓名字段,保存在成绩表中select 3use 成绩 &&用browse命令显示在学生成绩库中加入了姓名字段12、表的计算(利用学生成绩表):use xscount to n &&把表中记录的个数赋值给内存变量n?”学生数=”,nuse xskc.dbfsum 成绩 for 学号=”01040101” to zf &&统计01040101号学生的总分?”01040101号学生的总分是”,zfaverage 成绩for 课程号=”0101” to jf &&统计0101号课程的均分?”0101号课程的均分是”,jfcalculate avg(成绩),min(成绩),max(成绩),std(成绩) for 课程号=”0101”&&统计计算0101号课程的均分,最低分,最高分和标准偏差。

实验三内存变量和常用函数3.1实验目的掌握内存变量和常用函数的使用3.2实验内容1.内存变量的使用在命令窗口中输入下列命令,观察主窗口中显示的信息,写出显示的内容。

R=10S=3.14159*r*rStore “面积” to s1,s2?r,s,s1,s2 &&主窗口中显示ndate={^2005-6-30}+1姓名_1=”金中华”姓名_2=”赵红”姓名_3=”鞠春松”display memory &&显示所有内存变量save to mymem?file(“mymem.mem”) &&显示为release all except 姓名* &&清除除了以“姓名”开头的其他内存变量display memory &&显示所有内存变量姓名_3=”林时”?姓名_3 &&显示为restore from mymem &&将内存变量从保存的文件中恢复了display memory &&显示所有内存变量姓名=”林时”?姓名 &&显示内存变量为use xs.dbf?姓名 &&显示字段变量为?M->姓名 &&显示内存变量为2.常用函数的使用在命令窗口中输入下列命令,观察主窗口中显示的信息,写出显示的内容。

Xh=”01040102”Xm=”赵红”?len(xh),len(xm) &&显示为?left(xm,2) &&显示为?right(xm,2) &&显示为?substr(“01040102”,3,2) &&显示为专业=”计算机”zxf=40?xm+left(xh,2)+”院”+str(zxf)+”分” &&显示为?”红”$xm &&显示为?empty(“”) &&显示为temp=xh+xm-trim(专业)?at(“计算机”,temp,1) &&显示为?int(680.34) &&显示为?sqrt(9) &&显示为?max(2,4.5,-100) &&显示为?mod(26,10),mod(23,-5) &&显示为set decimals to 4 &&设置小数位数为4位?round(1536.2854,2) &&显示为n=int(val(xh)/100)?n &&显示为?chr(65)+str(n) &&显示为?asc(“12345”) &&显示为?date(),time() &&显示为set date to ymdset mark to “.”Set cent on?date(),time() &&显示为?datetime() &&显示为d=date()t=datetmie()?d+1,t+1 &&显示为?year(d),month(d),day(d),dow(d) &&显示为t={^2005-6-30 10:30 a}?dtoc(t),ttoc(t) &&显示为出生时间={^1985.12.8}?date()-出生时间+1 &&显示为?left(xh,2)!=”02” &&显示为?zxf>=36 &&显示为?(date()-出生时间+1)<30 &&显示为婚否=.T.?.not.婚否 &&显示为cvar=”fox”?”Visual &cvar.Pro6.0” &&显示为实验四:数据库和数据库表的创建4.1实验目的(1)掌握数据库和数据库表的创建。

相关文档
最新文档