实验二--通过SQL语句创建与管理数据表word版本

合集下载

数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用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指令创建数据库和表

用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语句创建并管理数据库、数据表

使用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命令创建数据表

用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语言创建数据库和表

实验三使用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中创建和管理表

使用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表示要插入数据的表的名称。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);结果:。

相关文档
最新文档