MySQL数据库(表的CRUD基础操作(最常用))(一)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL数据库(表的CRUD基础操作(最常用))

理解CRUD:

CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写

新增(Create) :

单行数据+全列插入:

注意:只可以就行单行插入,并且必须是全列的,否则就失败了。

单行数据,全列插入语法形式:

insert into 表(字段1, ..., 字段N) values (value1, ..., value N);

创建一个学生表:

1. create table student (id int, name varchar(20),
2.                       chinese dicimal(3,1),
3.                       math dicimal(3,1),
4.                       english dicimal(3,1));

进行单行插入:

insert into student values(1,'张三',88,99,67);

多行数据+指定列插入:

这个就是说我们可以一次插入多行,每一行的列不做要求,可以随便插入。

语法形式:

1. insert into 表(字段1, ..., 字段N) values
2. (value1, ...),
3. (value2, ...),
4. (value3, ...);

例如:

insert into student (id, name, chinese) values (2,'李四',86),(3,'王五',67);

或者:

insert into student (id,name,chinese,math,english) values (4,'张飞',82,64,97);

这些都是可以的,但是需要注意的是,values前面括号里面的数据必须和后面的数据相匹配,否则就会出现错误。

查询(Retrieve):

全列查询:

语法形式:

select * from 表

上述例子中就用到了全列查询:

select * from student;

全列查询是把整个表中的所有数据都遍历了一边,这种用法在数据量比较大的时候不建议使用,MySQL数据库是基于客户端-服务器类型的,当我们发送指令的时候,服务器来接收指令,并给予服务。我们所需要的数据是存储在硬盘中的,所以服务器需要在硬盘中读取我们需要的数据,并加以解析,当全部都查询的时候,会增加数据传输时间和网络开销 。

所以一般我们查询的时候要指定查询的列等内容,尽量避免全列查询(当然,我们这里数据量非常非常小,就影响不是很大)。

指定列查询:

语法形式:

select 字段1,字段2... from 表
select id,name,chinese from student;

查询字段为表达式:

语法格式:

select 字段1+100,字段2+字段3 from 表

表达式不包含字段:

select name,chinese,10 from student;

表达式包含1个字段:

select name,chinese,chinese+10 from student;

表达式包含多个字段:

select name,chinese+math+english from student;

方便起见,可以加个别名:

select name,chinese+math+english as total from student;

去重操作:

顾名思义,就是去除字段中重复的数据

语法形式:

select distinct 字段 from 表

比如:我们看一下这个学生表里面的数据:

select *from student;

可以看到李四和孙六的语文成绩都是86,我们这里进行一下去重:

select distinct chinese from student;

可以看到只有一个86了,这就达到了去重的目的。需要我们注意的是,所有的查询操作仅仅是查询出一个临时的表供你查看,并没有改变存在服务器硬盘中的数据。

排序:

语法形式:

select 字段....from 表 order by 排序字段

注意:NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面

1. -- ASC 为升序(从小到大)
2. -- DESC 为降序(从大到小)
3. -- 默认为 ASC

比如说我们按照语文从小到大排序:

select name,chinese from student order by chinese;

或者我们想降序:

select name,chinese from student order by chinese desc;

我们也可以按照表达式别名等等进行排序,无非就是在查询的基础上加以改动即可。

select name,chinese+math+english as total from student order by total;

也可以对多个字段进行一个排序:

如语文升序,数学降序

select *from student order by chinese,math desc;

排序是有优先级的,排序优先级随书写顺序。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
关系型数据库 MySQL 数据库
数据迁移脚本优化过程:从 MySQL 到 Django 模型表
在大规模的数据迁移过程中,性能问题往往是开发者面临的主要挑战之一。本文将分析一个数据迁移脚本的优化过程,展示如何从 MySQL 数据库迁移数据到 Django 模型表,并探讨优化前后的性能差异。
|
1月前
|
数据可视化 API PHP
学生信息管理系统-可视化-科目管理CRUD代码生成器
学生信息管理系统-可视化-科目管理CRUD代码生成器
36 5
|
2月前
|
关系型数据库 MySQL 数据库
MySQL 表的CRUD与复合查询
【9月更文挑战第26天】本文介绍了数据库操作中的 CRUD(创建、读取、更新、删除)基本操作及复合查询。创建操作使用 `INSERT INTO` 语句插入数据,支持单条和批量插入;读取操作使用 `SELECT` 语句查询数据,可进行基本查询、条件查询和排序查询;更新操作使用 `UPDATE` 语句修改数据;删除操作使用 `DELETE FROM` 语句删除数据。此外,还介绍了复合查询,包括连接查询(如内连接、左连接)和子查询,以及聚合函数与分组查询,并提供了示例代码。
|
2月前
|
前端开发 IDE 数据库连接
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
本文详细介绍了ThinkPHP6中模型层的使用,包括模型属性设置、表映射关系、以及如何在控制层中使用模型层进行CRUD操作。
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
|
2月前
|
SQL 关系型数据库 MySQL
数据库隔离级别详解,数据库基础操作
数据库隔离级别详解,数据库基础操作
|
3月前
|
SQL 关系型数据库 MySQL
学习mysql基础操作
【8月更文挑战第20天】学习mysql基础操作
40 1
|
3月前
|
API Python
[gin]基于切片实现crud
[gin]基于切片实现crud
|
3月前
|
前端开发 Java 关系型数据库
通过HTML网页对mysql数据库进行增删改查(CRUD实例)
通过HTML网页对mysql数据库进行增删改查(CRUD实例)
220 0
|
4月前
|
存储 SQL 关系型数据库
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
MySQL设计规约问题之在数据库设计中,为什么要适当考虑反范式的表设计
|
4月前
|
SQL 存储 数据库
MySQL设计规约问题之如何处理日志类型的表
MySQL设计规约问题之如何处理日志类型的表