学好MySQL增删查改,争取不做CURD程序员【上篇】

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

前言

在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 goods
	VALUES(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 goods
	SET price = 5000,id = 80
	WHERE 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 students
	VALUES(1,'韩顺平',89,78,90);

INSERT INTO students
	VALUES(2,'张飞',67,98,56);

INSERT INTO students
	VALUES(3,'宋江',87,78,77);
	
INSERT INTO students
	VALUES(4,'关羽',88,98,90);
	
INSERT INTO students
	VALUES(5,'赵云',82,84,67);
	
INSERT INTO students
	VALUES(6,'欧阳锋',55,85,45);
	
INSERT INTO students
	VALUES(7,'黄蓉',75,65,30);
INSERT INTO students
	VALUES(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 students
	WHERE id = 5;
	

在这里插入图片描述

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

#演示select
SELECT * FROM students
	WHERE english > 90;
	

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

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

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

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

在这里插入图片描述

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

SELECT * FROM students
	WHERE `name` LIKE '赵%';

在这里插入图片描述

  • 12
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无满*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值