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

系列文章目录

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;

总结

以上就是今天的内容~

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java刷题记录(小白边刷边学)7.25

Java刷题记录&#xff08;小白边刷边学&#xff09;7.25 1 最长公共前缀 题目分析: 首先一定需要创建一个数组存储最长公共前缀的值 为了方便比较&#xff0c;先把strs的第一个字符串放进新的数组中即strs[0] 因此比较时从strs【1】开始 数字j需要小于两个被比较的字符串的长度…

微服务基础理论

微服务简介 微服务Microservices之父&#xff0c;马丁.福勒&#xff0c;对微服务大概的概述如下&#xff1a; 就目前而言&#xff0c;对于微服务业界并没有一个统一的、标准的定义&#xff08;While there is no precise definition of this architectural style ) 。但通在其…

PostgreSQL实战-数据库迁移部署

PostgreSQL实战-数据库迁移部署 介绍 根据项目需求&#xff0c;我们需要将现有的PostgreSQL数据库重新部署到新的服务器上。由于项目本身就是基于PostgreSQL数据库构建的&#xff0c;因此数据库迁移将变得十分便捷。接下来&#xff0c;我将简要介绍我们的迁移步骤。 迁移步骤…

VMware InstallBuilder Crack

VMware InstallBuilder Crack VMware InstallBuilder是一种开发工具&#xff0c;用于构建桌面和服务器软件的跨平台安装程序。使用InstallBuilder&#xff0c;您可以从单个项目文件和构建环境中快速创建Linux、Windows、Mac OS X、Solaris和其他平台的动态专业安装程序。除了安…

掌握Python的X篇_8_数字与字符串之间的转换(字符串转数字int;数字转字符串str)

本篇将会介绍如何使用Python中的内置函数将数字型变量与字符串变量进行相互转换。 文章目录 1. 字符串转数字2. 数字转字符串 在上篇中写如下代码会报错 In [12]: num1input("请输入num1") 请输入num1345 In [13]: print(num1*10) 345345345345345345345345345345In…

Android平台GB28181设备接入模块之按需编码和双码流编码

技术背景 我们在做执法记录仪或指挥系统的时候&#xff0c;会遇到这样的情况&#xff0c;大多场景下&#xff0c;我们是不需要把设备端的数据&#xff0c;实时传给国标平台端的&#xff0c;默认只需要本地录像留底&#xff0c;如果指挥中心需要查看前端设备实时数据的时候&…

区分能带图

能带结构是目前采用第一性原理&#xff08;从头abinitio&#xff09;计算所得到的常用信息&#xff0c;可用来结合解释金属、半导体和绝缘体的区别。能带可分为价带、禁带和导带三部分&#xff0c;倒带和价带之间的空隙称为能隙。 如果能隙很小或为0 &#xff0c;则固体为金属…

文件或文件夹名称中有空格如何批量去除

平时在工作中会经常碰到文件或文件夹里面有特殊符号&#xff0c;那么要如何批量去除文件名中的特殊符号&#xff1f;其实去符号也不是困难的事&#xff0c;可以使用《文件批量改名高手》对文件名进行批量去除特殊符号&#xff0c;操作步骤如下。 先打开《文件批量改名高手》&a…

vscode设置java -Xmx最大堆内存

如果在vscode中直接运行java程序&#xff0c;想要改下每次运行的最大堆内存&#xff0c;按照如下修改 一、vscode安装java插件 当然前提是vscode在应用管理中已经安装了java语言的插件&#xff0c;Debugger for Java,如下图所示 二、CommandShiftP打开配置搜索框 三、搜索…

电脑C盘空间大小调整 --- 扩容(扩大/缩小)--磁盘分区大小调整/移动

概述&#xff1a; 此方法适合C盘右边没有可分配空间&#xff08;空闲空间&#xff09;的情况&#xff0c;D盘有数据不方便删除D盘分区的情况下&#xff0c;可以使用傲梅分区助手软件进行跨分区调整分区大小&#xff0c;不会损坏数据。反之可直接使用系统的磁盘管理工具进行调整…

树状数组笔记

数组、前缀和、树状数组的区别&#xff1a; 数组&#xff1a;修改某点O&#xff08;1&#xff09;&#xff0c;求区间O&#xff08;n&#xff09; 前缀和&#xff1a;修改某点O&#xff08;n&#xff09;&#xff0c;求区间O&#xff08;1&#xff09; 树状数组&#xff1a;修改…

React Dva项目中.roadhogrc.mock.js直接自动导入mock目录下所有文件方式

上文 React Dva项目中模仿网络请求数据方法 中&#xff0c;我们书写了Dva项目模拟后端数据的方式 但是 我们.roadhogrc.mock.js中的这个处理其实并不好用 我们还需要一个一个的引入 我们可以直接靠一段代码 import fs from fs; import path from path; const mock {} fs.re…

Git 快速入门

在客户端操作之前&#xff0c;需要安装git&#xff0c;可以查看连接→→git的下载安装 一、客户端操作 1.1 界面说明 这边有三个选项&#xff1a; Clone a repository from the Internet... 从互联网复制仓库到本地。 由于Git是一个分布式版本控制软件&#xff0c;中央服务…

后处理材质球:黄金螺旋分割线和参考图

后处理材质球&#xff1a;黄金螺旋分割线和参考图 Begin Object Class/Script/UnrealEd.MaterialGraphNode Name"MaterialGraphNode_0"Begin Object Class/Script/Engine.MaterialExpressionLinearInterpolate Name"MaterialExpressionLinearInterpolate_1&qu…

机器学习深度学习——图像分类数据集

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——softmax回归&#xff08;下&#xff09; &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习…

交换机和终端设备的基本配置

1 IOS访问 1.1 操作系统 所有终端设备和网络设备都需要有操作系统 (OS)。如图所示&#xff0c;操作系统中直接与计算机硬件交互的部分称为内核。与应用程序和用户连接的部分则称为外壳。用户可以使用命令行界面 (CLI) 或图形用户界面 (GUI) 与外壳交互。 使用 CLI 时&#xf…

图像处理之Hough变换检测直线

hough变换-直线检测 一、 前言二、Hough 变换三、直线检测四、代码实现1.hough检测2.画直线代码3.画hough空间代码4.检测结果 一、 前言 霍夫变换是一种特征检测(feature extraction)&#xff0c;被广泛应用在图像分析&#xff08;image analysis&#xff09;、计算机视觉(com…

从风控系统看架构设计原型图分析

目录 一、对架构与架构图的理解 &#xff08;一&#xff09;架构的本质 &#xff08;二&#xff09;软件设计中架构域的划分 &#xff08;三&#xff09;架构图设计 架构图设计的必要性 如何画架构图 二、实践业务架构与产品架构设计 &#xff08;一&#xff09;列出问…

Linux Mint 21.2 “Victoria “现已可供下载

Linux Mint 21.2 “Victoria “发行版今天出现在该项目全球稳定镜像上&#xff0c;这意味着开发者将很快发布官方公告&#xff0c;通知想要下载最新Linux Mint版本的用户。 Linux Mint 21.2从2023年6月21日开始进行公开测试&#xff0c;这给了开发者足够的时间来修复剩余的问题…

文心一言 VS 讯飞星火 VS chatgpt (63)-- 算法导论6.5 2题

文心一言 VS 讯飞星火 VS chatgpt &#xff08;63&#xff09;-- 算法导论6.5 2题 二、试说明 MAX-HEAP-INSERT(A&#xff0c;10)在堆A(15&#xff0c;13&#xff0c;9&#xff0c;5&#xff0c;12&#xff0c;8&#xff0c;7&#xff0c;4&#xff0c;0&#xff0c;6&#xf…