期末复习总结【MySQL】库和表的基本操作 + 增删改查CURD

news2025/4/4 15:58:55

文章目录

  • 前言
  • 一、数据库的基本操作
    • 1, 查看库
    • 2, 创建库
    • 3, 使用库
    • 4, 删除库
  • 二、表的基本操作
    • 1, 创建表
    • 2, 查看表
    • 3, 查看表结构
    • 4, 删除表
  • 三、增加(Create)
  • 四、查询(Retrieve) (重点)
    • 1, 全列查询
    • 2, 指定列查询
    • 3, 查询字段为表达式
    • 4, 指定别名
    • 5, 去重
    • 6, 排序
    • 7, 条件查询
      • 7.1, 基本查询
      • 7.2, 且(and)与或(or)
      • 7.3, 范围查询
      • 7.4, 模糊查询
    • 8, 分页查询
  • 五、更新(Update)
  • 六、删除(Delete)
  • 总结


前言

各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你:
📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等
📗 Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等
📘 JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)

从本篇开始介绍 MySQL 数据库的相关知识
在这里插入图片描述


提示:是正在努力进步的小菜鸟一只,如有大佬发现文章欠佳之处欢迎批评指点~ 废话不多说,直接上干货!

一、数据库的基本操作

📌首先要明确MySQL这个数据库软件, 是一个客户端服务器程序, 所有的数据都存放在数据库中, 其中库与表的关系 :

在这里插入图片描述

所以在进行表的操作之前, 先得有数据库, 下面简单介绍数据库的基本操作

1, 查看库

👉sql 语句 : show databases; 查看服务器中已有的数据库
在这里插入图片描述
这些数据库都是本机自带的数据库, 不要乱删!!!


2, 创建库

👉sql 语句 : create database 数据库名; 创建新的数据库
在这里插入图片描述

更完整的 sql 语句为 : create database if not exists 数据库名 charset 字符集;


3, 使用库

👉sql 语句: use 数据库名; 选中数据库
在这里插入图片描述
在对表中的数据进行增删改查之前必须要先选中数据库


4, 删除库

👉sql 语句: drop database 数据库名; 所谓的"程序员删库跑路"就是这个操作
在这里插入图片描述⚠️⚠️⚠️
注意, 删库是非常危险的行为!!! 一旦删除,数据库里的表也都没了, 数据极有可能就无法恢复了,尤其是公司中的一些重要的数据(生产环境的数据)

由于真实的数据库中的数据可能是时刻变化的, 即便是有办法备份, 也会造成严重损失
在这里插入图片描述

在这里插入图片描述


二、表的基本操作

在进行表操作之前, 要先选中数据库 : use 数据库名;

1, 创建表

👉sql 语句 : create table 表名 (列名 类型, 列名 类型....); 注意列名在前, 类型在后
在这里插入图片描述

  • 姓名是字符串类型 在 MySQL 中的数据类型是 varchar(长度), 表示可边长字符串类型, 括号中可以指定字符串长度, 一般姓名, 性别什么的无脑指定 50 就够用

2, 查看表

👉sql 语句 : show tables; 显示(已选中的)数据库中所有的表
在这里插入图片描述


3, 查看表结构

👉sql 语句 : desc 表名; 这个 desc 是 describe(描述) 的意思
在这里插入图片描述
现在只需要关心前两个, 后面的字段是什么意思在后续的文章中介绍


4, 删除表

👉sql 语句 : drop table if exists 表名; (if exists 可以省略) 和删库一样, 危险操作 (if exists 可以省略)
在这里插入图片描述

简单认识了上述库和表的基本操作后, 接下来介绍基础的增删改查


CURD 分别是 : 增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)

在增删改查之前, 先准备一张学生表(id, 学号, 姓名)

在这里插入图片描述

三、增加(Create)

👉sql 语句 : insert into 表名 values(字段, 字段...);往表中插入数据

  • 1️⃣单行, 全列插入(一次插入一行数据)
    在这里插入图片描述

  • 2️⃣多行, 全列插入(一次插入多行数据)
    用逗号把各行的数据分开, 换行显得更加美观
    在这里插入图片描述

  • 3️⃣单行, 指定列插入
    表名后面指定要插入的列名, values 后面的字段类型必须一一对应
    在这里插入图片描述

  • 4️⃣多行, 指定列插入
    在这里插入图片描述


先来查询一下刚才插入的数据是否都成功了(查询语句下面详细介绍)

在这里插入图片描述
通过对比得知, 全部都插入对了, 但是下面三行数据的 sn(学号) 显示为 NULL , 是因为我们使用的是指定列插入的方式, 没有给这一列插入数据, 所以为 NULL
在这里插入图片描述


🚗🚗🚗
接下来介绍查询语句, 也是平常用的最多, 最重要的部分

1️⃣先准备一张表, 形如"成绩单"
在这里插入图片描述
2️⃣插入以下成绩
在这里插入图片描述


四、查询(Retrieve) (重点)

1, 全列查询

👉sql 语句 : select * from 表名; , 星号是一个通配符, 表示查询表中所有的列
在这里插入图片描述

⚠️⚠️⚠️
注意, 由于现在查询出来的只是一张临时表, 也就是从硬盘中把数据读到内存, 在当前页面显示, 如果表中的数据本身非常庞大, 使用全列查询会非常非常吃网卡的带宽

现在我们的数据量少, 可以随便使用, 一旦数据量大, 就几乎不能使用这条 sql 语句, 而是使用以下 sql 语句来减少临时表中的数据


2, 指定列查询

既有指定列插入, 也有指定列查询

例如, 我要查询每个学生的语文成绩
👉sql 语句 : select 列名, 列名... from 表名;
在这里插入图片描述


3, 查询字段为表达式

例如, 要查询每个同学的总成绩
👉sql 语句 : select 列名/表达式 , 列名/ 表达式... fron 表名;
在这里插入图片描述


4, 指定别名

由于是查询出来的只是临时表, 不会改变原来表中的数据, 可以在查询时指定别名

例如刚刚查询总成绩, 临时表显示出来的 chinese + math + english 可以改成 total
👉sql 语句 : select 列名/表达式 as 别名... from 表名;
在这里插入图片描述


5, 去重

在这里插入图片描述
这张表中, 喜羊羊和灰太狼的英语成绩都是 56, 沸羊羊和小灰灰的英语成绩都是 90, 在查询时可以进行去重

👉sql 语句 : select distinct 列名, 列名.. from 表名;
在这里插入图片描述
去重失败的原因是, distinct 选择了多个列, 只有这两个列的数据都相同才能去重

如果只选择一个列, 就可以去重了
在这里插入图片描述


6, 排序

👉sql 语句 : select 列名, 列名... from 表名 order by 列名 asc/desc;

1, asc 是 ascend 的缩写, 表示升序 desc 是 descend 的缩写
2, 注意这里的 desc 和查询表结构的 desc 虽然关键字一样, 但是作用和场景都不同
3, 如果不指定排列方式, 默认升序
4, 如果列中的值是 NULL,则表示最小值

  • 1️⃣对数学成绩进行降序排列
    在这里插入图片描述

  • 2️⃣对总分进行升序排列
    在这里插入图片描述

  • 3️⃣对多个字段排序, 按照书写优先级
    按照英语优先, 数学其次, 语文最次的优先级进行降序排列
    在这里插入图片描述


7, 条件查询

👉sql 语句 : select 列名 from 表名 where 条件语句;

条件查询的作用时, 查询之前就过滤掉不符合条件的数据记录

7.1, 基本查询

  • 1️⃣查询数学成绩不及格的同学在这里插入图片描述
  • 2️⃣查询英语成绩比数学成绩高的同学 在这里插入图片描述
  • 3️⃣查询总分小于100分的同学
    在这里插入图片描述

7.2, 且(and)与或(or)

  • 1️⃣表示且, sql 语句 : select 列名, 列名... from 表名 where 条件语句 and 条件语句;
    查询各科成绩都在 90 以上的同学
    在这里插入图片描述

  • 2️⃣表示或, sql 语句 : select 列名, 列名... from 表名 where 条件语句 or 条件语句;
    查询有一科成绩在 90 以上的同学
    **加粗样式**


7.3, 范围查询

  • 1️⃣表示在范围内, sql 语句 : select 列名, 列名 from 表名 where 值 between...and...;
    查询数学成绩在 80~90 之间的同学
    在这里插入图片描述
  • 2️⃣表示在选项之内, sql 语句 : select 列名, 列名 from 表名 where 值 in (A,B,C,D...);
    查询数学成绩是 58, 59, 98, 99 的同学
    在这里插入图片描述

7.4, 模糊查询

👉sql 语句 : select 列名 from 表名 where 字段 like...;

例如我要查询名字最后一个字是"狼" 可以使用 name like “_狼” 或"%狼"

_ 和 % 都是通配符, _ 只能占用一个字符, % 可以占用多个字符
在这里插入图片描述

或者查询名字最后一个字是"羊"
在这里插入图片描述


8, 分页查询

如果表中数据量太大, 会排列在一页显示, 这不方便我们观察数据, 可以使用分页查询

👉sql 语句 : select 列名 from 表名(where 条件语句) limit n offset s ; 表示从第 s 条数据开始 查询 n 条

在这里插入图片描述
还有两种形式 :
select 列名 from 表名(where 条件语句) limit n ; 从 0 开始查询 n 条
select 列名 from 表名(where 条件语句) limit s, n ; 从 s 开始查询 n 条
都不够明确, 所以不推荐这样写


五、更新(Update)

👉sql 语句 : update 表名 set...

  • 1️⃣把喜羊羊的数学成绩改成 0 分 在这里插入图片描述
  • 2️⃣把数学成绩不及格的都改成 61 分
    在这里插入图片描述

六、删除(Delete)

👉sql 语句 : delete from 表名 (条件语句) 同样是危险操作, 使用前要慎重

  • 1️⃣要删除某一行数据, 必须要加条件语句, 比如删掉"沸羊羊"的数据记录
    在这里插入图片描述
  • 2️⃣如果不加 where 条件语句, 就会删掉表中所有的数据
    在这里插入图片描述
    数据都没了, 但是表还在, 要想把表删掉, 需要使用 drop 关键字, 不要弄混了

总结

以上就是本篇的全部内容, 主要介绍了 数据库的基本操作, 表的基本操作, 还有对表中数据的增删改查

其中"查"的这部分尤为重要, 其中重点掌握条件查询, 另外, 任何与删除相关的操作都需要慎重

如果本篇对你有帮助,请点赞收藏支持一下,小手一抖就是对作者莫大的鼓励啦😋😋😋~


上山总比下山辛苦
下篇文章见

在这里插入图片描述

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

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

相关文章

Hbase操作

(1) 启动 启动顺序:Hadoop--zookeeper—hbase 主进程:HMaster 从进程:HRegionServer 确认进程是否正常 (2) 进入终端 [rootmaster ~]# hbase shell (3) 查看状态 命令:status 表示有3台机器,0台down掉&…

软件测试3年以为的躺平了,没想到还得内卷,这题太难了...

前段时间我同事(做测试的一个妹子)跟我讲,感觉早上起来十分的疲惫,不想上班,问我们这是什么样的现象,其实有时候我也有这种感觉,虽然我卷,但我也是肉体凡胎啊!不是机器人…

Qt, Text Edit 和 Plain Text Edit关于调整字体样式的问题

问题: 在编写小案例的过程中需要使用一个文本容器用于显示文本效果, 因为涉及文本字体的 加粗, 倾斜, 下划线, 以及颜色效果, 这里使用了 Text Edit 组件, 但是使用后发现容器中的文本无法实现同时设置 加粗 倾斜 下划线的情况, 且单独设置时只有 下划线 有效果, 加粗 倾斜 均无…

C++模板(详解)

非类型模板参数 模板参数可分为类型形参和非类型形参。类型形参: 出现在模板参数列表中,跟在class或typename关键字之后的参数类型名称。非类型形参: 用一个常量作为类(函数)模板的一个参数,在类&#xff…

字节跳动测试岗面试挂在二面,我复盘总结了失败原因,决定再战一次

先说下我基本情况,本科不是计算机专业,现在是学通信,然后做图像处理,可能面试官看我不是科班出身没有问太多计算机相关的问题,因为第一次找工作,字节的游戏专场又是最早开始的,就投递了&#xf…

hystart++ 出炉

周三早上同事发我一个 rfc 9406 链接,microsoft hystart 标准化了,此前只是一个 draft。 说说我的看法。 信收敛不信测量,tcp 是端到端高熵体,对网络一无所知,过度信任测量则无法消除长尾,且可能劣化 p99…

Metasploit入门教程(非常详细)从零基础入门到精通,看完这一篇就够了!

通过本篇文章,我们将会学习以下内容: 1、在Windows上安装Metasploit 2、在Linux和MacOS上安装Metasploit 3、在Kali Linux中使用 Metasploit 4、升级Kali Linux 5、使用虚拟化软件构建渗透测试实验环境 6、配置SSH连接 7、使用SSH连接Kali 8、配…

【牛客刷题专栏】0x32:JZ45 把数组排成最小的数(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录 前言问…

【算法】LFU及其优化

文章目录 什么是LFU?设计思路代码实现(基础版本)参考论文代码实现(优化版本)区别 什么是LFU? LRU及其实现 上文讲解了LRU,他是一个基于最近是否被访问来做缓存淘汰的策略。 那么今天介绍一个新…

Postman的简单使用:

1. Postman 1.1 背景 当前主流的开发模式为:前后端分离开发。 前端人员开发前端工程,后端人员开发后端工程,只需要依据这份接口文档即可。在后端开发过程中每开发完一个功能,就需要对这个功能接口进行测试,由于现在是…

图灵完备游戏:信号计数 解法记录

使用1个全加器 2个半加器完成。这关的思想主旨在于如何把输出4,输出2,输出1的情况统一在一根导线上。 首先用一个全加器来完成输入2-4这三个引脚的计数,因为全加器输出范围二进制是00 - 11,而输入正好有两个引脚数位是2和1&…

linux周六串讲

esc. //粘贴复制上一条命令的参数 cat /etc/resolv.conf //查看DNS地址 route -n //查看网关 hostname //临时修改主机名 hostnamectl set-hostname 名称 //永久修改主机名 ssh root192.168.10.233 //用windows远程的格式,在CMD窗口输入这个命令 …

MYSQL数据库测评及整改

1、查询数据库版本:select version(); 2、查询已安装的插件:show plugins; 3、查询插件安装的位置: show variables like "%plugin_dir%"; 4、查询用户:选择数据库: select host,user,plugin from user; 5、…

Read View 数据快照,在MVCC里是如何工作的?

Read View 数据快照,在MVCC里是如何工作的? Read View 有四个重要的字段: ● m_ids :指的是在创建 Read View 时,当前数据库中「活跃事务」的事务 id 列表,注意是一个列表,“活跃事务”指的就…

Seata术语

1.什么是Seata Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 官网 2.Seata能干嘛 一个典型的分布式事务过程 分布式事务处理过程的一ID三组件模型: Transaction ID XID 全局唯一的事务ID三组…

WSL2编译安卓8.1源码,直接运行模拟器

目录 WSL2编译安卓8.1源码,直接运行模拟器WSL2下载安装移动到非系统盘下载和编译Android8直接运行emulator修改模拟器配置源码导入Android Studio并进行调试断点调试总结 WSL2编译安卓8.1源码,直接运行模拟器 学习Android Framework开发,需要…

零基础CTF入门指南+工具

ctf入门指南 CTF工具包获取地址:http://www.ctftools.com/ 如何入门?如何组队? capture the flag 夺旗比赛 类型: Web 密码学 pwn 程序的逻辑分析,漏洞利用windows、linux、小型机等 misc 杂项,隐写&…

2023年电工杯选题人数发布

该选题人数,主要基于根据各个平台开赛后24小时各项数据统计,进行评估(方法见注释),最终得出2023年认证杯二阶段选题人数,大致为 题号选题人数A97B431 注释:选题人数来源:源自各个平台…

Python案例:获取music榜单数据,保存自己的music库

目录 前言本次知识点:开发环境:代码展示括展小知识尾语 💝 前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 本次知识点: 爬虫基本流程 requests的使用 正则表达式的使用 开发环境: 解释器: python 3.8 编辑器: pycharm 2022.3 专业版 第三方模块使用 r…

如何自学网络安全 才不会成为脚本小子?

前言:我们来看看怎么学才不会成为脚本小子 目录: 一,怎么入门? 1、Web 安全相关概念(2 周) 了解网络安全相关法律法规 熟悉基本概念(SQL 注入、上传、XSS、CSRF、一句话木马等)。…