Mysql之增删改查

news2024/11/16 22:29:45

这里的增删改查主要是对应表中的数据,不像前一篇那个列类型,耳机具体的哪一条数据
在这里插入图片描述

Insert

在这里插入图片描述
其实我们前面都用过好多次了
在这里插入图片描述

比如下面那个
可以
关于那个表名后面加不加(列类型),下面有解释
INSERT INTO shanpin VALUES(1,'拖鞋',12.6);
INSERT INTO shanpin VALUES(2,'辣条',2.8);
添加多个数据间加逗号

注意事项

在这里插入图片描述
1.正常,类型匹配,特殊情况的话,'30’这样mysql底层会使其强转为int类型,当然你前提你字符串存储的是个int类型的呗,'30’这样就能匹配int,'abc’就不能,其实按规范写就行
2.长度匹配
3.类似函数,参数和实参一 一对应
4.字符串和日期类型用单引号括起来!
5.允许null可以添加null
6.可以通过写多个括号添加多个数据 INSERT INTO tablename VALUES (第一组数据)(第二组数据)(第三组数据)
7.如果要添加一组完整的数据,可以不写前面的列类型,如果只添加其中几个数据,一定要写对应添加的列类型,其他不添加的会赋默认值
8.如果没有默认值,报错(默认值一般为NULL,如果你添加了NOT NULL且没有DEFAULT会报错)如果指定了DEFAULT 指定默认值,那么就会赋值,指定的默认值

update

在这里插入图片描述

UPDATE table_name
		SET 列名=值/表达式
		WHERE  
WHERE条件不写的话,就是对应所有的数据的这一列进行修改

对应代码

 # 演示一下操作表中具体数据的
 DROP TABLE employee
CREATE TABLE employee(
	id INT NOT NULL DEFAULT 0,
	`name` VARCHAR(32),
	salary DOUBLE) CHARSET utf8 COLLATE utf8_bin;-- 区分大小写utf8
DESC employee	

-- 添加几个数据吧,INSERT
INSERT INTO employee (`name`,salary)-- 写列名就是你要添加对应的参数,其他参数没有默认值null
				    -- 有默认值为默认值,没默认值还not null报错
		VALUES('小袁',10000);
SELECT * FROM employee
INSERT INTO employee() -- 不写列名就是所有参数都添加,按照对应写就ok
	VALUES(1,'小王',6000),(2,'小张',7000),(3,'小李',8000)-- 可以添加多个,数据间加逗号
-- 修改一下表的数据,update
UPDATE employee 
	SET salary=5000 -- 后面没有WHERE的话就是对整列所有数据进行修改
SELECT * FROM employee
UPDATE employee 
	SET salary=3000
	WHERE `name`='小王' -- 把指定小王的薪水调为3000,只修改对应小王那一行对应列的数据

UPDATE employee 
	SET salary=10000
	WHERE `name`='小袁' -- 把指定小袁的薪水调为10000,只修改对应小袁那一行对应列的数据

效果
在这里插入图片描述

使用细节

在这里插入图片描述
1和2正常的
主要是3小心点
4的话

UPDATE empolyee 
		SET id=5,salary=5000
		WHERE `name`='小袁'
		这样就会把小袁的id和salary全修改

delete

在这里插入图片描述
还是不带where就删除表中所有记录,带WHERE只删除对应行的
测试用例:
1.删除employee中name为小王的记录
2.删除employee中所有的记录

代码

# Delete语句演示
DELETE FROM employee
	WHERE `name`='小王'
SELECT * FROM employee

DELETE FROM employee -- 不带where删除表中所有数据,不删除表

效果
在这里插入图片描述
在这里插入图片描述

还是记得写where,除非你是真的想删除表中所有数据,小心被开除

细节

在这里插入图片描述

select!

基本语法

在这里插入图片描述
主要看下面代码喽
在这里插入图片描述

代码

 # 学生表
 CREATE TABLE student(
	id INT NOT NULL DEFAULT 1,
	`name` VARCHAR(20) NOT NULL DEFAULT '',
	chinese FLOAT NOT NULL DEFAULT 0.0 ,
	english FLOAT NOT NULL DEFAULT 0.0,
	math FLOAT NOT NULL DEFAULT 0.0);

INSERT INTO student 
	VALUES(1,'小袁',89,78,90),(2,'张飞',67,98,56),(3,'宋江',87,78,77),
	(4,'关羽',88,98,90),(5,'赵云',82,84,76),(6,'欧阳锋',55,85,45),(7,'黄蓉',75,65,30);
-- 查询表中所有的数据
SELECT * FROM student
-- 查询表中所有的姓名和对应的英语成绩
SELECT `name`,english FROM student
-- 过滤表中重复的数据
SELECT DISTINCT * FROM sudent -- 这个过滤数据是针对我们查询的数据来是说的
			      -- 你如果查询*只有所有列相同的数据会过滤,所以还是全部输出奥
-- 要查询的记录,每个字段相同,才能去重
SELECT DISTINCT english FROM student
-- 只显示5行因为,小袁和宋江的英语分相同,张飞与关羽英语分相同
-- 删了两条数据就剩五个了


1and3.效果图
在这里插入图片描述
2.效果图
在这里插入图片描述
4.效果图
在这里插入图片描述

as和表达式的列查询

在这里插入图片描述
第一句话就是,列名除了可以是单个列名,也可以是(列名1+列名2+常数)的表达式!!!
第二句,就是显示的时候起个别名来代替原先的列名

我知道你看不懂,不过别着急,我也看不懂,不如一起往下看
在这里插入图片描述

代码

-- select使用

-- 统计每个学生的总分
SELECT `name` ,(chinese+english+math) FROM student

-- 给所有的学生总分加10分
SELECT `name`,(chinese+english+math+10) FROM student

	
-- 使用别名表示学生分数
SELECT `name` AS '名字',(chinese+english+math+10) AS total_score FROM student

在这里插入图片描述

筛选范围WHERE的艺术

在这里插入图片描述
WHERE可以接一些运算符来,确定你想要的数据
比如你只想找english>80的
WHERE english>80即可,会返回英语大于80的数据
注意逻辑运算变为了and,or和not

between  and[ ]左闭右闭
IN(100,200)100200,不是100200!!!

在这里插入图片描述

代码

# Where的艺术
SELECT * FROM student
	WHERE `name`='赵云'
	
SELECT * FROM student
	WHERE english>80
	
SELECT *,(math+english+chinese) AS total_score FROM student 
	WHERE (math+english+chinese)>200
-- 数学过60并且id大于4
SELECT * FROM student
	WHERE math>60 AND id>4 
-- 英语成绩大于语文成绩
SELECT * FROM student
	WHERE english>chinese
-- 查询总分大于200,数学成绩小于语文成绩,且姓赵的同学
-- '赵%'表示只要以赵开头就可以
SELECT * FROM student
	WHERE math<chinese AND (math+chinese+english)>200 AND `name` LIKE '赵%'

筛选结果排序

对于筛选的结果进行排序展示
在这里插入图片描述

# 筛选排序
-- 数学排序后输出,(升序)
SELECT * FROM student
	ORDER BY math ASC
-- 总分从高到低顺序排序
SELECT *,(math+english+chinese) AS total_name FROM student
		ORDER BY total_name DESC-- 可以用select指定的列名/AS后的名也可以
		
-- 对姓小的吧,总分从高到低
-- 先添加一个吧
INSERT INTO student 
	VALUES(8,'小牛',70,88,96)
SELECT *,(math+english+chinese) AS total_score 
	FROM student
	WHERE `name` LIKE '小%'
	ORDER BY total_score DESC

效果
在这里插入图片描述
就显示多一根,用as方便查看,然后排序也用哪个as后面的别名
看你想怎么显示喽
也可以

SELECT `name`,(math+english+chinese) AS total_score 
	FROM student
	WHERE `name` LIKE '小%'
	ORDER BY total_score DESC

在这里插入图片描述

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

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

相关文章

关于yolov8一些训练的情况

U神出品了最新的yolov8&#xff0c;从公开的参数量来看确实很优秀&#xff01;&#xff01;&#xff01;&#xff01;比如下图得一些指标&#xff1a; 可以看到s模型640得map已经达到了44.9&#xff0c;v8n得map也已经达到了37.3&#xff0c;很强了&#xff0c;但是实际上是怎么…

Python爬虫之Scrapy框架系列(3)——项目实战【某瓣top250电影信息获取】

目录&#xff1a;1. 某瓣电影top250首页电影信息的获取&#xff01;1.创建项目&#xff1a;2.创建爬虫文件&#xff1a;3.运行爬虫文件&#xff1a;4.设置请求头&#xff1a;5.获取到电影名字&#xff1a;5.1 使用shell交互式平台&#xff1a;5.1.1 首先&#xff1a;打开我们的…

239页10万字“联、管、用”三位一体雪亮工程整体建设方案

【版权声明】本资料来源网络&#xff0c;知识分享&#xff0c;仅供个人学习&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间删除&#xff01;完整资料领取见文末&#xff0c;部分资料内容&#xff1a; 目录 1、 项目概述 1.1 项目背…

用R语言绘制泰勒级数的逼近过程

文章目录泰勒级数是如何被发现的用图像理解Taylor级数的逼近过程前情提要 R语言微积分极限π,e,γ\pi, e, \gammaπ,e,γ洛必达法则连续性和导数数值导数差商与牛顿插值方向导数 泰勒级数是如何被发现的 如果我是泰勒&#xff0c;我会把思考的起点建立在这样的一个等式上 f(n…

Windows10电脑重装系统详细步骤(纯净版)

目录 前言&#xff1a; 一、准备工作 二、下载pe工具 三、下载系统镜像ISO文件 获取方式一 获取方式二 获取方式三 四、进入pe系统 1.检查以上的准备工作是否完成 2.然后拔出来u盘插入要重装的电脑上面 3.然后按电源键开机&#xff08;不能点击重启&#xff01;&…

【Git 从入门到精通】使用Git将本地代码推送到Github

文章目录一、创建远程库二、Git操作远程库1.推送代码2.克隆代码3.拉取代码4.Pull request5.常用命令总结一、创建远程库 打开github.com&#xff0c;点击右上角加号&#xff0c;点击第一个选项。 填写库的基本信息&#xff0c;如果你想代码开源就选择public&#xff0c;否则就…

开发模型和测试模型

开发模型瀑布模型特点&#xff1a;线性结构&#xff0c;每个阶段只执行一次&#xff0c;必须完成上一个才能执行下一个。是其他模型的基础框架缺点&#xff1a;测试后置&#xff0c;1&#xff09;前面各个阶段的遗留的风险推迟到测试阶段才被发现&#xff0c;导致项目大面积返工…

【7】SCI易中期刊推荐——图像处理领域(中科院4区)

🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…

【LGR-(-17)】洛谷入门赛 #8个人思考

T306713 Hello, 2023 题目背景 Goodbye, 2022 Hello, 2023 题目描述 某 E 在 2022 年的幸运数字是 xxx&#xff0c;这个数可能是正的&#xff0c;也可能是负的。 某 E 想要知道 xmod2023x \bmod 2023xmod2023 的值。其中&#xff0c;mod\bmodmod 是取模操作。也就是说&am…

数据结构:线性表的顺序表示和实现

在实际应用程序中涉及的线性表的基本操作都需要针对线性表的具体存储结构加以实现。线性表可以有两种存储表示方法:顺序存储表示和链式存储表示。下面我们先说说顺序存储表示。 1、顺序表——线性表的顺序存储表示 在计算机中表示线性表的最简单的方法是用一组地址连续的存储…

Linux:自动化构建工具make/Makefile

文章目录一.前言二.Makefile如何写入/make命令使用2.1清楚依赖关系和依赖方法2.2删除文件2.3Makefile中的关键字.PHONY2.4一个小补充一.前言 在此之前我们已经可以用vim编写代码和用gcc编译代码。但是如果现在要写一个大型项目&#xff0c;一下子写了很多源文件&#xff0c;在…

C. Zero Path(DP)

Problem - 1695C - Codeforces 给你一个有n行和m列的网格。我们用(i,j)表示第i(1≤i≤n)行和第j(1≤j≤m)列的方格&#xff0c;用aij表示那里的数字。所有的数字都等于1或等于-1。 你从方格&#xff08;1,1&#xff09;开始&#xff0c;每次可以向下或向右移动一个方格。最后&…

基于结点的数据结构——链表(单链表双向循环链表)| 附完整源码 | C语言版

本章内容 1.什么是链表 2.链表常见几种形式 3.无头单向非循环链表的实现 3.1结点结构的定义 3.2函数接口的实现 3.2.1尾插 3.2.2尾删 4. 带头双向循环链表的实现 4.1结点结构的定义 4.2函数接口的实现 5.两种链表的差异 ①尾插与尾删的时间复杂度 ②头插与头删的时…

Ai 作图 stable-diffusion-webui prompt

文章参考了 prompt指导手册 &#xff1a; https://strikingloo.github.io/stable-diffusion-vs-dalle-2 https://prompthero.com/stable-diffusion-prompt-guide 一般来说&#xff0c;最好的稳定扩散提示会有这样的形式&#xff1a; “ [主要主题]的[图片类型] &#xff0…

C语言-文件操作(13.1)

目录 思维导图&#xff1a; 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 4.1 对比一组函数 5. 文件的随机读写 5.1 fseek 5.2 ftell 5.3 rewind 6. 文本…

FeignClient调用源码解析

文章目录一、FeignClient二、整体流程1.使用FeignClient2.FeignClient整体调用流程三、源码解析1. 注解EnableFeignClients2. FeignClientsRegistrar3. Feign其他配置4. FactoryBean5. 方法调用一、FeignClient FeignClient作为SrpingCloud进行http请求的一个基础组件&#xf…

IP地址和MAC地址是什么?Dhcp和arp又是什么?

本期武汉海翎光电的小编和大家聊聊 计算机是如何通信的&#xff1f;IP地址和MAC地址是什么&#xff1f;Dhcp和arp又是什么&#xff1f;在我们的家庭网络中&#xff0c;有许多的网络设备&#xff0c;比如我们可以有两台计算机A和B, 一台手机一台电视机&#xff0c;他们都连接到了…

【尚硅谷】Java数据结构与算法笔记09 - 哈希表

文章目录一、哈希表引入二、基本介绍三、Google公司的一个上机题3.1 题目描述3.2 代码实现一、哈希表引入 1&#xff09;看一个实际需求, google 公司的一个上机题: 2&#xff09;有一个公司, 当有新的员工来报道时, 要求将该员工的信息加入(id,性别,年龄, 住址…), 当输入该员…

【Linux】理解文件系统——软硬链接

我们之前讨论的都是进程和被打开文件的关系&#xff0c;而如果一个文件是没有被打开呢&#xff1f;没有被打开的文件操作系统如何管理&#xff1f; 没有被打开的文件在磁盘上&#xff0c;所以磁盘上有大量的文件&#xff0c;这些文件要被静态管理起来&#xff0c;方便我们随时…

1588_AURIX_TC275_PMU简介

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) PMU是编程存储单元的缩写&#xff0c;但是落实到了具体的硬件模块上其实是一个Flash模块。在TC275中&#xff0c;只有一个PMU模块。在所有的AURIX芯片中&#xff0c;只有PMU0支持BootROM的…