首页 > 数据库 >Mysql数据库简介

Mysql数据库简介

时间:2023-06-22 17:00:43浏览次数:36  
标签:简介 数据库 查询 Mysql sc where id select

由于之前文章已经初步了解过数据库的概念此处就不过多赘述了,直接进入本次主题,此次要介绍的是Mysql数据库,与之前介绍的Oracle数据库相比属于中型数据库,远远小于Oracle的容量体积(从软件的安装包大小就可看出),一个只要几百MB,一个却要好几个G。虽然安全性不如Oracle好,但Mysql相比Oracle操作简单更加易于上手。

要想使用Mysql数据库,也需要进行安装对应的软件,版本推荐Mysql5.0或者Mysql8.0(此处省略安装过程,可自行在官网下载)。此处使用的是mysql8.0版本,安装好程序后可以进行登录连接,Mysql的默认登录名为root,密码可以自定义。使用Windows键加R键输入cmd后进入命令控制台,输入mysql -V 如果弹出mysql的版本信息即为安装成功,否则安装失败。如图:

Mysql数据库简介_mysql

安装好后即可进行数据库的相关操作,但由于纯命令行的操作不便,可以使用相关的图像化界面工具,此处推荐使用Navicat,下载和安装教程可自行观看B站大学学习。我使用的是版本是Navicat15,若弹出更新,切记千万不要更新,就使用当前版本,否则更新后软件可能不能使用。点击连接,选择MySql如图:

Mysql数据库简介_sql_02

之后自定义连接名,输入连接主机的IP地址和对应的端口号,以及数据库的用户名和密码,然后测试连接,成功后点击确定,如图:

Mysql数据库简介_sql_03

看到mysql的默认数据库后即为连接成功,如图:

Mysql数据库简介_数据库_04

由此你可以对数据进行相关可视化操作了,如创建数据库,删除数据库,新建表,插入数据,修改数据,删除数据等。Mysql中数据类型与Oracle中最大的不同是字符串类型Mysql中是使用varchar,而Oracle中是varchar2。Mysql中重要的操作有增删改查以及分组、分页和排序。下面会一一详细介绍:首先创建一个数据库命名为school,指定字符集-utf8,然后创建需要的表student表(学生表),teacher表(教师表),course表(课程表)以及sc表(中间关联表)。各表设计如下:student表:

Mysql数据库简介_mysql_05

Mysql数据库简介_mysql_06

teacher表:

Mysql数据库简介_数据库_07

Mysql数据库简介_数据库_08

course表:

Mysql数据库简介_数据库_09

Mysql数据库简介_sql_10

sc表:

Mysql数据库简介_数据库_11

Mysql数据库简介_sql_12

准备工作到此结束,现在开始对表中数据进行操作,语法与之前Oracle中基本一致,此处就以例子为引重点展现多表以及分组、分页和排序的使用。1.查询选修课程'3-105'且成绩在60到80之间的所有记录:首先把课程'3-105'且成绩在60到80之间的学生学号查询出来,然后在学生表中的学号进行匹配。

SQL语句:

select * from student,
(select * from sc,course where sc.sc_cou_id = course.cou_id and sc.sc_cou_id='3-105' and sc.sc_grade between  60 and 80) t 
where student.stu_id = t.sc_stu_id;

查询结果:

Mysql数据库简介_mysql_13

2.查询成绩为85、86或88的记录:首先查找成绩在集合85、86或88的学生学号,然后在学生表中的学号进行匹配,查找出学生的信息。

SQL语句:

select * from student,
(select * from sc where sc.sc_grade in(85,86,88)) t 
where student.stu_id = t.sc_stu_id;

查询结果:

Mysql数据库简介_数据库_14

3.查询'95031'班的学生人数:使用聚合函数count,把班级号为95031的学生进行统计。

SQL语句:

select count(*)人数 from student where student.stu_cla ='95031';

查询结果:

Mysql数据库简介_sql_15

4.查询最低分大于70,且最高分小于90的学号列(分组查询):先根据学号进行分组,查询出每个学号的最高分和最低分,然后在进行添加条件筛选最低分大于70,且最高分小于90的学号。

SQL语句:

select t.sc_stu_id from (select sc.sc_stu_id,min(sc.sc_grade) i ,
max(sc.sc_grade) a from sc  GROUP BY sc.sc_stu_id)t 
where t.i > 70 and t.a < 90;

查询结果:

Mysql数据库简介_mysql_16

5.查询选修编号为'3-105'课程且成绩至少高于选修编号为'3-245'课程的同学的课程号、学号 、成绩并按成绩从高到低次序排列:先查询出选择编号为'3-105'课程的同学信息,在查询出选修编号为'3-245'课程的同学的成绩信息,然后进行条件比较并排序。

SQL语句:

select t1.* from 
(select * from sc where sc.sc_cou_id='3-105') t1,
select sc.sc_grade g from sc where sc.sc_cou_id='3-245' order by sc.sc_grade asc limit 0,1) t2 
where t1.sc_grade >t2.g;

查询结果:

Mysql数据库简介_数据库_17

到此mysql的基本用法和多表查询已经讲述得差不多了,对于多表查询其实就是复杂化的单表查询,重点是查询思路,同一个例子的查询语句可能有多种,上面提出的只是提供一种思路,读者可以下去自己思考和尝试新的查询思路。对于编程就是要敢想敢动手实践,才能体会和学习到更多。


标签:简介,数据库,查询,Mysql,sc,where,id,select
From: https://blog.51cto.com/u_15101214/6535013

相关文章

  • C:\Windows\Installer\ 存储安装程序的数据库 修复和更改安装程序 安装程序的缓存
    C:\Windows\Installer\是一个特殊的系统文件夹,在Windows操作系统中扮演着重要的角色。它主要用于存储安装程序的相关信息和安装源。具体来说,C:\Windows\Installer\文件夹有以下几个作用和功能:存储安装程序的数据库:文件夹中包含一个名为"Installer"的数据库文件(即MSI数据库),......
  • 宝塔面板 mongodb设置账号,密码,数据库,并配置远程连接
    宝塔面板安装 mongo4.0后需要设置账号密码可数据库才能使用安装后 authorization:disabled  默认配置时才可以使用这个功能,如果没有admin需要先手动创建一个admin库,然后在创建一个  yourdatabaseSSH终端1、进入mongodb安装目录,下面是宝塔面板的默认目录cd/www/......
  • MYSQL 8 上云 performance_schema 里面参数我们打开了那些 5个表调整脚本?(POLARDB
    关于监控如果上云后,到底还需要自行进行监控吗,是一个问题,是否把所有的数据库监控都放到云上,通过云来获取数据库的信息是一个问题。首先回答是否定的,1  云的数据库监控的数据,部分也是通过数据库中的系统的表中获得的2 云的监控数据的需要进行处理加工,处理加工的方式对不对,这也是......
  • Android—MySQLiteOpenHelper源码解读
    MySQLiteOpenHelper:直接放上源码,解读在注释里packagecom.esandinfo;importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteOpenHelper;importandroid.util.Log;publicclassMySQLiteOpenHelperextends......
  • win 安装mysql
    参考MySQL8.0forWindowsv8.0.33官方免费绿色正式版64位在bin目录同级下创建一个文件,命名为my.iniD:\mysql_winx64\mysql-8.0.33-winx64\  下创建data目录编辑my.ini文件,文件内容如下:[mysqld]#设置3306端口port=3306#设置mysql的安装目录---这里输入你安装的......
  • 两则数据库优化的分析与解决
    Nomatterwhoorwhat,youwillnotdestroyme.Ifyouknockmedown,I'llgetbackup.Ifyoubeatme,Iwillriseandtryagain.本来昨天就答应顾问查看,财务软件中的一个存在的问题,但一直在忙没有时间来支持,今天一大早就找了顾问,问题出现在ORACLE数据库,在执行一个存储......
  • 记一次腾讯云轻量级服务器安装mysql配置完成后,外网无法访问问题
    一、配置信息正常1、防火墙配置通过2、mysql端口正常启动netstat-antlp|grep33063、配置都正常,但是telnet访问不通超时Operationtimedouttelnet124.223.98.2243306Trying124.223.98.224...telnet:connecttoaddress124.223.98.224:Operationtimedouttelne......
  • MySQL败给了PostgreSQL!
    在软件领域,数据库是毫无疑问的中流砥柱。在这片历史悠久、玩家众多的沃土上,流传着着无数技术和商业交织的故事。如今,老一代商业数据库日薄西山,开源数据库步步为营,处在浪潮之巅的我们已然可以看见其中的暗流涌动。在这场群雄逐鹿的戏码里,MySQL与PostgreSQL之争渐趋白热化。MySQL的......
  • MYSQL 修改表结构 gh-ost 到底强哪里 作者自己来talk
    PT工具在MYSQL中的使用其实已经好像有“半个世纪了”,其出名的原因主要是因为pt-osc,如果你不知道,那你真的用过MYSQL,其实还有另外两家FB-OST,GH-OST.实际上PT-OSC 虽然使用了这么多年,他也存在一些问题 PT-OSC1有些操作中,会引起高负载的写操作2在原表和新表切换的过程中更名,可......
  • MYSQL8 处理JSON 我不再是豆包,我是干粮
    最近来了一个项目,本身如果用MONGODB有点大材小用,所以为了避免某些表继续使用text字段来处理JSON数据的方式,让技术水平上一个档次,并且公司也不在上MYSQL5.7的新项目,全部是8.018这个版本。继续上一篇文字,那就看看MYSQL8的野心到底是如何展现的。顺便研究完,给开发一个靠谱的方案,......