MySQL笔记——表的修改查询相关的命令操作

news2024/9/28 11:08:24

系列文章目录

MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明

文章目录

系列文章目录

一 表的修改操作

1.1 修改表的名字

 1.2 添加一列score

1.3 修改列名称

1.4 修改新增列的数据类型 

二 表的查询语句

2.1 基础语法

2.2 添加一些数据进行编辑查询

 2.3 新建一个score表

 2.4 将学生的三门成绩进行相加

 2.5 select 语法

2.6 MySQL WHERE 子句

语法

2.6.1 从学生表里面查询年龄大于等于20的

2.6.2 查询年龄大于等于20,并且年龄小于等于25的

  2.6.3 查询年龄等于20,或者年龄等于26的

2.7 NULL的注意点

 使用ifnull()函数将空值转换

2.8 查询姓名当中包含特殊字段的信息

 2.8.1 查询姓名当中包含“m”的信息

2.8.2 查询姓名最后一位为“m”的信息

 2.8.3 查询姓名第一位为“s”的信息

 2.8.4 查询姓名当中第二个字段为“a”的信息

  2.8.5 查询姓名当中第三个字段为“m”的信息

2.9 order by进行排序

2.9.1 按照年龄从小到大进行排序asc

  2.9.2 按照年龄从大到小进行排序 desc

 2.9.3 order by字段在最后面进行书写

 2.10 聚合函数

 2.10.1 统计student表当中姓名的总数

 2.10.2 求学生表里面成绩的平均值

2.10.3  求学生表里面成绩的最大值与最小值


前言

本文主要讲解表的修改查询相关的命令操作

一 表的修改操作

1.1 修改表的名字

alter table stu rename student;

 1.2 添加一列score

alter table student add score varchar(30);

查看修改完的表

desc student;

 

1.3 修改列名称

假如对添加的列名称不满意,可以修改列名称

alter table student change score stu_score varchar(30);

1.4 修改新增列的数据类型 

修改刚才列名称的数据类型为int型

alter table student modify stu_score int(30);

 可以看到数据类型变换成int型。

补充:物联网的数据存取需要多个表,每天创建一个新的数据存储表,就需要使用SQL语句来创建

二 表的查询语句

2.1 基础语法

select 字段1 , 字段2, 字段。。。。。
select * from 表名称

2.2 添加一些数据进行编辑查询

insert into student values('james',18,'shanghai','2020080401',85);
insert into student values('tom',26,'beijin','2020080402',65);
insert into student values('sam',22,'tianjing','2020080403',49);

 2.3 新建一个score表

create table score(sname varchar(40),chinese int(20),math int(20),english int(20));

 插入数据

insert into score values('james',49,90,88);
insert into score values('james',95,70,65);
insert into score values('tom',95,70,65);
insert into score values('sam',85,74,62);

 

 查看所有的数据

select * from score;

 

 2.4 将学生的三门成绩进行相加

select chinese, math, english, chinese+math+english as aggregate from score;

衍生——将英文的列名起别名称为中文

select chinese as '语文',math as '数学',english as '英语', chinese+math+english as '总分' from score;

 score里面的名称是不改变的

 2.5 select 语法

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 你可以使用 WHERE 语句来包含任何条件。
  • 你可以使用 LIMIT 属性来设定返回的记录数。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

select * from 表名;

1. 语法:
    select
        字段列表
    from
        表名列表
    where
        条件列表
    group by
        分组字段
    having
        分组之后的条件
    order by
        排序
    limit
        分页限定

2.6 MySQL WHERE 子句

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。

语法

以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
  • 你可以在 WHERE 子句中指定任何条件。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
  • WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

以下为操作符列表,可用于 WHERE 子句中。

2.6.1 从学生表里面查询年龄大于等于20的

select * from student where age >= 20;

2.6.2 查询年龄大于等于20,并且年龄小于等于25的

两个条件要同时满足才可以。

select * from student where age >= 20 and age <=25;

 另外一种

使用between and 查询

select * from student where age between 20 and 25;

  2.6.3 查询年龄等于20,或者年龄等于26的

两个条件只要满足一个即可。

select * from student where age = 20 or age=26;

2.7 NULL的注意点

错误的实例为下面的第一个

 数据库当中的null表示不知道。

正确的写法是将=换成is

select * from student where stu_score is NULL;

 使用ifnull()函数将空值转换

select ifnull(stu_score,0) as stu_score,sname,age,address,sno from student;

 可以看到张三的null空值被替换成0了。

注意转换后的数据类型要与原来的字段数据类型保持一致。

2.8 查询姓名当中包含特殊字段的信息

 2.8.1 查询姓名当中包含“m”的信息

select * from student where sname like '%m%';

 使用%%将需要查询的字段选择出来。

2.8.2 查询姓名最后一位为“m”的信息

select * from student where sname like '%m';

 2.8.3 查询姓名第一位为“s”的信息

select * from student where sname like 's%';

 2.8.4 查询姓名当中第二个字段为“a”的信息

select * from student where sname like '_a%';

  2.8.5 查询姓名当中第三个字段为“m”的信息

select * from student where sname like '__m%';

 " % "为一个占位符【占0个或者多个位】,“ _ ”也是一个占位符【只表示占一个位】

修改数据和删除数据要加上条件,不跟条件会导致误删除。

2.9 order by进行排序

2.9.1 按照年龄从小到大进行排序asc

select * from student order by age asc;

  2.9.2 按照年龄从大到小进行排序 desc

select * from student order by age desc;

 order by 可以跟着多个字段,只有第一个字段相同的时候才从后面的字段上面进行对应的排序

案例如下:

select * from score order by chinese desc ,math asc ;

 2.9.3 order by字段在最后面进行书写

案例如下:对student表当中年龄大于等于20岁的并且对其成绩进行从大到小进行排序。

select * from student where age >= 20 order by stu_score desc;

 2.10 聚合函数

常见的几个函数

 2.10.1 统计student表当中姓名的总数

select count(sname) from student;

 2.10.2 求学生表里面成绩的平均值

select avg(stu_score) from student;

2.10.3  求学生表里面成绩的最大值与最小值

select max(stu_score) from student;
select min(stu_score) from student;

 注意:聚合函数对空值不能进行计算,对于空值要进行处理

案例如下:此处有函数的嵌套。

select count(ifnull(stu_score,0)) from student;

总结

以上就是今天的内容~

欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议,请您在评论区留言💬哦。

最后:转载请注明出处!!!

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

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

相关文章

containerd

Containerd是一个开源的容器运行时&#xff08;Container Runtime&#xff09;&#xff0c;它是Kubernetes和Docker等容器平台的基础组件之一。它旨在提供容器的生命周期管理和基本的运行时功能&#xff0c;使得容器的创建、启动、停止、删除等操作变得简单且高效。 Container…

Apipost使用教程

Apipost是一款集API调试、生成文档、Mock、测试于一体的协同工具。单个工具可以同时满足接口测试、生成/分享文档、Mock、流程测试等功能&#xff0c;还有超实用的多人多角色间实时协作的功能。将前端、后端、测试三种角色串联起来&#xff0c;从而实现工作流程无缝衔接、提高研…

C#中简单Winform程序编译(待验证)

1、文件架构 2、MainWindow.xaml <Window x:Class"WpfApp1.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.…

vue中的异步请求Axios(个人学习笔记五)

目录 友情提醒第一章、传统的jQuery方式获取数据1.1&#xff09;后端controller层代码1.2&#xff09;传统的jQuery获取数据1.3&#xff09;使用vue对象和jQuery获取异步数据 第二章、使用Axios获取数据2.1&#xff09;axios简介2.2&#xff09;axios两种使用方式2.3&#xff0…

WEB:easyphp

背景知识 php弱类型比较 MD5碰撞 题目 进行代码审计 <?php highlight_file(__FILE__); $key1 0;//值赋值 $key2 0;$a $_GET[a];//get方法获取值 $b $_GET[b];if(isset($a) && intval($a) > 6000000 && strlen($a) < 3){ //a的值需要大于 60000…

Seaborn中怎样绘制双变量分布图?

两个变量的二元分布可视化也很有用。在 Seaborn中最简单的方法是使用 jointplot()函数&#xff0c;该函数可以创建一个多面板图形&#xff0c;比如散点图、二维直方图、核密度估计等&#xff0c;以显示两个变量之间的双变量关系及每个变量在单坐标轴上的单变量分布。 jointplo…

Linux--Block group

Block Group&#xff1a;ext2文件系统会根据分区的大小划分为数个Block Group。而每个Block Group都有着相 同的结构组成。政府管理各区的例子 超级块&#xff08;Super Block&#xff09;&#xff1a;存放文件系统本身的结构信息。记录的信息主要有&#xff1a;bolck 和 inod…

App测试流程及测试点

1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间&#xff0c;一般测试时间为两三周&#xff08;即15个工作日&#xff09;&#xff0c;根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.3测试资源…

测试覆盖率 JVM 字节码测试运用 - 远程调试、测试覆盖、影子数据库

目录 前言&#xff1a; 简介 基础使用方式介绍 工具特性 前言&#xff1a; 在软件开发中&#xff0c;测试覆盖率是一个非常重要的指标&#xff0c;它表示代码中所有的测试用例是否都已经被覆盖到。JVM 字节码测试是一种比较新的测试方法&#xff0c;它可以对 JVM 字节码进…

【雕爷学编程】Arduino动手做(86)---4*4位 WS2812 全彩模块4

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

【Postman】Postman接口测试进阶用法详解:断言、全局与环境变量、关联、批量执行用例、读取外部文件实现参数化

文章目录 一、Postman断言1、断言位置2、Postman的常用断言3、操作实例 二、全局变量与环境变量1、二者区分2、设置全局变量3、设置环境变量 三、Postman接口关联1、概念2、操作步骤 四、批量执行测试用例1、操作步骤2、查看结果 五、读取外部文件实现参数化1、使用场景2、操作…

云服务器远程nacos服务注册失败/不健康Client not connected, current status:STARTING

文章目录 Nacos报错docker安装不用 docker安装 Nacos报错 docker安装 使用docker在云服务器安装Nacos之后出现Client not connected, current status:STARTING 使用docker 安装之后需要添加映射端口 docker run -e JAVA_OPTS"-Xms256m -Xmx256m"-e MODEstandalone…

7.24 作业

1.自己封装vector template<typename T> class Myverctor {T* first;T* last;T* end; public:Myverctor():first(NULL),last(NULL),end(NULL){}Myverctor(int num,T data):first(new T[num]){last end first num;for(int i 0;i<num;i) first[i] data;}Myverctor…

【ROS2 Foxy】Rviz2 不支持可视化压缩图像消息

这里我通过订阅话题&#xff0c;压缩图像消息是存在的&#xff1a; ros2 topic echo /hk_camera/rgb/compressed从官方代码库的 issue 中了解到&#xff0c;在 Foxy 版本的 Rviz2 是不支持压缩图像消息的可视化的&#xff0c;现在 Foxy 也已经停止维护了&#xff0c;以后更不太…

redis 1

shell 1&#xff1a;安装1. 源码安装&#xff08;CENTOS&#xff09; 2.999:可能会出现得问题1. 编译出错 1&#xff1a;安装 1. 源码安装&#xff08;CENTOS&#xff09; 官方下载源码包 wget https://download.redis.io/redis-stable.tar.gz # 安装依赖 yum install gcc解压…

node 版本管理器 nvm

文章目录 一、卸载node二、nvm 下载三、nvm 安装四、检测环境变量是否一致五、nvm常见问题 一、卸载node 打开cmd命令行窗口&#xff0c;输入npm cache clean --force 回车执行 打开控制面板&#xff0c;在控制面板中把Node.js卸载 二、nvm 下载 nvm全英文也叫node.js ve…

7.25 Qt

制作一个登陆界面 login.pro文件 QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on …

cocosCreator 之 ScrollView

版本&#xff1a;3.4.0 参考&#xff1a;ScrollView组件 简介 ScrollView组件作为滚动容器来使用&#xff0c;它的实现通过ScrollBar组件来展示内容的位置和Mask组件显示指定区域&#xff0c;来保证有限的区域内显示更多的内容。 它的构成部分&#xff1a; ScrollBar滚动条相…

3、Winform表单控件

在学习了布局控件之后,我们就该学习表单控件了。 程序的本质=输入+处理+输出。在Winform程序角度,这里的输入输出就可以用我们的表单控件来实现。 表单控件大致可分为两类,选项控件和文本控件。 文本控件 文本控件常用的有两种,分别是TextBox和RichTextBox TextBox T…

01 矩阵(力扣)多源广度优先搜索 JAVA

给定一个由 0 和 1 组成的矩阵 mat &#xff0c;请输出一个大小相同的矩阵&#xff0c;其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 输入&#xff1a;mat [[0,0,0],[0,1,0],[0,0,0]] 输出&#xff1a;[[0,0,0],[0,1,0],[0,0,0]] 输入…