数据库实验1
实验1数据库定义实验 一 实验内容 1、数据库的创建、修改和删除 2、基本表的定义

实验1数据库定义实验一实验内容1、数据库的创建、修改
和删除2、基本表的定义
一、实验内容
1. 数据库的创建、修改和删除
- 创建名为`TestDB` 的数据库
```sql
CREATE DATABASE TestDB;
```
- 修改数据库的属性,例如增加日志文件大小
```sql
ALTER DATABASE TestDB
MODIFY FILE (NAME = TestDB_Log, SIZE = 50MB);
```
- 删除数据库
```sql
DROP DATABASE TestDB;
```
2. 基本表的定义
- 创建名为`Employees` 的表,包含员工编号(`ID`)、姓
名(`Name`)和工资(`Salary`)列
```sql
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Salary DECIMAL(10, 2)
);
```
- 修改表结构,添加部门(`Department`)列
```sql
ALTER TABLE Employees
ADD Department VARCHAR(50);
```
- 删除表
```sql
DROP TABLE Employees;
```
二、总结
通过这个实验,你应该学会了如何使用SQL 语句创建、修改和删除数据库,以及定义基本表的结构。
《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。
本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用SQL语言创建数据库表格和定义表格的各项属性。
1. 数据库的定义意义数据库是指存储数据的集合,它是一个有组织的数据集合,可以提供查询、存储和管理数据的功能。
数据库的定义是建立数据库的结构和特性,包括数据表的定义、数据类型的定义以及数据表之间的关系定义。
数据库的定义可以规范化和统一数据存储结构,提高数据的存储效率和管理方便性。
2. 数据库的基本概念和术语在数据库的定义过程中,需要了解一些基本概念和术语:(1) 数据表:数据表是数据库的一个基本单位,它由多个数据行和数据列组成,用于存储和表示数据。
(2) 数据类型:数据类型定义了数据的存储格式和表达方式,常见的数据类型有整数、浮点数、字符型、布尔型等。
(3) 主键:主键是数据表中的一列或者一组列,其值用来唯一标识数据表中的每一行,主键的值不能重复。
(4) 外键:外键是数据表之间的关系表达,它是一个指向其他数据表主键的列,用于建立数据表之间的联系。
(5) 索引:索引是一种提高数据检索效率的数据结构,它可以加快数据的查询速度。
3. 使用SQL语言创建数据库表格在实验过程中,我们将使用SQL语言来创建数据库表格。
SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于操作和管理数据库的标准语言。
SQL语言的创建表格语句包括以下几个关键字和语法:(1) CREATE TABLE:用于创建数据库表格。
(2) 表名:指定创建的表格的名称。
(3) 列名和数据类型:指定表格中的各列名称和数据类型。
(4) 主键:指定表格中的主键。
(5) 外键:指定表格中的外键。
4. 定义表格的各项属性在使用SQL语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。
实验1数据库的创建与管理

实验1 数据库的创建与管理1.1 实验目的(1)掌握开发环境的基本功能和使用方法。
(2)掌握数据库的建立方法。
(3)掌握图形界面下的数据表设计方法。
(4)掌握数据表记录的“增删改查”方法。
(5)掌握数据库的导入导出方法。
1.2 实验内容与步骤1.2.1 建立数据库启动MS SQL SERVER 2005,并建立学生管理数据库,文件名为学生自己姓名首字母的缩写,如张大千同学缩写为ZDQ。
设置库的大小50M,日志文件大小25M的新数据库。
1.2.2数据表的设计参照教材P50页的要求逻辑设计表,为自己实现以下3个表:学生表:Student(Sno, Sname, Ssex, Sage, Sdept);课程表:Course(Cno, Cname, Credit, Semester);学生选课表:SC(Sno, Cno, Grade)设计要求:(1) 定义关系模式(包括表名,属性名,属性类型及长度);(2) 定义表的主码及外码。
1.2.3 数据表记录的“增删改查”操作至少输入学生记录10条、系别4个、课程10个,便于后续实验的数据操纵、视图设计和数据控制处理。
数据库还原:数据库备份:实验2 数据操纵 2.1 实验目的(1)掌握SQL语言中数据查询和数据更新的语句(2)掌握SQL语言中数据更新的语句(3)掌握使用SQL语句进行视图的定义的方法2.2 实验步骤2.2.1使用SQL语句完成数据查询完成教材第五章例1到例82的例题题目选出40个进行实验,并把相应的命令语句写入实验报告。
对例45、例51(两种方法(自连接、子查询))以及外连接的操作在实验报告中给出运行结果。
2.2.2 使用SQL语句完成数据更新完成教材第五章5.2节的例题中的40个,并把相应的命令语句写入实验报告并给出运行结果。
1.SELECT Sname,Sage FROM StudentSELECT Sname,Sno,Sdept FROM StudentSELECT * FROM StudentSELECT Sname,2014-Sage FROM StudentSELECT Sname,Sage FROM StudentWHERE Sage<216.SELECTStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC. Grade FROM Student INNER JOIN SCON Student .Sno=SC.SnoSELECT Sname,Sdept,Sage FROM StudentWHERE Sage BETWEEN 20 AND 23SELECT Sname,Ssex FROM StudentWHERE Sdept IN('xinxi','tongxin','shuxue')SELECT*FROM StudentWHERE Sname LIKE'a%'SELECT*FROM StudentWHERE Sname LIKE'[abc]%'11.SELECT*FROM StudentWHERE Sname LIKE'_[1]%'SELECT*FROM StudentWHERE Sname NOT LIKE'[ab]%'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Student.Sno NOT IN(SELECT Sno FROM SCWHERE Cno ='a001')SELECT DISTINCT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Student.Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Sname,Sdept,Grade AS'tiyu'FROM Student JOIN SC ONStudent.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='tiyu'AND Grade >(SELECT AVG(Grade)FROM SC JOIN Course ON o=oWHERE Cname='tiyu')16.SELECT Sname,Sdept FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'SELECT Sno,AVG(Grade)FROM SCGROUP BY SnoHAVING AVG(Grade)>(SELECT AVG(Grade)FROM SC)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROMStudent JOIN SC ON Student.Sno=SC.SnoSELECT Sname,Sage FROM StudentWHERE Sdept ='shuxue'AND Sage=(SELECT MAX(Sage)FROM Student)SELECT Sno,Grade FROM SCWHERE Cno ='100'AND Grade>(SELECT AVG(Grade)FROM SC)21.SELECT COUNT(*)'选课门数',AVG(Grade)'平均成绩'FROM SCWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname='shujuku')GROUP BY SnoSELECT Sno,Sname FROM StudentWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname ='shujuku')SELECT Sname,Ssex FROM StudentWHERE Sdept ='xinxi'AND Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Student.Sno,Sname FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Grade >=90SELECT*FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'26.SELECT TOP 2 WITH TIES Cno,COUNT(*)'人数'FROM SCGROUP BY CnoORDER BY COUNT(*)ASCSELECT TOP 3 WITH TIES Sname,Sdept,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='shujuku'ORDER BY Grade DESCSELECT TOP 3 WITH TIES Sname,Sage,Sdept FROM StudentORDER BY Sage DESCSELECT COUNT(*)FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(*)DESCSELECT Student.Sno,COUNT(o)FROM Student LEFT JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(o)DESC31. SELECT Sname,Ssex FROM Student LEFT JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'AND Cno IS NULLSELECT Cname FROM SC RIGHT JOIN Course ON o=oWHERE Sno IS NULLSELECT Student.Sno,Sname,o,Grade FROM SC RIGHT JOIN Student ON SC.Sno=Student.SnoSELECT Cname,Credit FROM CourseWHERE Credit =(SELECT Credit From CourseWHERE Cname ='gaoshu')AND Cname !='gaoshu'SELECT Sdept,AVG(Grade)FROM SC JOIN Student ON SC.Sno=Student.Sno GROUP BY Sdept36. SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'AND Sdept ='xinxi'SELECT Sname,Cno,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'SELECT Sdept,COUNT(*)FROM StudentWHERE Sage <=20GROUP BY Sdept40.SELECT Sno,COUNT(*)FROM SCGROUP BY SnoHAVING COUNT(*)>=2。
数据库 实验一

补充作业及实验一1填空题(1)假设表中某列的数据类型为varchar(100) ,而输入的字符串为“ahng3456”,则存储的字节是__8______。
(2)SQL Server 2000局部变量名字必须以_____@____开头,而全局变量名字必须以______@@___开头。
(3)在SQL Server 2000中,字符串常量由____单引号_____引起来,日期型常量由___单引号______引起来。
(4)在SQL Server 2000中,货币型常量由_____$____前缀引导,双字节字符串型常量由_________前缀引导,二进制型常量由____0x_____前缀引导。
(5)语句 select floor(17.4), floor(-214.2), round(13.4382,2), round(-18.4562,3)的执行结果是: ____17_____、____-215_____、___13______和___-18.456______。
(6)语句select ascii('B'), char(67), len(' 你是tiger ') 的执行结果是: ___66______、____67_____和_________。
(7)语句select upper('beautiful') , lower('BEAUtiful') 的执行结果是:___BEAUTIFUL_________和_______beautiful____。
BEAUTIFUL, beautiful(8)语句select reverse(6789), select reverse('你是狼') 的执行结果是: ____9876________和___狼是你________。
(9)语句 select ltrim (' 我心中的太阳'), rtrim ('我心中的白马王子 ') 的执行结果是: _______我心中的太阳___________和________我心中的白马王子____________。
数据库实验指导(071125)

《数据库系统原理》实验指导书索剑2007-11实验1:数据库模式设计及建立(2学时)实验目的:1.掌握数据库模式设计及建立的方法,建立数据库及关系2.比较SQL命令方式和可视化环境管理器方式设计的异同点3.熟悉 SQL SERVER 的企业管理器和查询分析器实验类型:验证实验内容:1.在SQL Server环境中建立“学生-课程”数据库2.使用SQL语言及可视化环境建立“学生-课程”数据库中的表3.观察“学生-课程”数据库的E-R图、逻辑模式以及文件存储之间的联系操作步骤:1.描述教材P59中所叙述的“学生-课程”数据库概念模式2.仔细分析“学生-课程”数据库关系逻辑模式(尤其是实体完整性、参照完整性规则)Student(学生表):Sno Sname Ssex Sage Sdept95001 李勇男20 CS95002 刘晨女19 IS95003 王敏女18 MA95004 张立男18 IS95005 王强男17 IS95015 张三男20 CS95019 李四男20 CS95020 陈冬男18 ISCourse(课程表):Cno Cname Cpno Ccredit1 数据库 5 42 数学 23 信息系统 1 44 操作系统 6 35 数据结构7 46 数据处理 27 Pascal语言6 4SC(选修表):Sno Cno Grade95001 1 6595001 2 8895001 3 5795001 4 7995001 5 4595001 6 9095001 7 8195002 2 9095002 3 8095002 4 5595003 2 095019 2 6695020 13.熟悉SQL SERVER的企业管理器和查询分析器4.在企业管理器可视化环境下创建“学生-课程”数据库,仔细观察物理模式的形成过程5.在可视化环境下建立如上所述关系模式,建立相应的实体、参照完整性,添加关系数据,仔细观察逻辑模式的形成过程6.启动“查询分析器”,编制SQL语言再次实现上述过程。
数据库实验报告

实验(一): 熟练掌握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岁),如果约束不能建立,请分析原因,修改后建立上述约束。
国开(电大)数据库课程实验报告1

国开(电大)数据库课程实验报告1实验目的本实验旨在通过实际操作和分析数据库的相关知识,加深对国开(电大)数据库课程的理解和掌握。
实验环境1. 数据库管理系统:MySQL 5.72. 开发环境:MySQL Workbench实验步骤2. 创建一个名为"school"的数据库。
3. 在"school"数据库中创建一个名为"student"的表,并定义以下字段:- 学号(student_id):主键,整型。
- 姓名(name):字符串类型,长度限制为50。
- 性别(gender):字符串类型,长度限制为10。
- 年龄(age):整型。
4. 向"student"表中插入若干条学生记录,包括学号、姓名、性别和年龄。
5. 查询"student"表中所有学生的信息。
6. 查询"student"表中年龄大于等于18岁的学生信息。
7. 更新学号为1001的学生信息,将其姓名修改为"张三",年龄修改为20岁。
8. 删除学号为1002的学生记录。
9. 查询"student"表中的所有学生信息,并按照学号升序排列。
实验结果及分析1. 成功创建了名为"school"的数据库。
2. 成功创建了名为"student"的表。
3. 成功插入了若干学生记录。
4. 成功查询了学生表中的所有学生信息。
5. 成功查询了年龄大于等于18岁的学生信息。
6. 成功更新了学号为1001的学生信息。
7. 成功删除了学号为1002的学生记录。
8. 成功按学号升序排列了学生信息。
实验总结通过本次实验,加深对数据库管理系统的理解和熟练使用。
通过实际操作,研究了如何创建数据库和表,以及进行常见的查询、更新和删除操作。
此外,还学会了使用排序功能对查询结果进行排序。
数据库实验报告全

数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。
4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。
实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。
2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。
3)⽤T-SQL语句删除数据库CPXS_bak。
2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。
3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。
6.将CP表中每种商品的价格打8折。
7.将CP表中价格打9折后⼩于1500的商品删除。
⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。
)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
邮电大学计算机学院
《大型数据库技术》
实验一:MySQL数据库安装配置及基础使用
:侯利萍班级:09 学号:B13040905
2016年 3 月21 日星期一
说明:斜体需要输出的部分。
下载安装MySQL
搜索MySQL下载页面
网址:
查看各种MySQL版本
MySQL主要版本及区别:
所下载版本及版本号:
安装配置MySQL
数据库基本操作
创建数据库
创建一个企业管理系统数据库,命名为enterprisedb,字符集选择utf8.
SQL语句:create database enterprisedb;
set charset utf8;
输出截图:
创建关系表
创建一雇员表,命名为employee,包括如下字段:雇员工号(从86001
开始递增),,性别,生日,部门名称。
(请选择合适的数据类型)
SQL语句:
create table employe (id int(10) primary key AUTO_INCREMENT,name varchar(10),sex varchar(10),birthday virchar(10))
AUTO_INCREMENT=86001;
输出截图:
插入数据操作
插入10条不同信息的雇员,信息自定,需要符合实际。
SQL语句:insert into employe
values("0","zhang","man","1996.1.2","mangager");
insert into employe values("0","","man","1996.1.2","mangager");
insert into employe values("0","","man","1995.1.2","mangager");
insert into employe values("0","胡","woman","1994.1.2","worker");
insert into employe values("0","周","woman","1995.1.1","worker");
insert into employe values("0","","woman","1995.3.1","worker");
insert into employe values("0","王","woman","1995.3.1","seller");
insert into employe values("0","吴","woman","1995.2.1","seller");
insert into employe values("0","吴","man","1995.2.1","seller");
insert into employe values("0","","man","1989.2.1","leader");
insert into employe values("0","田
","woman","19988.2.1","leader");
注释:在测试英文中文是否都正常时,多输入一个英文员工。
输出截图:
查询数据
显示所有雇员信息
SQL语句:select * from employe;
输出截图:
显示所有男雇员信息
SQL语句:select * from employe where sex='man'; 输出截图:
显示所有1990年以后出生的雇员信息
SQL语句:select * from employe where YEAR(NOW())-YEAR(birthday)<26;
输出截图:
删除数据操作
删除雇员编号为86005的雇员。
SQL语句:delect * from employe where id=86005;
输出截图:
显示所有雇员信息
SQL语句:select * from employe;
输出截图:
修改数据
修改雇员编号86003的雇员,部门为“规划部”,性别为相反性别。
SQL语句:update employe set department="规划区",sex="woman"where id="86003";
输出截图:
显示所有雇员信息
SQL语句:select * from employe;
输出截图:。