当前位置:   article > 正文

数据库实验报告--MySQL

数据库实验

前言

        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语句创建数据库

  1. CREATE DATABASE SJK
  2. DEFAULT CHARACTER SET utf8
  3. DEFAULT COLLATE utf8_czech_ci;

 1.2 查看数据库属性

SHOW CREATE DATABASE SJK

 1.3 修改数据库属性

     方法一:使用企业管理器修改数据库属性(鼠标右键更改数据库,更改字符集和校对规则)

     方法二:使用MySQL语句修改数据库属性

  1. ALTER DATABASE SJK
  2. DEFAULT CHARACTER SET utf8
  3. DEFAULT COLLATE utf8_czech_ci

1.4 删除数据库

     方法一:使用企业管理器删除数据库(鼠标右键更多数据库操作删除数据库)

     方法二:使用MySQL语句删除数据库

DROP DATABASE  IF EXISTS SJK

本次实验,我学习了数据库的基本知识,掌握了如何查看、修改数据库属性,深刻体会到了学以致用的重要性,并对数据库这门课程引起了极大的兴趣,也希望今后能学习到更多关于数据库的知识。

2 表的创建与管理

 2.1 创建表

     方法一:使用企业管理器创建(鼠标右键创建-表)

     方法二:使用MySQL语句创建

  1. CREATE TABLE Student
  2. (Sno CHAR(9) PRIMARY KEY,
  3. /* 列级完整性约束条件,Sno是主码*/
  4. Sname CHAR(20) UNIQUE, /* Sname取唯一值*/
  5. Ssex CHAR(2),
  6. Sage SMALLINT,
  7. Sdept CHAR(20)
  8. );

 

 2.2 删除表

DROP TABLE student CASCADE;

 

 2.3 修改表名 

  1. ALTER TABLE student
  2. RENAME TO stu;

通过本次实验,我学习到了数据库的一些基本知识,掌握创建、删除表和修改表结构的方法,对数据库也有了进一步的认识,对今后的数据库操作和学习起到了一定的铺垫作用。

MySQL详细创建表,数据库MySQL表的创建以及创建表的基本语法和示例,并展现了数据库最终创建的结果等,请查看https://download.csdn.net/download/m0_64304713/88368833

3 数据查询 

 3.1 单表查询

   (1)查看全体学生的学号与姓名

  1. SELECT Sno,Sname
  2. FROM Student;

 (2)查询全体学生姓名、出生年份和所在系院(要求用小写字母表示系名)

  1. SELECT Sname,'Year of Birth:',2014-Sage,LOWER(Sdept)
  2. FROM Student;

 3.2 连接查询 

   (1)查看每个学生及其选修课程的情况

  1. SELECT Student.*,SC.*
  2. FROM Student,SC
  3. WHERE Student.Sno=SC.Sno;

 

   (2)查询选修2号课程且成绩在90分以下的所有学生的学号和姓名

  1. SELECT Student.Sno,Sname
  2. FROM Student,SC
  3. WHERE Student.Sno=SC.Sno AND
  4. SC.Cno='2'AND SC.Grade<90;

 3.3 嵌套查询 

   (1)查询与“刘晨”在同一个系学习的学生

  1. SELECT Sno,Sname,Sdept
  2. FROM Student
  3. WHERE Sdept IN
  4. (SELECT Sdept
  5. FROM Student
  6. WHERE Sname='刘晨');

    (2)查询选修了课程名为“信息系统”的学生学号和姓名

  1. SELECT Sno,Sname
  2. FROM Student
  3. WHERE Sno IN
  4. (SELECT Sno
  5. FROM SC
  6. WHERE Cno IN
  7. (SELECT Cno
  8. FROM Course
  9. WHERE Cname='信息系统'
  10. )
  11. );

通过本次实验,我了解了查询的概念和方法,并掌握了SELECT语句在单表查询的应用、复杂查询的使用方法以及多表连接的方法,大大提高了数据的使用效率,让我对数据库的学习有所憧憬。

4 数据库的视图定义及维护

 4.1 创建视图

  1. CREATE VIEW IS_Stu
  2. AS
  3. SELECT Sno,Sname,Sage
  4. FROM Student
  5. WHERE Sdept='IS';
  6. WITH CHECK OPTION;

 4.2 删除视图

DROP VIEW IS_Stu

 4.3 查询视图

  1. SELECT Sno,Sage
  2. FROM IS_Stu
  3. WHERE Sage<20;

 4.4 更新视图

  1. UPDATE IS_Stu
  2. SET Sname='刘辰'
  3. WHERE Sno='201215122';

通过本次实验,我掌握了视图的定义与维护操作,加深了对视图在关系数据库中的作用的理解,对数据库有了更多的了解和认识,为今后的学习做了铺垫,也让我对后期的学习充满了信心。

5 数据安全性控制

 5.1 设置和管理数据操作权限

     方法一:使用企业管理器设置(管理用户权限)

     方法二:使用MySQL语句设置

  1. GRANT SELECT
  2. ON TABLE Student
  3. TO

 5.2 收回数据操作权限

  1. REVOKE SELECT
  2. ON TABLE student
  3. FROM

通过本次实验,加深了对数据安全性的理解,同时也学会了设置和管理数据操作权限,也学会了收回数据操作权限,对数据库学习更加全面,学习数据库也越来越轻松。

6 数据完整性控制

旨在学会创建、使用触发器

 6.1 创建触发器

     1.创建数据表

  1. CREATE TABLE test_trigger (
  2. id INT PRIMARY KEY AUTO_INCREMENT,
  3. t_note VARCHAR(30)
  4. );
  5. CREATE TABLE test_trigger_log (
  6. id INT PRIMARY KEY AUTO_INCREMENT,
  7. t_log VARCHAR(30)
  8. );

     2.查看表数据

  1. SELECT * FROM test_trigger;
  2. SELECT * FROM test_trigger_log;

     3.创建触发器

  1. DELIMITER //
  2. CREATE TRIGGER before_insert_test_tri
  3. BEFORE INSERT ON test_trigger
  4. FOR EACH ROW
  5. BEGIN
  6. INSERT INTO test_trigger_log(t_log)
  7. VALUES('before insert...');
  8. END //
  9. DELIMITER//

 6.2 测试   

     1.测试

  1. INSERT INTO test_trigger(t_note)
  2. VALUES ('Tom...');

     2.查看数据

  1. SELECT * FROM test_trigger;
  2. SELECT * FROM test_trigger_log;

通过本次实验,我加深了对数据库完整性的理解,学会了创建使用触发器,对数据库也越来越热爱,对今后学习也充满了信心。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/873030
推荐阅读
相关标签
  

闽ICP备14008679号