前言
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 测试
方法一:使用企业管理器直接建立数据库(鼠标右键创建数据库,输入数据库名,字符集和字符规则)。
方法二: 使用MySQL语句创建数据库
CREATE DATABASE SJK DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_czech_ci;
SHOW CREATE DATABASE SJK
方法一:使用企业管理器修改数据库属性(鼠标右键更改数据库,更改字符集和校对规则)
方法二:使用MySQL语句修改数据库属性
ALTER DATABASE SJK DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_czech_ci
方法一:使用企业管理器删除数据库(鼠标右键更多数据库操作删除数据库)
方法二:使用MySQL语句删除数据库
DROP DATABASE IF EXISTS SJK
本次实验,我学习了数据库的基本知识,掌握了如何查看、修改数据库属性,深刻体会到了学以致用的重要性,并对数据库这门课程引起了极大的兴趣,也希望今后能学习到更多关于数据库的知识。
方法一:使用企业管理器创建(鼠标右键创建-表)
方法二:使用MySQL语句创建
CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件,Sno是主码*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) );
DROP TABLE student CASCADE;
ALTER TABLE student RENAME TO stu;
通过本次实验,我学习到了数据库的一些基本知识,掌握创建、删除表和修改表结构的方法,对数据库也有了进一步的认识,对今后的数据库操作和学习起到了一定的铺垫作用。
MySQL详细创建表,数据库MySQL表的创建以及创建表的基本语法和示例,并展现了数据库最终创建的结果等,请查看https://download.csdn.net/download/m0_64304713/88368833
(1)查看全体学生的学号与姓名
SELECT Sno,Sname FROM Student;
(2)查询全体学生姓名、出生年份和所在系院(要求用小写字母表示系名)
SELECT Sname,'Year of Birth:',2014-Sage,LOWER(Sdept) FROM Student;
(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;
(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语句在单表查询的应用、复杂查询的使用方法以及多表连接的方法,大大提高了数据的使用效率,让我对数据库的学习有所憧憬。
CREATE VIEW IS_Stu AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept='IS'; WITH CHECK OPTION;
DROP VIEW IS_Stu
SELECT Sno,Sage FROM IS_Stu WHERE Sage<20;
UPDATE IS_Stu SET Sname='刘辰' WHERE Sno='201215122';
通过本次实验,我掌握了视图的定义与维护操作,加深了对视图在关系数据库中的作用的理解,对数据库有了更多的了解和认识,为今后的学习做了铺垫,也让我对后期的学习充满了信心。
方法一:使用企业管理器设置(管理用户权限)
方法二:使用MySQL语句设置
GRANT SELECT ON TABLE Student TO 赵
REVOKE SELECT ON TABLE student FROM 赵
通过本次实验,加深了对数据安全性的理解,同时也学会了设置和管理数据操作权限,也学会了收回数据操作权限,对数据库学习更加全面,学习数据库也越来越轻松。
旨在学会创建、使用触发器
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//
1.测试
INSERT INTO test_trigger(t_note) VALUES ('Tom...');
2.查看数据
SELECT * FROM test_trigger; SELECT * FROM test_trigger_log;
通过本次实验,我加深了对数据库完整性的理解,学会了创建使用触发器,对数据库也越来越热爱,对今后学习也充满了信心。