数据库MySQL学习-数据查询(持续更新中...)

news2024/10/6 6:48:11

MySQL数据库

MySQL是DBMS软件系统,通过这些系统来维护管理数据库。

DBMS类似于用于和数据库之间的桥梁。

一、安装配置

下载免费的MySQL 社区版,安装后需要下载MySQL workbench vscode phpmyadmin等工具来接入MySQL。

MySQL可以管理多个数据库的,数据库存放在某台主机上面,数据库上级是服务器,服务器是用来作为数据库的,每台服务器可以有多个数据库,MySQL里的数据库称为schema,schema里面可以有不同的table(表格)。
官网: https://www.mysql.com/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VulDSNC3-1686821300640)在这里插入图片描述

在这里插入图片描述

点击社区版

在这里插入图片描述

在这里插入图片描述

下载

在这里插入图片描述

安装后打开控制台(快捷键win+r)

输入:

mysql -uroot -p

在这里插入图片描述

二、数据类型

MySQL大致分为三类:

  • 数值类型
  • 日期/时间类型
  • 字符串(字符)类型

1、整数类型

2、浮点数类型

3、定点数类型

4、日期类型

5、时间类型

6、字符串类型

三、数据库表基本操作

1、数据库查看

Show databases;

在这里插入图片描述

2、数据库创建

Create database huang;

在这里插入图片描述

3、数据库删除

Drop database huang;

在这里插入图片描述

4、表的创建

语法:

CREATE TABLE 表名( 属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件]
);

约束:

标识说明
PRIMARY KEY属性为该表的主键,可以唯一的标识对应的记录
FOREIGN KEY属性为该表的外键,与某表的主键关联
NOT NULL属性不能为空
UNIQUE属性的值是唯一的
AUTO_INCREMENT属性的值自动增加
DEFAULT设置默认值

实例:

在这里插入图片描述

5、表的结构查看

查看基本表的结构

DESCRIBE(DESC) 表名;

查看表的详细结构

SHOW CREATE TABLE 表名;

6、表的修改

修改表名

ALTER TABLE 旧表名 RENAME 新表名;

修改字段

ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型

增加字段

ALTER TABLE 表名 ADD 属性名 1 数据类型 [完整性约束条件] [FIRST | AFTERR 属性名 2]

删除字段

ALTER TABLE 表名 DROP 属性名

7、表的删除

DROP TABLE 表名

四、数据查询

数据查询 重要项,简称sql语句。

1、单表查询

此处建了一个表hun(内容随机):

在这里插入图片描述

01-查询指定列

SELECT hun.`name` FROM hun

在这里插入图片描述

查询多行,用逗号隔开。

SELECT hun.`name`,hun.sex FROM hun

在这里插入图片描述

02-查询全部列

SELECT * FROM hun

在这里插入图片描述

03-查询经过计算的值

SELECT hun.`id`,hun.`name`,hun.`sex`,hun.`age`-18 FROM hun

在这里插入图片描述

04-消除取值重复行

关键字
DISTINCT

在原有表上加了一行重复项

在这里插入图片描述

SELECT DISTINCT hun.`name` FROM hun

在这里插入图片描述

05-查询满足条件的元组

比较

查询大于18岁的

SELECT * FROM hun WHERE hun.`age`>18

在这里插入图片描述

查询小于18岁的

SELECT * FROM hun WHERE hun.`age`<18

在这里插入图片描述

范围 BETWEEN 17 AND 18

查询17-18这个范围之间的人物。

SELECT * FROM hun WHERE hun.`age` BETWEEN 17 AND 18

在这里插入图片描述

确定集合 IN (‘黄昏’,‘夏目’)
SELECT * FROM hun WHERE hun.`name` IN ('黄昏','夏目')

在这里插入图片描述

字符匹配 LIKE ‘黄%’
SELECT * FROM hun WHERE hun.`name` LIKE '黄%'
SELECT * FROM hun WHERE hun.`name` LIKE '%黄'
SELECT * FROM hun WHERE hun.`name` LIKE '%黄%'
SELECT * FROM hun WHERE hun.`name` LIKE '黄_'

在这里插入图片描述

空值 IS NULL、IS NOT NULL

此处我修改了表单,新增了一个空值。

在这里插入图片描述

在这里插入图片描述

查询为空的
SELECT * FROM hun WHERE hun.`sex` IS NULL

查询不为空的
SELECT * FROM hun WHERE hun.`sex` IS NOT NULL

在这里插入图片描述

多重条件

查询性别是男,年龄大于18

SELECT * FROM hun WHERE hun.`sex`='男' AND hun.`age`>18

在这里插入图片描述

06-Order by子句

Order by子句用来排序的。

ASC  升序
DESC 降序

例子:根据年龄排序。

SELECT * FROM hun ORDER BY hun.`age` ASC
SELECT * FROM hun ORDER BY hun.`age` DESC

在这里插入图片描述

07-聚集函数

SELECT COUNT(*) FROM hun

在这里插入图片描述

例子:计算所有人员年龄的总和。

SELECT SUM(hun.`age`) FROM hun

在这里插入图片描述

08-Group by子句

将查询结果按某一列或多个列分组,值相等就是一组。

例子:男女分组(GROUP BY hun.sex)。

SELECT COUNT(hun.`age`),hun.`sex` FROM hun GROUP BY hun.`sex`

在这里插入图片描述

2、连接查询

此时再新加一个表格,内容如下,和上面用到的表格进行连接查询。

在这里插入图片描述

01-等值与非等值连接

等值连接查询:

SELECT stu.`name`,stu.`age`,stu.`sex`,s.`score` FROM h_score s,hun stu WHERE s.`h_id`=stu.`id`

在这里插入图片描述

不等值连接查询:

!=
<>

在这里插入图片描述

02-自身连接

在这里插入图片描述

03-外连接

外连接分为:左外连接和右外连接。

SELECT stu.`name`,stu.`age`,stu.`sex`,s.`score` FROM h_score s LEFT OUTER JOIN hun stu ON (s.`h_id`=stu.`id`)
SELECT stu.`name`,stu.`age`,stu.`sex`,s.`score` FROM h_score s RIGHT OUTER JOIN hun stu ON (s.`h_id`=stu.`id`)
左外连接

在这里插入图片描述

右外连接

在这里插入图片描述

04-复合条件连接

在这里插入图片描述

3、嵌套查询

新建表格,内容如下:

在这里插入图片描述

01-带有IN谓词的子查询

02-带有比较运算符的子查询

03-带有ANY(SOME)或ALL谓词的子查询

04-带有EXISTS谓词的子查询

4、集合查询

01-UNION并集

02-INTERSECT交集

03-EXCEPT差集

5、SELECT语句的一般格式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/650757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

广告数仓:数仓搭建

系列文章目录 广告数仓&#xff1a;采集通道创建 广告数仓&#xff1a;数仓搭建 文章目录 系列文章目录前言一、环境搭建1.hive安装2.编写配置文件3.拷贝jar包4.初始化源数据库5.修改字符集6.更换Spark引擎1.上传并解压spark2.修改配置文件3.在hadoop上创建需要的文件夹4.上传…

离散数学题目收集整理练习(期末过关进度10%)

✨博主&#xff1a;命运之光 &#x1f984;专栏&#xff1a;离散数学考前复习&#xff08;知识点题&#xff09; &#x1f353;专栏&#xff1a;概率论期末速成&#xff08;一套卷&#xff09; &#x1f433;专栏&#xff1a;数字电路考前复习 ✨博主的其他文章&#xff1a;点击…

观察者模式(二十)

相信自己&#xff0c;请一定要相信自己 上一章简单介绍了迭代器模式(十九), 如果没有看过, 请观看上一章 一. 观察者模式 引用 菜鸟教程里面 观察者模式介绍: https://www.runoob.com/design-pattern/observer-pattern.html 当对象间存在一对多关系时&#xff0c;则使用观察…

cef支持.net6.0

开发环境&#xff1a;vs2022,.net6.0 cef CefSharp.Common.NETCore 114.2.100 安装 Cefsharp简介 CEF &#xff0c;全称Chromium Embedded Framework &#xff0c;基于谷歌 Chromium项目的开源Web Browser控件&#xff0c;它的主要用途是嵌入了第三方应用以实现浏览器相关的功…

【C#】简单认识TransactionScope,以及常见的事务类型

在实际项目开发时&#xff0c;后端编码少不了事务处理。 为什么要用事务&#xff0c;其中一个最直接的原因就是保持数据完整性和一致性 目录 1、C#事务概念1.1、逻辑单元1.2、Transaction对象1.3、事务简单实例 2、事务场景描述3、事务流程图3.1、没有事务流程3.2、有事务流程 …

黑客是怎样练成的?

网学黑客技术的人越来越多了&#xff0c;不少人都不知道该怎么学&#xff0c;今天就来详细的说一说黑客是如何炼成的。 首先&#xff0c;什么是黑客&#xff1f; 黑客 &#xff1a;泛指擅长IT技术的电脑高手 黑客一词&#xff0c;源自英文Hacker&#xff0c;早期其实就是一群…

【MySQL】一文带你了解检索数据

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集&#xff01; &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指…

21 RBM(Restricted Boltzmann Machine)——受限玻尔兹曼机

文章目录 21 RBM(Restricted Boltzmann Machine)——受限玻尔兹曼机21.1 背景介绍22.2 RBM模型表示22.3 Inference问题22.4 Marginal问题 21 RBM(Restricted Boltzmann Machine)——受限玻尔兹曼机 21.1 背景介绍 什么是玻尔兹曼机&#xff1a; 简单来说就是具有条件的Marko…

无线蓝牙耳机排行榜,十大口碑最好蓝牙耳机

近年来&#xff0c;随着生活水平的提高&#xff0c;越来越多的人对高品质蓝牙耳机的需求日益增加。无论我们在选购什么产品&#xff0c;我们都会考虑一个价值范围&#xff0c;买蓝牙耳机也是同样&#xff0c;都会给自己一个预算&#xff0c;然后根据预算去网上搜寻这个价格范围…

【python学习】-读入xlsx文件,将datetime.time转为minute的格式,并将新数据存入csv文件

读入xlsx文件&#xff0c;将datetime.time转为minute的格式&#xff0c;并将新数据存入csv文件 任务概要思路设计代码实现导入相关库时间转换函数算法内核csv文件结果 接到一个需求&#xff0c;师兄在做稳定性测试时&#xff0c;时间显示格式为<class ‘datetime.time’>…

深入剖析 Python 函数参数传递机制及高级应用

前言 在本篇文章中&#xff0c;笔者将带你深入探讨 Python 函数传参的进阶主题。 通过阅读本篇文章&#xff0c;你可以深入了解 Python 函数传参的进阶主题&#xff0c;掌握更多高级的函数技巧&#xff0c;提升你的 Python 编程能力。 前面分享了Python 函数传参基础篇&#xf…

图像生成--对抗生成模型

生成模型概述 对抗生成模型 机器学习中的两大主要问题&#xff1a; 判别生成 判别模型的典型代表即为图像分类任务&#xff0c;即给定一个数据&#xff0c;判定他是哪一类。 判别模型学习到的是一个概率&#xff08;贝叶斯过程&#xff09; 而生成模型的区别在于&#xf…

【Elacticsearch】 原理/数据结构/面试经典问题整理

对Elacticsearch 原理/数据结构/面试经典问题整理的文章&#xff1b; 映射 | Elasticsearch: 权威指南 | Elastic Elacticsearch介绍 Elasticsearch,这里简称ES。ES是一个开源的高可用高扩展的分布式全文搜索与分析引擎&#xff0c;可以提供PB级近实时的数据存储和检索能力&am…

SpringBoot自定义starter入门

一、创建一个普通的Maven项目 pom.xml文件修改 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&quo…

你知道如何将音频转文字吗?

我跟你们说&#xff0c;我认识一名盲人音乐人&#xff0c;他很热爱音乐创作&#xff0c;但是因为听力的限制&#xff0c;无法像其他人那样从录音中获取音乐素材。然而&#xff0c;有一天他听说了一个神奇的功能——音频转文字&#xff0c;这个功能可以将音频文件转换成文字文本…

从技术谈到管理,把系统优化的技术用到企业管理

很多技术人员在职业上对自己要求高&#xff0c;工作勤奋&#xff0c;承担越来越大的责任&#xff0c;最终得到信任&#xff0c;被提拔到管理岗位。但是往往缺乏专业的管理知识&#xff0c;在工作中不能从整体范围优化工作流程&#xff0c;仍然是“个人贡献者”的工作方式&#…

低功耗晶振电路设计

晶振电路设计 晶振中负性阻抗的原理 晶振的回路主要由两部分组成&#xff0c; 一部分是激活分支&#xff0c; 用于提供能量给晶振启动直至达到稳定的相位&#xff0c;另一部分是被动分支&#xff0c; 主要由电阻&#xff0c; 两个外部负载电容以及所有的寄生电容&#xff0c;…

手写RPC总结篇

协议制定&#xff1a;client到server做交互的通信协议&#xff0c;比如request response 网络端点peer 难点1 : Jetty嵌入 ◆jetty Server ◆ServletContextHandler ◆ServletHolder jetty server 起到网络监听的作用ServletContextHandler注册到jetty server中ServletHolde…

测试开发之Python自动化 Pytest 之 fixture

Pytest 之 fixture unittest 和 nose 都支持 fixture 的,但是 fixture 在 pytest 里使用更灵活。也算是 pytest 的一个闪光点吧可以理解为一个跟 setup 和 teardown 这种前后置类似的东西。但是比它们要强大、灵活很多 fixtur 当做参数传入 # -*- coding: utf-8 -*-import p…

图像处理实战02-yolov5目标检测

yolov5 YOLOv5 是一种目标检测算法&#xff0c;它是 YOLO (You Only Look Once) 系列算法的最新版本。YOLOv5 采用了一种新的架构&#xff0c;它包括一个基于 CSPNet (Cross Stage Partial Network) 的主干网络以及一系列改进的技巧&#xff0c;如多尺度训练、数据增强、网络混…