前言
MySQL 是一个开源的关系型数据库管理系统,它是一种客户端/服务器模式的数据库,是最流行的开源数据库之一。MySQL 使用标准 SQL 数据语言,是一种可扩展性和可定制性极高的数据库系统。MySQL 支持多种操作系统,包括 Linux、Windows 和 Mac OS X 等。
MySQL 的主要特点包括:
1. 高性能:MySQL 能够处理高并发读写请求,支持多线程操作,提供高效的缓存机制。
2. 可扩展性和可定制性:MySQL 可以根据具体需求进行定制和扩展。
3. 安全性:MySQL 提供了多种安全措施,包括用户验证、加密传输和权限控制等。
4. 可靠性:MySQL 提供了备份和恢复功能,可以保证数据可靠性。
5. 易用性:MySQL 简单易用,适合各种规模的应用,从简单的 Web 应用到大型企业级应用。
总之,MySQL 是一款功能强大、可靠性高、性能优异、易用性好的数据库管理系统,广泛应用于 Web 应用、企业应用和移动应用领域。
目录
1 数据库的创建与管理
1.1 创建数据库
1.2 查看数据库属性
1.3 修改数据库属性
1.4 删除数据库
2 表的创建与管理
2.1 创建表
2.2 删除表
2.3 修改表名
3 数据查询
3.1 单表查询
3.2 连接查询
3.3 嵌套查询
4 数据库的视图定义及维护
4.1 创建视图
4.2 删除视图
4.3 查询视图
4.4 更新视图
5 数据安全性控制
5.1 设置和管理数据操作权限
5.2 收回数据操作权限
6 数据完整性控制
6.1 创建触发器
6.2 测试
1 数据库的创建与管理
1.1 创建数据库
方法一:使用企业管理器直接建立数据库(鼠标右键创建数据库,输入数据库名,字符集和字符规则)。
方法二: 使用MySQL语句创建数据库
CREATE DATABASE SJK
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_czech_ci;
1.2 查看数据库属性
SHOW CREATE DATABASE SJK
1.3 修改数据库属性
方法一:使用企业管理器修改数据库属性(鼠标右键更改数据库,更改字符集和校对规则)
方法二:使用MySQL语句修改数据库属性
ALTER DATABASE SJK
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_czech_ci
1.4 删除数据库
方法一:使用企业管理器删除数据库(鼠标右键更多数据库操作删除数据库)
方法二:使用MySQL语句删除数据库
DROP DATABASE IF EXISTS SJK
本次实验,我学习了数据库的基本知识,掌握了如何查看、修改数据库属性,深刻体会到了学以致用的重要性,并对数据库这门课程引起了极大的兴趣,也希望今后能学习到更多关于数据库的知识。
2 表的创建与管理
2.1 创建表
方法一:使用企业管理器创建(鼠标右键创建-表)
方法二:使用MySQL语句创建
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
/* 列级完整性约束条件,Sno是主码*/
Sname CHAR(20) UNIQUE, /* Sname取唯一值*/
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
2.2 删除表
DROP TABLE student CASCADE;
2.3 修改表名
ALTER TABLE student
RENAME TO stu;
通过本次实验,我学习到了数据库的一些基本知识,掌握创建、删除表和修改表结构的方法,对数据库也有了进一步的认识,对今后的数据库操作和学习起到了一定的铺垫作用。
MySQL详细创建表,数据库MySQL表的创建以及创建表的基本语法和示例,并展现了数据库最终创建的结果等,请查看
3 数据查询
3.1 单表查询
(1)查看全体学生的学号与姓名
SELECT Sno,Sname
FROM Student;
(2)查询全体学生姓名、出生年份和所在系院(要求用小写字母表示系名)
SELECT Sname,'Year of Birth:',2014-Sage,LOWER(Sdept)
FROM Student;
3.2 连接查询
(1)查看每个学生及其选修课程的情况
SELECT Student.*,SC.*
FROM Student,SC
WHERE Student.Sno=SC.Sno;
(2)查询选修2号课程且成绩在90分以下的所有学生的学号和姓名
SELECT Student.Sno,Sname
FROM Student,SC
WHERE Student.Sno=SC.Sno AND
SC.Cno='2'AND SC.Grade<90;
3.3 嵌套查询
(1)查询与“刘晨”在同一个系学习的学生
SELECT Sno,Sname,Sdept
FROM Student
WHERE Sdept IN
(SELECT Sdept
FROM Student
WHERE Sname='刘晨');
(2)查询选修了课程名为“信息系统”的学生学号和姓名
SELECT Sno,Sname
FROM Student
WHERE Sno IN
(SELECT Sno
FROM SC
WHERE Cno IN
(SELECT Cno
FROM Course
WHERE Cname='信息系统'
)
);
通过本次实验,我了解了查询的概念和方法,并掌握了SELECT语句在单表查询的应用、复杂查询的使用方法以及多表连接的方法,大大提高了数据的使用效率,让我对数据库的学习有所憧憬。
4 数据库的视图定义及维护
4.1 创建视图
CREATE VIEW IS_Stu
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept='IS';
WITH CHECK OPTION;
4.2 删除视图
DROP VIEW IS_Stu
4.3 查询视图
SELECT Sno,Sage
FROM IS_Stu
WHERE Sage<20;
4.4 更新视图
UPDATE IS_Stu
SET Sname='刘辰'
WHERE Sno='201215122';
通过本次实验,我掌握了视图的定义与维护操作,加深了对视图在关系数据库中的作用的理解,对数据库有了更多的了解和认识,为今后的学习做了铺垫,也让我对后期的学习充满了信心。
5 数据安全性控制
5.1 设置和管理数据操作权限
方法一:使用企业管理器设置(管理用户权限)
方法二:使用MySQL语句设置
GRANT SELECT
ON TABLE Student
TO 赵
5.2 收回数据操作权限
REVOKE SELECT
ON TABLE student
FROM 赵
通过本次实验,加深了对数据安全性的理解,同时也学会了设置和管理数据操作权限,也学会了收回数据操作权限,对数据库学习更加全面,学习数据库也越来越轻松。
6 数据完整性控制
旨在学会创建、使用触发器
6.1 创建触发器
1.创建数据表
CREATE TABLE test_trigger (
id INT PRIMARY KEY AUTO_INCREMENT,
t_note VARCHAR(30)
);
CREATE TABLE test_trigger_log (
id INT PRIMARY KEY AUTO_INCREMENT,
t_log VARCHAR(30)
);
2.查看表数据
SELECT * FROM test_trigger;
SELECT * FROM test_trigger_log;
3.创建触发器
DELIMITER //
CREATE TRIGGER before_insert_test_tri
BEFORE INSERT ON test_trigger
FOR EACH ROW
BEGIN
INSERT INTO test_trigger_log(t_log)
VALUES('before insert...');
END //
DELIMITER//
6.2 测试
1.测试
INSERT INTO test_trigger(t_note)
VALUES ('Tom...');
2.查看数据
SELECT * FROM test_trigger;
SELECT * FROM test_trigger_log;
通过本次实验,我加深了对数据库完整性的理解,学会了创建使用触发器,对数据库也越来越热爱,对今后学习也充满了信心。