数据库管理系统论文mysql
数据库管理系统论文mysql
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。
MYSQL的概念
MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
MySQL第七章 数据库管理与应用
create database two20210610 default charset=utf8;
use one20210606; CREATE TABLE studentinfo ( StudentID char(10) DEFAULT NULL, StudentName varchar(20) DEFAULT NULL, Gender varchar(2) DEFAULT NULL, Birthday date DEFAULT NULL, ClassID int(4) DEFAULT NULL, BeginYear year(4) DEFAULT NULL, Phone varchar(11) DEFAULT NULL, Province varchar(20) DEFAULT NULL, City varchar(20) DEFAULT NULL, Email varchar(50) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
create table teacher ( id int, teachername VARCHAR(10), hiredate DATE, gender char
);
create table classinfo ( id int, # 班级编号 classname varchar(10), gradeid int, # 年级编号 beginyear varchar(10) # 开始年份
);
create table subject ( id int , subjectname varchar(10), teacherid int );
create table exam ( id int, exam int, subjectid int, studentid int, remark varchar(10) # 备注 );
create table grade( id int , gradename varchar(10), major varchar(20) );
INSERT INTO one20210606 . classinfo ( id , classname , gradeid , beginyear ) VALUES (2001, '20级1班', 20, '2020'); INSERT INTO one20210606 . classinfo ( id , classname , gradeid , beginyear ) VALUES (2002, '20级2班', 20, '2020');
INSERT INTO one20210606 . exam ( id , exam , subjectid , studentid , remark ) VALUES (1, 98, 101, 1, '无'); INSERT INTO one20210606 . exam ( id , exam , subjectid , studentid , remark ) VALUES (2, 89, 102, 1, NULL); INSERT INTO one20210606 . exam ( id , exam , subjectid , studentid , remark ) VALUES (3, 79, 103, 1, ''); INSERT INTO one20210606 . exam ( id , exam , subjectid , studentid , remark ) VALUES (4, 96, 104, 1, NULL); INSERT INTO one20210606 . exam ( id , exam , subjectid , studentid , remark ) VALUES (5, 85, 101, 2, NULL); INSERT INTO one20210606 . exam ( id , exam , subjectid , studentid , remark ) VALUES (6, 89, 102, 2, NULL); INSERT INTO one20210606 . exam ( id , exam , subjectid , studentid , remark ) VALUES (7, 79, 103, 2, NULL); INSERT INTO one20210606 . exam ( id , exam , subjectid , studentid , remark ) VALUES (8, 83, 104, 2, NULL);
INSERT INTO one20210606 . grade ( id , gradename , major ) VALUES (20, '20级', '软件技术');
INSERT INTO one20210606 . studentinfo ( StudentID , StudentName , Gender , Birthday , ClassID , BeginYear , Phone , Province , City , Email ) VALUES ('1', '张无忌', '男', '2021-06-10', 2001, 2020, '', '河南', '许昌', ' '); INSERT INTO one20210606 . studentinfo ( StudentID , StudentName , Gender , Birthday , ClassID , BeginYear , Phone , Province , City , Email ) VALUES ('2', '张铁牛', '男', '2021-06-16', 2001, 2020, '', '河南', '许昌', ' '); INSERT INTO one20210606 . studentinfo ( StudentID , StudentName , Gender , Birthday , ClassID , BeginYear , Phone , Province , City , Email ) VALUES ('3', '林平之', '男', '2021-06-15', 2001, 2020, '', '河南', '安阳', ' '); INSERT INTO one20210606 . studentinfo ( StudentID , StudentName , Gender , Birthday , ClassID , BeginYear , Phone , Province , City , Email ) VALUES ('4', '令狐冲', '男', '2021-06-08', 2002, 2019, '', '河南', '濮阳', ' '); INSERT INTO one20210606 . studentinfo ( StudentID , StudentName , Gender , Birthday , ClassID , BeginYear , Phone , Province , City , Email ) VALUES ('5', '岳灵珊', '女', '2021-06-02', 2002, 2019, '', '河南', '南阳', ' ');
INSERT INTO one20210606 . subject ( id , subjectname , teacherid ) VALUES (101, 'mysql', 201); INSERT INTO one20210606 . subject ( id , subjectname , teacherid ) VALUES (102, 'java基础', 201); INSERT INTO one20210606 . subject ( id , subjectname , teacherid ) VALUES (103, '面向对象', 202); INSERT INTO one20210606 . subject ( id , subjectname , teacherid ) VALUES (104, '网页设计', 202);
INSERT INTO one20210606 . teacher ( id , teachername , hiredate , gender ) VALUES (201, 'hys', '2021-06-04', '男'); INSERT INTO one20210606 . teacher ( id , teachername , hiredate , gender ) VALUES (202, 'dj', '2021-06-01', '女');
-- 子查询 用子查询实现,查询出学生“林平之”的同班同学 --1 查出林平之 的班级 select classid from studentinfo where studentname='林平之'; --2 根据班级查询同班学生信息 select * from studentinfo where chassid=2001; -- 合并 select * from studentinfo where classid=(select classid from studentinfo where studentname='林平之');
-- 查询 《软件技术》 考试成绩刚好等于90分的学生名单 -- 1 需要查询学生名单 再studentinfo -- 2 科目是mysql 再subject表中 id -- 3 成绩是90 再exam表中subjectid
select studentname from studentinfo inner join exam on tid inner join tid where tname='mysql' and =85;
-- 查询 《mysql》考试成绩刚好等于85分的学生名单
<pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" cid="n23" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">select studentname from studentinfo where id = ?</pre>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" cid="n25" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">select studentid from exam where exam=85;</pre>
<pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" cid="n27" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">select id from subject where subjectname='mysql';</pre>
-- 融合 select studentname from studentinfo where id = (select studentid from exam where exam=85 and subject = (select id from subject where subjectname='mysql') ) ; -- 更新“dj”的“mysql”成绩为+5分
-- 找到....成绩 +5 exam id subjectid studentid update exam set exam = exam + 5 where subjectid = ? -- 找到mysql课程的id subject id subjectname select id from subject where subjectname = "网页设计" -- 根据名字找id teacher select id from teacher where teachername='dj'
<pre class="md-fences md-end-block ty-contain-cm modeLoaded" spellcheck="false" lang="" cid="n30" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9em; display: block; break-inside: avoid; text-align: left; white-space: normal; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(231, 234, 237); border-radius: 3px; padding: 8px 4px 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">-- 融合
update exam set exam = exam + 5 where subjectid = (select id from subject where subjectname = "网页设计" and rid = (select id from teacher where teachername='dj' ))</pre>
-- 删除“岳灵珊”的所有考试成绩 -- 1 在studentinfo表中找到岳灵珊的id select studentid from studentinfo where studentname="岳灵珊" -- 2 根据id在exam表中删除成绩 delect from exam where studentid=?
-- 合并 delect from exam where studentid= (select studentid from studentinfo where studentname="张无忌");
-- 插入的子查询 把查询结果作为条件 插入到新的数据 insert into studentinfo values (select * from studentinfo where studentid=5)
-- 查询《mysql》考试成绩刚好等于85分的学生名单 in的使用 在....范围之内
select studentname from studentinfo where studentid = ?
select studentid from exam where exam=85;
select id from subject where subjectname='mysql'; -- 融合 select studentname from studentinfo where studentid in (select student from exam=85 and subjectid in (select id from subject where subjectname='mysql') );
-- 查询成绩表中科目编号为102的考试成绩中是否存在不及格的学生,如果存在不及格的学生就将参加科目编号102考试的学生编号和成绩全部查询显示出来 -- 是否存在不及格的学生 SELECT StudentID fromEXAM WHERE Exam<60 -- 参加科目编号102考试的学生 WHERE SubjectID=102 -- 学生编号和成绩全部查询显示出来 SELECT StudentID,Exam FROM EXAM -- 融合 SELECT StudentID,Exam FROM EXAM WHERE SubjectID=102 AND EXISTS (SELECT StudentID from EXAM WHERE Exam<60);
-- 查询成绩比科目编号为“1”的这门课程的所有成绩都大的学生考试信息 -- 1 查询....学生考试信息 SELECR * FROM Exam WHERE where ? -- 2 成绩比科目编号为“101”的这门课程的所有成绩都大 all(SELECT Exam from EXAM WHERE SubjectID=1) -- 合并 SELECT * FROM exam where exam > all(SELECT Exam from EXAM WHERE subjectid=101);
mysql数据库
MySQL数据库一般指MySQL,MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发。
mysql是目前网站以及APP应用上用得较多的一个开源的关系型数据库系统,可以对数据进行保存,分段化的数据保存,也可以对其数据进行检索,查询等功能的数据库。
默认的mysql数据库中存有一个库这个就是mysql的系统数据库,可以对其保存系统的数据包括mysql数据库的信息,数据库root账号,普通账号,以及数据库的名称,还有数据库的一些表还有一些数字型的数据类型结构都会有所保存。
mysql数据库的优点
(1)MySQL数据库是用C和C++语言编写的,并且使用了多种编辑器进行测试,以保证源码的可移植性。
(2)支持多个操作系统例如:Windows、Linux、Mac OS等等。
(3)支持多线程,可以充分的利用CPU资源。
(4)为多种编程语言提供API,包括C语言、Java、PHP、Python语言等。
(5)MySQL优化了SQL算法,有效的提高了查询速度。
(6)MySQL内提供了用于管理,检查以及优化数据库操作的管理工具。
(7)它能够作为一个单独的应用程序应用在客户端服务器网络环境中,也可以作为一个库嵌入到其他的软件中并提供多种语言支持。
什么是mysql数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:
上一篇:小学生科学小论文250字左右
下一篇:大型数据库系统论文3000字