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

news2024/12/27 13:14:01

文章目录

  • 前言
  • 一、数据库的基本操作
    • 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(字段, 字段...);往表中插入数据

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

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

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

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


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

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


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

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


四、查询(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,则表示最小值

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

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

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


7, 条件查询

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

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

7.1, 基本查询

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

7.2, 且(and)与或(or)

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

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


7.3, 范围查询

  • 表示在范围内, sql 语句 : select 列名, 列名 from 表名 where 值 between...and...;
    查询数学成绩在 80~90 之间的同学
    在这里插入图片描述
  • 表示在选项之内, 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...

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

六、删除(Delete)

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

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

总结

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

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

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


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

在这里插入图片描述

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

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

相关文章

【考前熟悉】系统集成项目管理师-相关计算公式

前言 计算公式汇总:三点估算PERT、标准差、工作概率、预期收益EMV、加权算法、沟通渠道 净现值、进度网络、挣值分析、预测技术 文章目录 前言计算公式汇总1. 期望工期(活动持续时间)/三点估算PERT:(最悲观日期 最乐观…

linux下安装vsftpd

安装vsftpd: 使用命令: apt-get install vsftpd 安装完后查看ftp服务的状态:service vsftpd status 或者 systemctl status vsftpd.service 开机启动ftp服务:systemctl enable vsftpd.service 配置vsftpd.conf 关于配置文件中…

SolVES 模型与多技术融合【QGIS、PostgreSQL、ARCGIS、MAXENT、R】实现生态系统服务功能社会价值评估

SolVES模型(Social Values for Ecosystem Services)全称为生态系统服务社会价值模型,是由美国地质勘探局和美国科罗拉多州立大学联合开发的一款地理信息系统应用程序,开发该模型的目的主要是对生态系统服务功能中的社会价值进行空…

Java 9 - 18 各个版本新特性总结

【 Java 9 - 18 各个版本新特性总结,B站视频介绍】https://www.bilibili.com/video/BV1PT411P7Wn?vd_source5a3a58ca0e99223ffb58cddf2f3a7282 一、模块化引入 模块是 Java 9 中新增的一个组件,可以简单理解为是package的上级容器,是多个pa…

Unity shader 变种 multi_compile

官方地址 https://docs.unity3d.com/cn/2022.2/Manual/SL-MultipleProgramVariants.html 变种用我自己的理解就是 能用程序控制的shader 举个例子 这里声明了 a b c d 四个变量(其实是开关 下面会说) 记住 #pragma multi_compile 必须放在 CGPROGRAM 下…

js混淆加密之jsjiami.v6

混淆加密是一种常见的技术,用于隐藏代码的意图和实现细节,增加代码的复杂性,以 ers ers 对代码进行保护, ers ers 并 ers ers 分析和理解代码。以下是一些通用的步骤,用于分析和解密混淆的 JavaScript 代码&#xff1a…

Python实现「数据可视化」的3大步骤,保姆级讲解!

本篇文章主要使用了matplotlib进行案例分析,希望对正在从事&学习数据分析的你有所帮助。 Python实现可视化的三个步骤: 确定问题,选择图形 转换数据,应用函数 参数设置,一目了然 01 画图: 首先&am…

618前夜,电商物流「涌向」B2B战场

随着终端交易场景的增长红利消失殆尽,电商平台需要在产业侧寻找到新的企业支点,这里的背景布不再是熟悉的电商战场,而是红海重重的B2B场域。 作者|斗斗 编辑|皮爷 出品|产业家 电商平台开始在B端寻找新的交易环节。 随着人口红利逐渐…

「.XD 文件 」用什么软件打开?

1、什么是「.XD 文件 」 「.XD 文件 」其实是 Adobe XD 文件格式。而 Adobe XD 是一款基于矢量的一站式 UI/UX 设计工具,可以进行移动应用和网页设计与原1型制作,从早期的构思和低保真设计,一直到令人印象深刻的动画和逼真的原型&#xff0c…

RSD的伪三维(3D)遥感图像

李国春 3D对象的背后是3D模型,用点面数据描述现实世界的物体,通过材质视角光线等条件的渲染得到比较逼真的展示效果。但这里给大家介绍的伪3D则不然,将通常的遥感影像加上高程数据,不使用3D对象模型,实现一种自顶向下…

【JAVA凝气】异常篇

哈喽~大家好呀,这篇来看看JAVA异常篇。 目录 一、前言 二、Exception 异常 1、Java 的非检查性异常 2、Java 检查性异常类 三、Error 错误 四、捕获异常 五、多重捕获块 六、throws/throw 关键字 七、自定义异常类 八、图书推荐 一、前言 异常是程序中的一…

k8s上部署Alluxio:v2.9.1经验总结

1.采用helm安装 配置文件下载地址 https://github.com/Alluxio/alluxio/tree/v2.9.1 直接将如下图所示的文件传到K8s集群的master节点 values.yaml为alluxio的配置文件,在里面可以配置一些属性,如挂载点、文件读写的一些配置、worker存储介质的配置&a…

100天精通Python(可视化篇)——第88天:全网最全Seaborn库常用绘图3万字总结(参数说明+案例实战)

文章目录 一、Seaborn介绍1.1 介绍1.2 安装1.3 风格设置1.3.1 style(风格)1.3.2 context(环境设置) 1.4 调色盘设置1.5 数据集下载 二、Relational plots(关系图)2.1 scatterplot(散点图&#x…

常见的几种设计模式——单例、工厂、代理、模板

文章目录 前言一、工厂模式1、介绍2、实现 二、单例模式1.介绍2.实现3、懒汉与饿汉 三、代理模式1、介绍2、实现3、AOP的底层实现 四、模板模式1、介绍2、实现 总结 前言 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过…

某书最新版X-s(2023/5/23更新)

前不久刚写过xhs的x-s, 前几天听一些小伙伴说又更新了,我二话不说还按原先的逆向思路,直接搜function sign,开始施展补环境大法。。。 一顿无用的折腾,补完后,测试发现死活不成功,这真是离了大谱了。 对比了一下,通过补环境,sign生成的x-s: 浏览器的x-s: 很明显…

MySQL-3-创建表、删除表、增删改、约束、索引

一、创建表 语法格式&#xff1a; create table <表名>( 字段名1 数据类型&#xff0c; 字段名2 数据类型&#xff0c; … ); 补充&#xff1a;MySQL中常见的数据类型 int 整数&#xff08;对应Java中的int&#xff09; bigint 长整型&#xff08;对应Java中的long&#…

我叫缺陷,也叫Bug,下面介绍一下我的生命周期

我叫缺陷&#xff0c;从被创建至关闭&#xff0c;到最后做缺陷分析&#xff0c;这是我的完整生命周期。我的整个生命周期贯穿着整个项目的项目周期&#xff0c;因此&#xff0c;掌握我的生命周期&#xff0c;不止是测试人员必修的课程&#xff0c;也是测试人员的灵魂。 缺陷的定…

强化学习系列之Policy Gradient算法

一. 背景 1.1 基础组成部分 强化学习里面包含三个部件:Actor,environment,reward function Actor : 表示角色,是能够被玩家控制的。 Policy of Actor:在人工智能中,Policy π \pi π 可以表示为一个神经网络,参数为 θ \theta

C# MVC 微信支付之小程序红包

最近有个项目增加导游引流功能&#xff0c;因为项目只用的小程序&#xff0c;没有使用公众号&#xff0c;没法用”现金红包“功能&#xff0c;开通商家转账到零钱需要7-14天才能申请下来&#xff0c;暂时先用小程序红包顶上&#xff0c;一路都是坑啊&#xff0c;特此记录下。 官…

docker常规命令使用

docker 操作 命令分类 启动类、镜像、容器 docker服务启动 systemctl start docker docker 版本查看 docker version 列出本机所有镜像 docker images 在远程仓库中查找镜像 docker search --limit 5 redis //从仓库中查找点赞数前5的redis镜像 从远程仓库中拉取镜像 docker …