学好MySQL增删查改,争取不做CURD程序员【上篇】
创始人
2024-04-03 22:15:45
0

✨✨hello,愿意点进来的小伙伴们,你们好呐!
🐻🐻系列专栏:【MySQL初阶】
🐲🐲本篇内容:详解MySQL增删查改
🐯🐯作者简介:一名现大二的三非编程小白,日复一日,仍需努力。

  • 前言
  • INSERE 语句:
    • 细节:
  • OUPDATE 语句:
    • 细节:
  • DELETE
    • 细节:
  • SELECT 语句:
    • 基本用法:

前言

在MySQL的基础操作中增删查改是很常用的一种语句,在网络上也有人调侃自己为增删查改程序员,那么增删查改的语句与细节你是否清楚呢,增删查改中的增删改的语句很简单,然后查的数据很复杂,这一章我们就把重点放在查上面。

INSERE 语句:

基本语句: INSERT INTO table_name VALUES(…)
往table_name的表中添加数据。
下面的代码简单的演示了insert的使用,

  1. 先创建一个goods表,然后在该表中添加数据。
    很简单的一个操作,好像也没有什么的,接下来我们来看看INSERT语句的细节。
#演示insert
CREATE TABLE goods(id INT,goods_name VARCHAR(8),price DOUBLE);
INSERT INTO goodsVALUES(1,'华为手机',2550);

细节:

🍕🍕🍕1. 在插入的数据应该与对于的字段的数据类型相同
比如说把 ‘abc’ 的数据存放到 INT 的类型的话是不可行的
在这里插入图片描述
但是也会有一中例外,我们会发现往 INT 类型的数据存入 ‘123’ 好像就没有问题,可以成功存入,这个是为什么呢?
在这里插入图片描述
这个其实也是很容易理解的,我们可以记得在Java中有一中方法可以将字符串类型的数据转为int类型,但是要求是可以转的类型,所以abc的字符串其实是没办法转为int类型的,而2的字符串是可以转成功的,
😀😘在MySQL的存放中它会尝试进行转化,看是否能成功。

🍔🍔🍔2.数据存储的长度应该在创建表时规定的范围内。
你不可以将一个长度为80的字符串存到长度为40的列中。
在这里插入图片描述

🍟🍟🍟3.在values中将要存入的数据位置必须与被加入的列的排列顺序相对应
像这样子的话就是没办法通过的,因为表名后面括号内的数据要与存进去的数据一一对应,这样子的话会导致类型不符合。
在这里插入图片描述
当然我们也可以往列中存进两个数据,然后另一个字段不存数据,
这样子没有存入数据的话,因为我们在创建的时候没有指定 not null 不为空值,那么就会默认给null值。

在这里插入图片描述
在这里插入图片描述
怎么现在有引出了一个默认值的概念,在我们创建表的时候其实是可以指定默认值的,因为我们没有指定且没有指定不为null,所以,默认值就为null。

4.在往表中添加列的时候也可以同时添加多列。
在这里插入图片描述
在这里插入图片描述

OUPDATE 语句:

基本语句:
UPDATE table_name SET 【…】 WHERE 【…】

接下来看看UPDATE语句的基本使用:

我们想修改goods表中的所有手机的价格改为5000
在这里插入图片描述
我们想将小米手机的价格改为4000
在这里插入图片描述
我们要将苹果手机在原有的价格上调2000
在这里插入图片描述

细节:

🌭🌭🌭1.UPDATE语句使用WHERE语句的话,指定可以更新哪些行,如果没有该语句则更新的是全部行。
🍿🍿🍿2.如果需要修改多个字段,可以在SET后面多指定字段。

UPDATE goodsSET price = 5000,id = 80WHERE goods_name = '小米手机';

DELETE

基本语法:
DELETE FROM table_name WHERE【…】

删除表中名称为小米手机的一列
在这里插入图片描述

细节:

1.如果不使用where子句,将表中的所有数据删除。
2. delect语句中不能删除记录,不删除表本身。如果要删除表,使用drop
3 .DELECT 语句不能删除某一列的值,我们可以使用update改变使其为 null 和 ’ ’

SELECT 语句:

在学习SELECT语句之前我们必须先创建一张表,用来SELECT。— 创建一张学生表

#select 单表
#select 关键字 
CREATE TABLE students(id INT NOT NULL DEFAULT 1,`name` VARCHAR(20) NOT NULL DEFAULT 0.0,chinese FLOAT NOT NULL DEFAULT 0.0,english FLOAT NOT NULL DEFAULT 0.0,math FLOAT NOT NULL DEFAULT 0.0);INSERT INTO studentsVALUES(1,'韩顺平',89,78,90);INSERT INTO studentsVALUES(2,'张飞',67,98,56);INSERT INTO studentsVALUES(3,'宋江',87,78,77);INSERT INTO studentsVALUES(4,'关羽',88,98,90);INSERT INTO studentsVALUES(5,'赵云',82,84,67);INSERT INTO studentsVALUES(6,'欧阳锋',55,85,45);INSERT INTO studentsVALUES(7,'黄蓉',75,65,30);
INSERT INTO studentsVALUES(8,'韩sp',85,65,30);

在这里插入图片描述

基本用法:

在这里插入图片描述
1.

#演示select
#查询所有学生的信息
SELECT * FROM students;
# * 代表所有没有特别指定

在这里插入图片描述
2.

#演示select
#查询表中所有学生的姓名和英语成绩
SELECT `name` , english FROM students;
# `name` , english 代表 查询name 与英语成绩

在这里插入图片描述

3.
我们要注意,只有查询的记录每个字段都相同,才会去重。

#演示select
#查询表中所有学生的英语成绩,过滤掉一样的数据
SELECT DISTINCT   english  FROM students;
# DISTINCT 过滤掉相同的成绩。

在这里插入图片描述

4.在查询过程中我们可以对查询的列进行运算:

#演示select
SELECT `name` ,(english + chinese + math) FROM students;

在这里插入图片描述
然后我们会发现,就是分数的总和的列表示很难看,有一种语法可以修改这种情况----使用别名

5.别名的使用

#演示select
SELECT `name` ,(english + chinese + math)  AS score FROM students;

在这里插入图片描述

6.统计每个学生的总分加10分的情况:

#演示select
SELECT `name` ,(english + chinese + math + 10)  AS score FROM students;

在这里插入图片描述

在SELECT中也有运算符---- 逻辑运算符与比较运算符

在这里插入图片描述

7.查询id为5的学生的成绩。

#演示select
SELECT * FROM studentsWHERE id = 5;

在这里插入图片描述

8.查询英语成绩大于90的同学的成绩。

#演示select
SELECT * FROM studentsWHERE english > 90;

9.查询英语分数在70 - 80之间的同学,这时候我们可以使用运算符 BETWEEN AND

#演示select
SELECT * FROM studentsWHERE english BETWEEN 80 AND 90;

10 .查询总分为179,180,181的同学 ,可以使用IN 运算符

SELECT `name` , (english + math + chinese ) AS score FROM studentsWHERE (english + math + chinese ) IN(179,180,181);

在这里插入图片描述

11.查询所有姓李的学生的成绩:
LIKE关键字可以来查询首字符是什么。

SELECT * FROM studentsWHERE `name` LIKE '赵%';

在这里插入图片描述

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...