一、实验目的
SQL(Structured Query Language)语言是关系数据库的标准语言。是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。
本次实验了解SQL语言中DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,掌握在Navicat for MySQL中用DDL语言进行对表、索引、视图的增加、删除和改动。掌握使用SQL语句增加或删除约束,加深对完整性概念的理解,达到灵活应用的目的。掌握使用SQL语
句定义和删除同义词。
二、实验要求
1、实验前:预习实验内容,学习相关知识。
2、实验中:按照实验内容要求进行实验,实验时注意每种SQL语句的基本命令及各个关键字的含义,做好实验记录。
3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。
4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。
5、要求按指定格式书写实验报告,且报告中应反映出本对次实验的总结,下次实验前交实验报告。
三、实验的重点与难点
1、重点:
(1)用SQL语句定义表结构(创建、修改和删除)。
(2)用SQL语句定义索引(创建、删除)。
(3)用SQL语句定义视图(创建、删除)。
(4)用SQL语句定义同义词(创建、删除)。
2、难点:
完整性约束的定义、增加及删除。
同义词的定义与删除。
四、仪器设备及用具
硬件:投影仪、每位同学分配已连接校园网PC机一台。
软件:本机已安装MySQL 5.5数据库平台。
五、教学过程
(一)实验预习
(1)熟悉SQL中的CREATE、DROP、ALTER语句的格式及所用的关键字含义及用法。
(2)掌握完整性约束定义、增加和删除的一般用法。
(3)掌握同义词定义、删除的一般用法。
(二)实验原理
在Navicat for MySQL中使用CREATE命令完成对表、索引、视图、同义词的创建,使用DROP命令完成对表、索引、视图、同义词的删除,使用ALTER命令对表结构进行修改及完整性约束的增加、删除。
(三)实验内容
1.运行Navicat for MySQL,连接到test数据库,用如下语句进行表操作,详细的语法格式如下:
CREATE TABLE 表名字
(列名1 数据类型 [DEFAULT expression],
列名2 数据类型 [DEFAULT expression],
)
|[CONSTRAINT
(index_col_name,...)
| KEY [index_name] [index_type] (index_col_name,...)
| INDEX [index_name] [index_type] (index_col_name,...)
| [CONSTRAINT [symbol]] UNIQUE [INDEX]
[index_name] [index_type] (index_col_name,...)
| [FULLTEXT|SPATIAL] [INDEX] [index_name] (index_col_name,...) | [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name,...) [reference_definition]
| CHECK (expr) [symbol]] PRIMARY KEY [index_type]
建立表主要指定义下列信息:
列定义、主键定义、键定义、索引定义 、完整性约束、外键定义、表达式检查
例如在新建查询中输入如下语句:
CREATE TABLE NEW_DEPT92150033
(DPTNO DECIMAL(10,2),
DNAME CHAR(6),
LOC CHAR(13),
PRIMARY KEY (DPTNO));
点击运行,创建表NEW_DEPT92150033,如下图所示:
选中表,单击右键,执行刷新进行表刷新,这时你可以看到新建的表。
更改表详细的语法格式如下:
增加一个列:
alter table 表名字 ADD [COLUMN] column_definition [FIRST | AFTER col_name ],.);
修改一个列:
alter table 表名字 MODIFY [COLUMN] column_definition [FIRST | AFTER col_name],.);
删除一个列:
alter table 表名字DROP [COLUMN] col_name;
在查询编辑器中执行create table语句首先建立一个test92150033表,然后分别使用alter table add、alter table modify、alter table drop column在表test92150033上来增加两个列、修改一个列和删除一个列。SQL语句如下所示:
create table test92150033 (id var20) not null);
alter table test92150033 ADD (name varchar (30) default '无名氏' not null);
alter table test92150033 ADD (age integer not null);
alter table test92150033 MODIFY name var16);
alter table test92150033 drop column age;
删除表语法:
Drop table 表名字;
例如在查询编辑器中执行如下语句删除表:
Drop table test92150033;
2. 用如下语句进行视图操作,详细的语法格式如下:
CREATE VIEW 视图名 AS SELECT FROM ;
视图是一个逻辑表,它允许操作者从其它表或视图存取数据,视图本身不包含数据。视图所基于的表称为基表。
引入视图有下列作用:
提供附加的表安全级,限制存取基表的行或/和列集合。
隐藏数据复杂性。 为数据提供另一种观点。
例如在查询编辑器中执行如下语句建立视图:
先建立基表:
CREATE TABLE t (qty INT, price INT);
插入记录
INSERT INTO t VALUES(3, 50);
INSERT INTO t VALUES(5, 10);
在基表t的基础上,创建视图v。
CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t; 从视图v检索数据
SELECT * FROM v;
结果如图所示。
点击视图可以看到新建立的视图v,如图所示。
因篇幅问题不能全部显示,请点此查看更多更全内容