一、目的:
Navicat for MySQL 是一套专为 MySQL 设计的高性能数据库管理及开发
工具。它可以用于任何版本 3.21 或以上的 MySQL 数据库服务器,并支持大
部份 MySQL 最新版本的功能,包括触发器、存储过程、函数、事件、视图、
管理用户等。
SQL(Structured Query Language)语言是关系数据库的标准语言。是一种
介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,
SQL 语言是一个通用的、功能极强的关系数据库语言。
本实验首先了解并掌握如何使用 Navicat for MySQL 连接数据库、浏览
数据库对象、运行 SQL 语句和 SQL 脚本,以及如何编辑和运行 SQL 语句。
Navicat for MySQL 可以提高工作效率并简化数据库开发任务。
本次实验还了解 SQL 语言中 DDL 语言的 CREATE、DROP、ALTER 对表、索
引、视图的操作,掌握在 Navicat for MySQL 中用 DDL 语言进行对表、索引、
视图的增加、删除和改动。掌握使用 SQL 语句增加或删除约束,加深对完整性
概念的理解,达到灵活应用的目的。掌握使用 SQL 语句定义和删除同义词。
二、重点与难点:
1 、重点:
(1) Navicat for MySQL 的安装及启动。
(2) Navicat for MySQL 连接数据库、浏览数据库对象、运行 SQL 语句和
SQL 脚本。
(3) 用 SQL 语句定义表结构(创建、修改和删除)。 (4) 用 SQL 语句定义索引(创建、删除)。
(5) 用 SQL 语句定义视图(创建、删除)。
(6) 用 SQL 语句定义同义词(创建、删除)。
2 、难点:
(1) Navicat for MySQL 连接数据库的参数配置,包括用户名、密码、主机名、端口。
(2) 完整性约束的定义、增加及删除。
(3) 同义词的定义与删除。
三、过程:
(一)预习
(1)
熟悉 SQL 中的 CREATE 、 DROP 、 ALTER 语句的格式及所用的关键字
含义及用法。
(2)
掌握完整性约束定义、增加和删除的一般用法。
(3)
掌握同义词定义、删除的一般用法。
(二)原理
观看 Navicat for MySQL 连接配置教学视频,在 Navicat for MySQL 中完成连
接参数配置,并进行数据库连接、浏览数据库对象、运行 SQL 语句和 SQL
脚本等操作。
在 Navicat for MySQL 中使用 CREATE 命令完成对表、索引、视图、同
义词的创建,使用 DROP 命令完成对表、索引、视图、同义词的删除,使用
ALTER 命令对表结构进行修改及完整性约束的增加、删除。
(三)内容
使用 Navicat for MySQL 管理数据库对象首先要创建数据库连接。
1. 双击桌面 Navicat for MySQL 快捷方式。
2. 在文件菜单中,先选择新建连接,再选择 MySQL... 。
3. 在新建连接常规设置页面下,连接名中输入“本地数据库”,主机名或 IP
地址输入“ localho st ”,端口保持 3306 不变,用户名保持 root 不变,密码输
入“ mysql”, 然后单击连接测试按钮。
4. 测试连接状态已成功,但没有保存该连接。要保存该连接,请单击连接成
功提示框的确定按钮后,再单击 MySQL – 新建连接的确定按钮。
5. 保存了该连接,可以在列表中看到该数据库。
6. 双击本地数据库连接名,连接到本地 MySQL 数据库服务器上。我们可以
看到本地数据库服务器上有四个不同名称的数据库。
7. 双击 mysql 数据库,连接到 mysql 数据库上。
8. 选择 help_keyword 表,单击右键选择设计表。
9. 查看表定义、索引、外键、触发器。
10. 要查看该表数据,请在对象页,单击 help_keyword 表,单击右键选择打
开表。
11. 数据随即显示。
12. 运行 Navicat for MySQL ,连接到 test 数据库,用如下语句进行表操作,详
细的语法格式如下:
CREATE TABLE 表名字
(column1 datatype [DEFAULT expression],
column1 datatype [DEFAULT expression],
…… )
|[CONSTRAINT [ symbol ]] PRIMARY KEY [ index_type ] ( 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 )
建立表主要指定义下列信息:
列定义、主键定义、键定义、索引定义 、完整性约束、外键定义、表达式
检查,例如在新建查询中输入如下语句:
CREATE TABLE NEW_DEPT92150033
(DPTNO DECIMAL(10,2),
DNAME CHAR(6),
LOC CHAR(13),
PRIMARY KEY (DPTNO));
点击运行,创建表 NEW_DEPT92150033 ,如下图所示:
因为安装的MySQL社区版,选中表 , 单击右键,需要手动进行表刷新,刷新后可以看到刚刚新建
的表。
更改表详细的语法格式如下:
增加一个列:
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 varchar(20) 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 varchar(16);
alter table test92150033 drop column age;
删除表语法:
Drop table 表名字 ;
例如在查询编辑器中执行如下语句删除表:
Drop table test92150033;
13. 用如下语句进行视图操作,详细的语法格式如下:
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, 如图所示。
删除视图语法:
Drop View 视图名 ;
例如在查询编辑器中执行如下语句删除视图:
drop view v;
14. 用如下语句对索引进行操作,详细的语法格式如下:
建立索引: CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
[USING index_type] ON tbl_name (index_col_name,...)
index_col_name:
col_name [(length)] [ASC | DESC]
索引是种数据库对象。对于在表或聚集的索引列上的每一值将包含一项,为
行提供直接的快速存取。
例如,在 ADDRESS 表的 CUSTOMERID 上建立索引 IX_ADD_CUST :
CREATE INDEX IX_ADD_CUST ON ADDRESS(CUSTOMERID);
删除索引语法:
DROP INDEX index_name ON tbl_name ;
例如在查询编辑器中执行如下语句删除索引:
Drop Index IX_ADD_CUST on ADDRESS;
(四)注意事项
1 、在配置主机名或 IP 地址时,如果访问数据库服务器,可以用本机的 IP
地址替代 localhost 。
2 、 MySQL 的端口值默认为 3306 。
3 、建立视图 v 之前,必须创建表 t 和插入记录。