MySQL第二课表的增删插改

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL第二课表的增删插改


💛 后端进行的表的操作增删查改

现在是建了一个成绩表,注意哈。

decimal(2,1).  2是M表示有两个有效数字长度,1是D的长度,即小数点后有一位(10分制)

💓开始

1.增加:

insert into 表名 values(值,值······) 值要和表中的列相匹配

也可以单添加name这种:

insert into student(name) values('aa');

👏 双引号和单引号都表示字符串,小问题

💫 他下面的select的语句我会解释

👍两个图进行的操作,以及其效果

这是插入一行的,那么假如我们插入多行呢

insert into 表名 values(值,值······),(值···)

💫 就是后面再加上这种参数就OK

💫 这时候可能有疑问,我一个一个插入和你这种一个插入三个区别在哪里呢,

我们要记住MySQL是客户端服务器结构的程序,每一次交互都会有成本(时间等东西)。

所以一次插入多个会更有效率。

🧡

2 查询(你插入的东西):

1.全列查询(危险,十几亿的数据全掏出来,服务器干死机了

select *from 表名 查询当前数据库中的所有行和列

服务器会解析SQL并且执行,读取硬盘中student(表名),表中的每一条记录,会把所有记录通过网络返回给客户端。

💚

2.(1)指定列查询:

手动去指定查询某一列,或者某几列,服务器返回的结果,就只包含想要的数据:

select 列名,列名(可多个)from 表名;

🖤

2.(2)查询可以同时计算

比如select name ,chinese+10 from student;

但是我们要了解一件事❗️❗️❗️

MySQL是一个客户端服务器结构的程序,大家看到的客户端显示的结果只是个临时表,select不管你如何加,都不影响数据库服务器硬盘存储的原始数据,即使我现在是下面的+10,但是这个表还是原来那样(原来的数据)。

❗️❗️❗️看到了吧,他不会改变他的数据

💜

2.(3)SQL的四则运算只能针对数字进行,也可利用两个列或或多个列计算

💕

2.(4)查询的时候,给列/指定别名

       select 列名 as 别名 from 表名

      下图是把总和别名为total

💞

2.(5)查询时去重

把重复的去掉:select distinct 列名 from 表名

distinct后面的列名可以写多个,那么要求后面的值都要相同,才叫重复

💓

2.(6)排序查询:

          针对查询到的结果进行排序

          select 列名 from 表名 order by 列名        

🐱 🐶 🐭 🐹 🐰

MySQL是一个客户端,服务器的结构的程序,因此这里的排序,也只是针对临时表进行的,对于数据库的原始数据顺序,没有任何影响

下面的select* 是显示出每一列由english排列的结果

默认排序由小到大:

由大到小:select 列名 from order by 列名 desc

(descond):下降

 如果SQL中没有指定order by,此时我们代码不该依赖去临时表的顺序,MySQL不保证不带order by有一定顺序。(总结:不理解就无脑加order by )

 

order by可以指定多个列排序,并且用逗号连接。

看下面的图片,英语一样就比数学,谁小谁前面

💗

2(7)条件查询(指定筛选条件)

2(7).1、WHERE表达式    

    条件表达式即是,对记录进行过滤,满足条件进行显示。如果没有指定WHERE子句,则显示所有记录;在WHERE表达式中,可以使用MySQL支持的函数或者运算符。

  🌚 🌚 🌚  where 特别重要:有很多大佬有时候都会忘记写where低级,但是重要。

下面是各种表达式

❣️💝💘💖💟

简单说一下 =和<=>的区别

两个都是等于,但是<=>可以比较NULL

比如NULL<==>NULL(条件成立),假如是=就会不成立

注:理解查询语句执行过程

1.服务器需要先遍历表中的每一个记录

2.针对当前记录,带入条件,看他是否成立

3.如果条件成立,则一条记录加入结果集,并返回给客户端,如果不成立,这一条记录跳过

如找英语小于4分的

select 列名 from 表名 where 条件

 

当然,条件比较并不是使用列名和常量比较,也可以使用列名和其他列名进行比较

如找语文大于英语的

条件查询,也可以加一些更复杂的表达式,

但是别名使用不了(更精准是不能在条件里面用),这是结论,我们下面这个是前面,而不是用于条件,对比着来看。

 

select执行顺序:

1.遍历某个指定的行

2.带入条件筛选

3.条件为true,被筛选成功,再计算select 列名表达式;

AND和OR(&&和|| 懂的我不多说)

 


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
安全 关系型数据库 MySQL
【MySQL】表的增删查改
【MySQL】表的增删查改
|
6月前
|
关系型数据库 MySQL 数据库
数据迁移脚本优化过程:从 MySQL 到 Django 模型表
在大规模的数据迁移过程中,性能问题往往是开发者面临的主要挑战之一。本文将分析一个数据迁移脚本的优化过程,展示如何从 MySQL 数据库迁移数据到 Django 模型表,并探讨优化前后的性能差异。
|
6月前
|
SQL 关系型数据库 MySQL
mysql sql语句删除一个库下的所有表
mysql sql语句删除一个库下的所有表
43 1
|
2月前
|
SQL 安全 关系型数据库
MySQL 增删操作面试题
MySQL 增删操作面试题
130 1
|
6月前
|
分布式计算 DataWorks MaxCompute
DataWorks产品使用合集之需要将mysql 表(有longtext类型字段) 迁移到odps,但odps好像没有对应的类型支持,该怎么办
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
存储 SQL 关系型数据库
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
|
5月前
|
SQL 存储 数据库
MySQL设计规约问题之如何处理日志类型的表
MySQL设计规约问题之如何处理日志类型的表
|
6月前
|
关系型数据库 MySQL
蓝易云 - 如何修复MySQL中损坏的表
最后,为了防止数据丢失,定期备份数据是非常重要的。
154 3
|
5月前
|
运维 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在处理MySQL表新增数据记录时,没有正确触发变更事件,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
SQL 存储 关系型数据库
MySQL数据库——SQL(1)-SQL通用语法、SQL分类、DDL(数据库操作、表操作)
MySQL数据库——SQL(1)-SQL通用语法、SQL分类、DDL(数据库操作、表操作)
55 1