实验二--通过SQL语句创建与管理数据表word版本
数据库实验报告-使用SQL语句操作数据
数据库原理实验报告实验名称:实验二使用SQL语句操作数据实验时间:2013.4.16学生姓名:班级:软件学号:一、实验目的1、熟悉SQL Server 2005的基本环境2、使用对象资源管理器管理数据库、基本表、视图、索引等对象3、锻炼学生对SQL Server 2005基本操作能力二、实验内容1、使用对象资源管理器创建SPJ数据库(1)更改主数据库文件的增长模式,改为按5MB自动增长;(2)更改事务日志文件的增长模式,改为按1MB自动增长。
2、在数据库中创建S, P, J, SPJ四个关系模式:S ( SNO, SNAME, STATUS, CITY )P(PNO, PNAME, COLOR, WEIGHT)J(JNO, JNAME, CITY)SPJ(SNO, PNO, JNO, QTY)【说明:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(SNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。
】3、建立数据库关系图。
将建好的数据库和表转化为SQL语句,以sql脚本方式保存。
4、使用对象资源管理器向表中插入下列数据。
SP表5、使用SQL语言完成如下操作:1)求供应工程J1零件的供应商号码SNO。
2)求供应工程J1零件P1的供应商号码SNO。
3)求供应工程J1零件为红色的供应商号码SNO。
4)求没有使用天津供应商生产的红色零件的工程号JNO。
5)求至少用了供应商S1所供应的全部零件的工程号JNO。
6)找出所有供应商的姓名和所在城市。
7)找出所有零件的名称、颜色、重量。
8)找出使用供应商S1所供应零件的工程号码。
用T-SQL指令创建数据库和表
然后验证 Sno 和 Cno 两个主属性均不能被设置为空值,从而理解关系的实体完整性规则。 注意:不能将创建以上 3 个表的 SQL 语句放在一个批内一起执行,这样,在创建 SC 表时,可能造成由于 Student 与 Course 尚未创建成功,因此无法在其上设置参照完整性约 束(GO 的作用是将 SQL 语句分批处理,即一个批内的 SQL 语句编译和执行后,再编译和 执行另一个批) 。也可以在表创建成功后再增加表级完整性约束条件:
操作: USE master /*改变当前数据库为要删除数据库以外的数据库,否则可能提示 MyDB 数据库正在使用无法删除*/ DROP DATABASE MyDB
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)
1.create database MyDb on (name=MyDb_data, filename='d:\sql\MyDb_data.mdf', size=3, maxsize=4, filegrowth=10% ) log on (name=MyDb_log, filename='d:\sql\MyDb_log.ldf', size=1, maxsize=2, filegrowth=10%) 2.(2) use MyDb go create table student (sno char(9) primary key, sname char(6) not null, ssex char(2) default('男'), sage int, sdept varchar(10) ) (3) create table course (cno varchar(3) primary key,/*裂解完整性约束*/ cname varchar(12), cpno varchar(3), ccredit int ) (4)create table sc (sno char(9) not null,
实验二 创建表和表中数据的录入
实验二创建表及表中数据录入
一、目的和要求
1.学会在企业管理器中创建表。
2. 学会使用T-SQL语句创建数据表。
二、实验准备
1.确定数据库包含哪些表以及包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
2.了解常用的创建表的方法。
三、实验步骤
1.数据库分析
(1)在上次创建用于员工考勤的数据库中,添加以下数据表。
(2)数据库YGKQ包含员工的信息和缺勤类型信息,其YGKQ包含下列2个表:
JBQK:员工基本情况表;QQIX:缺勤信息表。
各表的结构见表2.1和表2.2所示:
各表的数据内容见表2.3和2.4所示:
说明:如果YGKQ数据库中已经存在其他同学创建的表JBQK和QQLX,请先删除,然后完成以下操作。
2.在企业管理器中数据表
(1)在企业管理器中分别创建表JBQK和QQLX,录入各表的相关数据
(2)在企业管理器删除创建的JBQK和QQLX表。
3.在查询分析器中创建数据库和数据表
(1)使用T-SQL语句创建JBQK和QQLX表,为各表插入至少一行数据。
(2)将JBQK和QQLX表中缺勤类型改为char(2),指明JBQK中缺勤类型受QQLX的外键约束。
数据库技术-使用SQL语句创建并管理数据库、数据表
使用SQL语句创建并管理数据库、数据表
1、用SQL语句创建并管理数据库“学生管理数据库”
要求:
(1)将该数据库存放在D盘的SQL目录下,数据库文件初始大小为1MB,最大容量为50MB,文件增长率为5MB,建立日志文件“学生管理日志”,将该数据库存放在D盘的SQL目录下,日志文件初始大小为1MB,最大容量为5MB,并按数据文件的10%增长,SQL语句为:
(2)修改数据库:将“学生管理数据库”的数据库最大容量更改为无限制(UNLIMITED),然后将“学生管理数据库”的日志文件增长方式改为1MB,SQL语句为:
(3)在“学生管理数据库”中建立如下四张表并录入所有数据,其中学生表必须用SQL语句创建,葛文卿的数据必须用SQL语句添加到表中,其他数据表的创建以及数据的录入可以使用图形方式:
学生表:(主键:学号)
学号姓名性别年龄所在院系班级入学日期
课程表:(主键:课程号)
成绩表:(主键:学号、课程号)
创建学生表的SQL语句为:
将葛文卿数据添加到学生表的SQL语句为:
修改表中记录:将“李涛”同学的班级修改为“电子2班”,SQL 语句为:
创建Student_DB数据库中的四张表,创建成功的截图为:
学生表:
课程表:
成绩表:
授课表:。
用SQL命令创建数据表
Ssex char(2),
Sage smallint,
Sdept varchar(20)
)
练习:
练习:课本P72 第3题 表5-2
数据表的修改
查看表属性 修改表结构 删除数据表
查看表属性
在SQL Server Management Studio中,选中要 查看的数据表,单击鼠标右键,选择“属性”, 将打开“表属性”对话框,如图所示。
例如:将学生表Student中“刘尘”所属的学院由CS改为 SS。 USE 学生选课 GO UPDATE Student SET Sdep = 'SS' WHERE Sname = '刘尘' 执行结果如图1所示,有一行记录被更新。
图1 更新数据表数据
更新数据时,每个列既可以被直接赋值,例如 上例子也可以通过计算得到新值。
在CREATE TABLE语句中需要指出的元素与在表设计器中相同,包括 表名、列名、列的数据类型以及列属性等。
用SQL命令创建数据表
USE 学生选课
GO
CREATE TABLE Student
(
Sno
int NOT NULL PRIMARY KEY ,
Sname varchar(20)NOT NULL,
另外,用户还还可在查询窗口中使用 SELECT命令查看一个或多个表中的数据 。
用INSERT语句插入数据
INSERT语句的基本语法: INSERT INTO 表名 (列名1 , 列名2, ……, 列名n) VALUES (值1, 值2 , ……, 值n)
INSERT子句指定要插入的数据表名,并且可以同时指定表的列名称。 VALUES子句指定要插入的数据。 例:
实验二+数据表的创建与管理
实验⼆+数据表的创建与管理实验⼆数据表的创建与管理⼀、实验⽬的要求学⽣熟练掌握SQL Server Management Studio 的使⽤和利⽤T-SQL语句进⾏数据表的创建和删除,并对数据表和表中的数据进⾏有效的管理。
⼆、实验内容1、使⽤SQL Server Management Studio创建和删除数据表、修改表结构、更新数据。
2、使⽤T-SQL语句创建和删除数据表、修改表结构、更新数据。
三、实验指导(⼀)表的定义1、使⽤对象资源管理器创建表实验2.1 在JXGL数据库中,使⽤SQL Server Management Studio建⽴S、C 和SC三个表,其结构如下2.1~2.3所⽰。
表2.1 学⽣表S的结构列名描述数据类型允许空值说明Sno 学号char(8) NO 主键Sname 姓名char(8) NOSage 年龄smallint YESSex 性别char(2) YESSdept 所在系varchar(20) YES表2.2 课程表C的结构列名描述数据类型允许空值说明Cno 课程号char(4) NO 主键Cname 课程名char(20) NOCredit 学分float YESPcno 先修课char(4) YESDescribe 课程描述varchar(100) YES表2.3 选课表SC的结构列名描述数据类型允许空值说明Sno 学号char(8) NO 主键(同时是外键)Cno 课程号char(4) NO 主键(同时是外键)Grade 成绩float YES步骤如下:①在“对象资源管理器”中单击“数据库”前⾯的“+”号,选择“表”并右键单击,在弹出的快捷菜单中选择“新建表”命令,打开设计表字段对话框,如图2.1所⽰。
图2.1 设计表字段对话框②在设计表对话框中分别输⼊“列名”、“数据类型”和“允许NUll值”3个参数的值。
③设计完表的字段后,单击“保存”按钮,弹出保存对话框;或者单击“关闭”按钮,弹出是否要保存更改的提⽰对话框,如图2.2所⽰。
使用SQL语言创建数据库和表
实验三使用SQL语句创建数据库和数据表一、实验目的与要求:1.掌握使用SQL语言创建数据库的方法。
2.掌握使用SQL语言设计表结构的方法。
3.设计表的完整性。
二、实验内容1.创建学生-课程数据库,其初始大小为10MB,无最大限制,以10%的速度增长。
日志文件初始大小为1MB,最大为5MB,以1MB的速度增长。
2. 定义基本表student、course和sc,并设计其完整性。
3. 创建SPJ数据库,其初始大小为5MB,无最大限制,以1MB的速度增长。
日志文件初始大小为1MB,最大为5MB,以10%的速度增长。
4. 定义基本表S、 P 、J 和SPJ,并设计其完整性。
5.将设计好的表保存到移动盘上,用来下一次上机练习时使用。
三、实验指导1、创建学生-课程数据库,其初始大小为10MB,无最大限制,以10%的速度增长。
日志文件初始大小为1MB,最大为5MB,以1MB的速度增长。
CREATE DATABASE 学生-课程--创建数据库ON PRIMARY --定义在主文件组上的文件(NAME= , --逻辑名称FILENAME= , --物理名称,要求把数据库创建到D盘根目录下SIZE= , --初始大小为10MBMAXSIZE= , --最大限制为无限大FILEGROWTH= ) --增长速度为10%LOG ON --定义事务日志文件(NAME= , --逻辑名称FILENAME = , --物理名称SIZE = , --初始大小为1MBMAXSIZE = , --最大限制为5MBFILEGROWTH = ) --增长速度为1MB2、定义基本表student、course和sc,并设计其完整性。
参看P85 例5、例6、例73. 创建SPJ数据库,其初始大小为5MB,无最大限制,以1MB的速度增长。
日志文件初始大小为1MB,最大为5MB,以10%的速度增长。
4. 定义基本表S、 P 、J 和SPJ,并设计其完整性。
使用SQL语句在MySQL中创建和管理表
使用SQL语句在MySQL中创建和管理表在MySQL数据库中,表是存储和组织数据的基本单位。
通过使用SQL语句,我们可以轻松地在MySQL中创建和管理表。
本文将介绍如何使用SQL语句来创建和管理表,这对于数据库管理员和开发人员来说非常重要。
1. 创建表首先,让我们来看一下如何使用SQL语句在MySQL中创建表。
创建表的语法如下所示:CREATE TABLE table_name (column1 datatype constraints,column2 datatype constraints,...columnN datatype constraints);在该语法中,table_name表示要创建的表的名称。
column1、column2、columnN表示表中的列名。
datatype表示列的数据类型,例如INT(整数类型)、VARCHAR(可变长度字符类型)等。
constraints表示列的约束条件,可以是主键、外键、唯一约束、非空约束等。
例如,我们要创建一个名为"students"的表,其中包含id、name和age列,那么创建表的SQL语句如下:CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT);上述SQL语句创建了一个名为"students"的表,包含了id、name和age三个列。
其中,id列被定义为主键(PRIMARY KEY),name列被定义为不为空(NOT NULL),age列没有定义任何约束条件。
2. 管理表一旦表被创建,我们就可以使用SQL语句来管理表。
下面让我们看一些常用的表管理操作。
2.1 插入数据要向表中插入数据,我们可以使用INSERT INTO语句。
INSERT INTO语句的语法如下所示:INSERT INTO table_name (column1, column2, ..., columnN)VALUES (value1, value2, ..., valueN);在该语法中,table_name表示要插入数据的表的名称。
实验二:使用SQL Server管理数据表
实验二:使用SQL Server管理数据表一、实验目的1.熟悉数据表的特点;2.熟悉在Management Stuio中创建、编辑及删除数据表;3.熟悉使用T-SQL创建、编辑及删除数据表;二、实验环境已安装SQL Server 企业版的计算机(120台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解表的结构特点;2.了解SQL Server的基本数据类型;3.熟悉使用T-SQL语法;4.完成实验报告。
五、实验内容请分别使用Management Stuio及T-SQL完成以下内容:1、请在指定数据库内完成以下内容:1)依据数据表的结构创建相对应的数据表,表结构如下所示;课程信息表(course)2)在表student中增加新字段“班级名称(sclass)“;3)在表student中删除字段“班级名称(sclass)”;4)修改表student中字段名为“sname”的字段长度由原来的6改为8;5)修改表student中字段“sdept”名称为“dept”,长度为20;6)修改表student中sage字段名称为sbirth,类型为smalldatetime;7)修改表student新名称为stu_info;8)删除数据表student;2、创建教师授课管理数据库JSSK,并完成以下内容;1)在数据库JSSK中创建下列三张表;表名:teachers表名:lessons2)在shouke表里添加一个授课类别字段,列名为Type,类型为Char,长度为4;3)将shouke表的Hours的类型改为smallint;4)删除lessons表中的property列;3、(选做)创建产品销售数据库CPXS,数据文件的逻辑文件名为cpxs_data,物理文件名为e:\sql\cpxs.mdf;文件初始大小为2MB,自动增长,每次增长1MB;日志文件逻辑文件名为cpxs_log,物理文件为e:\sql\cpxs.ldf;文件初始大小2MB,自动增长,每次增长15%;1)在数据库CPXS中创建下列三张表;表名:产品表(cp)表结构表名:产品销售(css)表结构六、出现问题及解决方法如数据表无法创建或删除等问题;。
如何使用SQL创建和管理数据库
如何使用SQL创建和管理数据库在当今数字化时代,数据已成为企业和组织管理的重要组成部分。
而SQL(结构化查询语言)是一种用于创建和管理数据库的强大工具。
无论是作为数据库管理员(DBA)还是开发人员,了解如何使用SQL创建和管理数据库都是必须的技能。
本文将介绍如何使用SQL创建和管理数据库,并分为以下章节:第一章:概述在本章节中,我们将简要介绍数据库以及SQL的基本概念。
数据库是一个组织结构化数据的集合,而SQL是一种用于管理这些数据的语言。
我们还将了解SQL的常见用途以及它与其他数据库管理系统的关系。
第二章:SQL的基本操作在这一章中,我们将学习SQL的基本操作,包括创建表格、插入数据、更新数据和删除数据。
我们将以示例代码的形式演示每个操作,并给出详细说明,以便读者能清楚地理解每个操作的用途和语法。
第三章:数据类型和约束在本章中,我们将详细介绍SQL的数据类型和约束。
数据类型定义了一个列或字段可以存储的数据的类型。
而约束则定义了对数据的限制条件,以确保数据的完整性和一致性。
我们将讨论常见的数据类型和约束,如整数、字符串、日期和主键、外键等。
第四章:查询和过滤数据在这一章节中,我们将学习如何使用SQL查询和过滤数据库中的数据。
查询是从数据库中检索数据的过程,而过滤是根据特定条件筛选数据的过程。
我们将介绍SQL的基本查询语句和常用的过滤条件,如WHERE子句、AND和OR操作符等。
我们还将探讨如何对查询结果进行排序和分组。
第五章:连接和关联数据表在本章中,我们将研究连接和关联多个数据表的方法。
连接是将两个或多个表格中的相关数据关联起来的过程,而关联则是指定数据之间的关系。
我们将学习不同类型的连接操作,如内连接、外连接和自连接,并提供示例代码帮助读者更好地理解这些概念。
第六章:索引和优化查询在这一章节中,我们将讨论索引的作用和优化查询的方法。
索引是一种数据结构,可以提高查询的速度和效率。
我们将介绍如何创建索引以及何时使用索引。
实验2-用SQL Server工具操作数据库及表
实验2 用企业管理器操作数据库及表【实验目的】(1)掌握数据库的备份及恢复方法。
(2)掌握数据库的分离和附加方法。
(3)掌握用SQL工具创建、删除数据库的方法。
(4)掌握用SQL工具创建数据表的方法。
(5)熟悉数据完整性约束的意义与方法。
【实验内容和要求】1.建立一个名为“学生成绩管理”的数据库,要求如下:①其主数据文件的逻辑名称为studentgradedb,物理文件名为studentgradedb.mdf,存放位置为D盘的data文件夹下,其初始大小为5MB,以10%的速度增长。
②增加次要文件studentgradedb2,其物理文件名为studentgradedb2.ndf,其存放位置与主数据文件的位置相同,并要求将其归入新建立的文件组MYGROUP管理。
③其日志文件的逻辑名为studentgradelog,物理文件名为studentgradelog.ldf,存放位置为D盘的data文件夹下,其初始大小为10MB,最大为100MB,以1MB的速度增长。
2.在企业管理器中分离数据库“学生成绩管理”。
3.在企业管理器中附加“学生成绩管理”数据库。
4.在企业管理器中备份“学生成绩管理”数据库5.在企业管理器中恢复“学生成绩管理”数据库6.使用“企业管理器”在“学生成绩管理”数据库中建立4个用户表结构。
7.在4个表中建立主码约束、外码约束。
分析:学号和课程号是“成绩表”的外码,所以先在成绩表中设计外码约束,然后,右击“关系图”,选择“新建数据库关系图”,根据向导来操作。
参考P1918.建立“学生表”中对系别的约束,系别只能取值为“计算机系”、“机械系”、和“外语系”。
9.建立“学生表”中对性别的约束,性别的默认值为“男”。
10.修改“成绩表”结构,建立check约束,规定“成绩”取值只能是0~100。
11.在学生表、教师表、课程表、成绩表中输入若干条记录,如P200,7-12-1~7-12-4所示。
数据库SQL实验报告_数据库的基本操作
数据库SQL实验报告_数据库的基本操作一、实验目的本次实验旨在通过实际操作,深入理解和掌握数据库的基本操作,包括创建数据库、创建表、插入数据、查询数据、更新数据和删除数据等,从而提高对数据库管理系统的应用能力和实践操作技能。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,操作系统为Windows 10。
三、实验内容及步骤(一)创建数据库1、打开 MySQL 命令行客户端,输入以下命令创建一个名为“my_database”的数据库:```sqlCREATE DATABASE my_database;```2、输入以下命令查看已创建的数据库:```sqlSHOW DATABASES;```(二)创建表1、使用以下命令切换到“my_database”数据库:```sqlUSE my_database;```2、创建一个名为“students”的表,包含“id”(整数类型,主键,自增)、“name”(字符串类型,长度为 50)、“age”(整数类型)和“grade”(整数类型)列:```sqlCREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,grade INT);```1、向“students”表中插入以下数据:```sqlINSERT INTO students (name, age, grade) VALUES ('张三', 20, 80),('李四', 21, 85),('王五', 19, 90);```(四)查询数据1、查询“students”表中的所有数据:```sqlSELECT FROM students;```2、查询年龄大于 20 岁的学生信息:```sqlSELECT FROM students WHERE age > 20;```1、将“张三”的年龄更新为 21 岁:```sqlUPDATE students SET age = 21 WHERE name ='张三';```(六)删除数据1、删除“grade”小于 80 的学生记录:```sqlDELETE FROM students WHERE grade < 80;```四、实验结果(一)创建数据库成功创建了名为“my_database”的数据库,并通过“SHOW DATABASES”命令验证了其存在。
实验二 使用SQL语句创建和管理表
实验二使用SQL语句创建和管理表一、实验目的熟练掌握表的创建和管理,会使用SQL语句来实现数据库中的表的相关操作。
二、实验内容1、使用CREATE命令创建基本表book、reader、borrow(表名要加上自己学号末三位),并用INSERT命令给三个表添加数据(如果三个表在第一次实验时都已创建好,请用SELECT 语句分别把三个表的所有数据展示出来)三个表的属性列的数据类型参看教材78-79页的例3-1,三个表的数据参看教材18-19页的表1-3、1-4、1-5。
2、ALTER语句请将基本表book的bookname列宽改为40;3、索引给book表创建索引,索引信息先按出版社降序排列,再按书名升序排列。
4、SELECT语句(1)查询价格在20-30元之间的所有图书的书名、出版社名,库存数量。
(2)查询书名含有“数据库”三个字的所有图书的书名、作者名。
(3)查询2003年后出版的所有图书并对查询结果进行排序,先按出版社升序排序,再按出版年降序排序。
(4)统计不同出版年出版的图书的库存数量。
(5)统计不同类型的读者数量。
(6)查询借阅了“数据结构”的所有读者的姓名、借阅日期、还书日期。
(7)查询既出版了“数据结构”又出版了“高等数学”的出版社名。
(8)查询正借阅“数据结构”的所有读者姓名、所在单位(请分别用等值连接查询和嵌套查询)。
(9)查询与“刘勇”在同一部门的所有读者的信息。
5、INSERT和UPDATE语句(1)创建一个新表bookqty,统计每个出版社出版的图书的库存数量,并保存到新表bookqty中。
(2)完成读者借书操作。
读者卡号为“S0101”,所借书号为“TP2004--005”。
6、DELETE语句删除“刘勇”的借书记录。
7、视图(1)创建视图V_borrow,查找正借阅“数据库系统”的读者姓名、所借书名、借书日期。
(2)创建V_reader,统计每种类型的读者数量。
(3)分别查询视图V_borrow和V_reader。
实验一二三 SQL数据库的创建和管理1
数据库原理与应用实验一、课程实验要求:1、严格按照实验守则和实验室管理制度执行。
2、实验课内不允许上网、打游戏、聊天。
3、每次实验必须在规定的时间内按照实验目的和要求认真完成。
4、实验成绩30%,其中包括考勤(15%、实验报告15%)5、课内实验不分组,期末的课程设计到时候再分组实验一 SQL SERVER 2005数据库的环境实验目的及要求:1、掌握SQL SERVER 2005 的安装过程与安装方法2、熟悉SQL SERVER 2005的启动方法3、掌握SQL SERVER 2005环境的配置和使用SSMS中创建简单的数据库。
实验内容:1、SQL SERVER 2005 的安装过程与安装方法2、SQL SERVER 2005的启动方法3、SQL SERVER 2005环境的配置和使用SSMS中创建简单的数据库实验二 SQL数据库的创建和管理实验目的及要求:4、掌握用企业管理器和T-SQL语句创建数据库的方法5、掌握修改数据库,数据库更名的方法6、掌握删除数据库的方法。
实验内容:1、在SQL SERVER企业管理器中查创建一个数据库,具体要求如下:1)、数据库的名称为TEST12)、数据文件:逻辑文件名为texst1.data1,物理文件名为test1data1.mdf,初始容量为1MB,最大容量为10MB,递增容量为1MB。
3)、事务日志文件:逻辑文件名为test1log1,物理文件名为test1log1.ldf,初始容量为1MB,最大容量为10MB,递增容量为1MB。
2、在查询分析其中输入并执行一个CREATE DATABASE语句,具体要求如下:1)、数据库名称为text22)、数据文件:逻辑文件名为test2data2,无力文件名为test2data2.mdf,初始容量为1MB,最大容量为10MB,递增为1MB4)事务日志文件:逻辑文件名为test2log1,物理文件名为test2log1.ldf,初始容量为1MB,最大容量为10MB,递增容量为1MB。
sql 数据库 实验二:创建及管理数据库
实验二:创建及管理数据库一、实验目的1. 熟悉在SQL Server 2008中创建及编辑数据库;2. 熟练掌握使用T-SQL 语句对数据库的管理方法;3. 熟悉数据库构成及数据库收缩方法;二、实验学时2学时三、实验要求1.熟练使用Management Stuio界面方式创建及编辑数据库;2.熟练使用T-SQL 语句创建及编辑数据库;3.了解数据库收缩的方法及作用4.独立完成实验内容,并提交书面实验报告。
四、实验内容1.管理数据库假设SQL Server服务已启动,并以Administrator身份登录计算机(文件名称自定);请分别使用Management界面方式和T-SQL语句实现以下操作:1)要求在本地磁盘D创建一个学生-课程数据库(名称为student),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,物理名称为stu_data.mdf 和stu_log.ldf,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。
2)创建一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为50MB,增长速度为1MB。
3)创建数据库DB,具有2个数据文件,文件逻辑名分别为DB_data1和DB_data2,文件初始大小均为5MB,最大为100MB,按10%增长;只有一个日志文件,初始大小为3MB,按10%增长;所有文件都存储在D盘文件夹ceshi中。
4)在数据库student中增加数据文件db2,初始大小为10MB,最大大小为50 MB,按10%增长;5)在数据库student中添加日志文件,保存在D盘中,初始大小为1MB,最大无限制,增长方式按照1MB增长;6)修改数据库student主数据文件的大小,将主数据文件的初始大小修改为10Mb,增长方式为20%;7)删除数据库student辅助数据文件和第二个日志文件;8)删除数据库company。
第次上机实验掌握利用SQL语句创建及维护数据表(附代码)
第4次上机实验:掌握利用SQL语句创建及维护数据表一、实验目的1、掌握利用SQL语句创建数据表2、掌握利用SQL语句修改、查看、重命名及删除数据表二、实验要求独立完成实验内容,进一步掌握SQL Server 2005利用SQL语句创建数据表,利用SQL语句修改、查看、重命名及删除数据表,并写实验报告。
三、实验内容1、使用Transact-SQL语句,在CourseDB数据库中创建一个教师信息表Teacher,Teacher表的结构及数据类型如下表2所示:表2 Teacher表的结构及数据类型********************************************************************* --create database CourseDBUSE CourseDBgoif exists(select name from sys.tableswhere name='Teacher')drop table Teachercreate table Teacher(Tno char(8)primary key,Tname char(8)not null,Tsex char(2),Tbir datetime,Ttitle char(10),Tdept varchar(20),jbgz money,gwjt money,yfgz money)********************************************************************* 2、给列指定默认值使用Transact-SQL语句,在CourseDB数据库中创建一个老师信息表Teacher,Teacher表的结构及数据类型如表2所示,这里只对表2中列Tdept进行修改,为其增加默认值约束。
********************************************************************* use CourseDBgoalter table Teacheradd constraint df default('计算机与信息科学系')for Tdept********************************************************************* 3、为表列指定唯一性约束使用Transact-SQL语句,在CourseDB数据库中创建一个班级信息表Class,Class表的结构及数据类型如表3所示,这里只对表3中列Clname进行修改,为其增加唯一性约束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二一、实验目的(1)掌握查询分析器的使用。
(2)掌握通过SQL语句创建表的方法。
(3)掌握通过SQL语句修改表结构的方法。
(4)掌握通过SQL语句添加、修改、删除表数据的方法。
二、实验内容1、通过SQL语句删除表用SQL语句在数据库Student_info中删除实验一创建的Student表、Course表、SC表。
1、选择Student_info数据库,在该数据库环境中“新建查询”,然后完成删除操作2、分别填写如下SQL语言①、drop table Student②、drop table Course③、drop table SC3、删除操作完成2、通过SQL语句创建表用SQL语句在数据库Student_info中创建实验一中的Student表、Course表、SC表,结构如实验一中表2、表3、表4(即创建出空表即可)所示①、创建Student表create table Student(Sno char(8)primary key,Sname varchar(8)not null,Sex char(2)not null,Birth smalldatetime not null,Classno char(3)not null,Entrance_date smalldatetime not null,Home_addr varchar(40))②、创建Course表create table Course(Cno char(3)primary key,Cname varchar(20)not null,Total_perior smallint check(Total_perior>0),Credit tinyint check(Credit<=6 and credit>0))③、创建SC表create table SC(Sno char(8)not null,Cno char(3)not null,Grade tinyint check(Grade>=0 and Grade<=100),primary key(Sno,Cno),foreign key(Sno)references Student(Sno),foreign key(Cno)references Course(Cno))3、通过SQL语句管理表结构(1)添加和删除列a. 给Student表增加身高(以米单位)Stature列,类型为numeric(4,2),允许为空值,且身高值需小于3.0米。
alter table Studentadd Stature numeric(4,2)check(Stature<=3.0 and Stature>=0)b. 给Student表增加所在系Sdept列,字符型,长度2,不允许为空值。
alter table Studentadd Sdept char(2)not nullc. 给Student表增加邮政篇码Postcode列,字符型,长度为6,可以为空,若不为空时,则要求其值只能出现数字,不能是其它字符。
alter table Studentadd Postcode char(6)check(Postcode Like'[1-9][0-9][0-9][0-9][0-9][0-9]')d.删除Student表中身高Stature列。
①、添加Stature列时就已知该列存在约束条件,若要删除该列,必须先删除约束条件,则首先必须先找出约束条件的约束名称。
以下有两种方法:1、写入SQL语句找出alter table Studentdrop column Stature2、运用企业管理器找出a、打开Student表b、选择Stature行,单击右键,选择“CHECK约束”c、约束名称显而易见②、其次删除Stature约束alter table Studentdrop constraint CK__Student__Stature__1A14E395③、最后删除Stature列,完成alter table Studentdrop column Stature(2)添加和删除约束a.在Student表添加约束:入学时间必须在出生年月之后alter table Studentadd constraint birth1check(Birth<Entrance_date)b.给SC表的成绩Grade列增加默认值约束,默认值为0 alter table SCadd constraint grade1default('0')for gradec.删除Grade列的默认值约束锁定Grade列的约束名即可alter table SCdrop constraint grade1(grade1 为约束名)4、通过SQL语句添加、修改、删除表中数据(1)插入数据a. Student表、Course表、SC表的记录见实验一的表5、表6、表7,其它数据可自行添加。
要求Student表和SC表中数据包括了每位同学自己的学号。
①、向Student表中添加数据insert into Student values('20110001','张虹','男','1992-09-01','051','2011-09-01','南京','CS','200413');insert into Student values('20110002','林红','女','1991-11-12','051','2011-09-01','北京','CS','100010');insert into Student values('20110103','赵青','男','1993-05-11','061','2011-09-01','上海','MS','200013');注意:Sdept的类型为char(2),添加数据是不能写“计算机系”和“软件工程”,应改为“CS”和“MS”②、向Course表中添加数据insert into Course values('001','高数','96','6');insert into Course values('002','C语言程序设计','80','5');insert into Course values('003','JAVA语言程序设计','48','3');insert into Course values('004','Visual Basic','48','4');③、向SC表中添加数据insert into SC values('20050001','001',89);insert into SC values('20110001','001',89);insert into SC values('20110001','002',78);insert into SC values('20110001','003',89);insert into SC values('20110002','002',60);insert into SC values('20110103','001',80);上面截图所示的外键约束可不予考虑b.执行如下语句:insert into Student(Sno, Sname, Sex) values(‘20101101’,’赵青’,’男’),该语句能成功执行吗?为什么?答:不能成功执行,因为不能将值NULL 插入列'Sdept'中c. 执行如下语句:insert into sc values(‘20110103’,’005’,80),该语句能成功执行吗?为什么?答:不能成功执行,因为SC表中的学号“005”的同学在Course表中不存在。
而SC表中的Cno 是作为Course表的外键存在的,所以不能成功执行。
(2)修改数据a.使用T-SQL语句,将Course表中的课程号为’002’的学分改为4,总学时改为64。
update Courseset Credit=4where Cno='002'update Courseset Total_perior=64where Cno='002'结果:b.使用T-SQL语句,将SC表中的选修了‘002’课程的同学的成绩*80%。
update SCset Grade=Grade*0.8where Cno='002'结果:(3)删除数据a. 使用T-SQL语句,删除选修了“C语言程序设计”的学生的选课记录。
删除时,发现存在外键约束,且约束名为FK__SC__Cno__1920BF5C,则先删除约束删除约束:alter table SCdrop constraint FK__SC__Cno__1920BF5C删除记录:delete from Coursewhere Cno in(select Cno from Coursewhere Cname='c语言程序设计')结果:b. 使用T-SQL语句,删除所有的学生选课记录。
delete from SC结果:说明:删除后,请重新插入SC表中的记录。
同第4题③所示步骤相同,insert into SC values('20050001','001',89); insert into SC values('20110001','001',89); insert into SC values('20110001','002',78); insert into SC values('20110001','003',89); insert into SC values('20110002','002',60); insert into SC values('20110103','001',80);结果:。