MySQL表的增删查改(基础)

新增(Create)

1.全列插入

全列单行插入

insert into 表名 values(值,值……);

也可以全列且多行插入

insert into 表名 values (值,值……),(值,值……)……;

2.指定列插入

insert into 表名 (列名,列名……)values (值,值……);单行

insert into 表名 (列名,列名……)values (值,值……),(值,值……);多行

其中,同行未插入的那些列显示为null

3.如何插入时间日期

时间日期一般是有固定格式,一般使用如下:

birthday datetime:'2000-01-01 12:00:00'

查询(Retrive)

1.查看整个表,全列查询

select * from 表名;

2.指定列查询

select 列名,列名…… from 表名;

3.表达式查询

select 表达式 from 表名;

我们先创建一个表示成绩的表

查询每个学生的总成绩,如下:

最好标注上名字,所以如下查询:

注意:

当参与运算的有空值时,计算出来也是空

4.别名

为查询结果中的列指定别名,如下:

select 列名/表达式1,列名/表达式2 as 别名……from 表名;别名跟在哪一列,哪一列就用别名。

as可以省略,但不建议。

5.去重:distinct

select distinct 列名,列名……from 表名;

但要是加上姓名,就不同了:

所以只有distinct后面的所有列都相同才可算作重复

6.查询时排序:order by

select 列名/表达式,…… from 表名 order by 列名/表达式 asc/desc;

asc表示升序,可以省略不写,desc表示降序

注意:

1.修改成别名后,不能直接拿别名排序:

因为当客户端把查询时排序的请求发给服务器后,服务器首先进行数据查询,然后把查询到的数据进行排序,最后再组织成响应数据返回给客户端,而改名操作,一定是在排序之后

所以只能如下修改:

2.排序可以依据多个列/表达式

如果第一列相同就根据第二列……,每一列都要制定升序还是降序,如果没指定,就默认是升序:

3.排序的依据不一定非得是select后面的那些列。

7.条件查询:where

select 列名…… from 表名 where 条件;

注意:

1.条件查询可以搭配表达式:

2.如果某表达式中有null值,会出现如下效果

最后一行为78.5和null,假设条件为总成绩小于235,因为任何数与null相加都是null,null<235的结果也是null,null表示false,所以就是查不出来,所以查询结果中没有最后一个学生的

常见条件查询

1.比较运算符

>  , < ,>= , <=

= 等于,不太安全,例如null=null的结果是null

<=> 等于,安全,null=null的结果是true

2.and,or

and表示且,or表示或 

3.范围查询

between……and……,表示的是闭区间

4.in(option……)

如果是option中的任意一个,就返回true

5.模糊查询:like

这里会用到%以及_

%表示匹配任意多个字符,_表示匹配任意一个字符

比如:where name like 孙%;会匹配到所有姓孙的人

where name like 孙_;会匹配到所有姓孙的且只有俩个字的人

where name like %孙;会匹配到所有最后一个字是孙的人

where name like %孙%;会匹配到所有中间有一个字是孙的人

……

6.null查询

用到 is null 或is not null

8.分页查询:limit

selet 列名 from 表名 (where/orderby)limit n;从0开始筛选n条结果

selet 列名 from 表名 (where/orderby)limit s,n;从s开始筛选n条结果

selet 列名 from 表名 (where/orderby)limit n offset s;从s开始筛选n条结果

如果想从第一条记录开始,那么偏移量就是0,注意不是1.

修改(Update)

update 表名 set 列名=…,列名=…,……(where /order by /limit);

例如:

这是未修改之前的表

这是进行了修改的表

注意:修改未必成功,例如当修改后的格式与初定数据类型格式不同时,就会修改失败

如下例子:

还是上面的成绩单,将总成绩为倒数前三的同学的英语成绩多加20分:

第一种修改方法:

第二种修改方法:

我一开始以为加不加offset0的报错结果都一样,但为什么不一样呢?我实在是想不清,但当我查了总分倒数前三的我才明了了

总成绩倒数前三的是第5,6,7个学生

对于第二种修改方式,报错为:第三行超出范围了,它说的第三行指的是小兰,超出范围是因为78.5+30=108.5,而我们规定的decimal(3,1)表示小数长度为3,小数位数为1,108.5的小数长度是4,与规定不符了,所以修改不成功

删除(Delete)

delete from 表名 (where/order by/limit)

例如:

1.删除某同学的成绩

2.删除整张表的数据

注意,删除整张表和删除数据库不一样,删除整张表后,表还在,只是表是空的

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五.实战软件部署 1-3实战章节-前言MYSQL 5.7版本在centos系统安装MYSQL 8.0版本在centos系统安装

目录 五.实战软件部署 1-实战章节-前言 五.实战软件部署 2-MYSQL 5.7版本在centos系统安装 1-配置yum仓库 2-使用yum安装mysql 3-安装完成后&#xff0c;启动mysql并配置开机自启动 4-检查mysql的运行状态 --配置 1-获取mysql的初识密码 2-登录mysql数据库系统 3-修改…

无人机飞行控制系统功能,多旋翼飞行控制系统概述

飞行控制系统存在的意义 行控制系统通过高效的控制算法内核&#xff0c;能够精准地感应并计算出飞行器的飞行姿态等数据&#xff0c;再通过主控制单元实现精准定位悬停和自主平稳飞行。 在没有飞行控制系统的情况下&#xff0c;有很多的专业飞手经过长期艰苦的练习&#xff0…

【c++基础】国王的魔镜

说明 国王有一个魔镜&#xff0c;可以把任何接触镜面的东西变成原来的两倍——只是&#xff0c;因为是镜子嘛&#xff0c;增加的那部分是反的。 比如一条项链&#xff0c;我们用AB来表示&#xff0c;不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话&#xff0c;魔镜会把…

CPython:表达式的求值顺序(evaluation order)

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 C中表达式的求值 C语言针对表达式的计算&#xff0c;设置了操作符的优先级和结合性这两个特性&#xff0c;优先级用于解析不同优先级的符号&#xff0c;结合性用于解析…

Linux环境下配置HTTP代理服务器教程

大家好&#xff0c;我是你们可爱的Linux小助手&#xff01;今天&#xff0c;我将带你们一起探索如何在Linux环境下配置一个HTTP代理服务器。请注意&#xff0c;这不是一次火箭科学的实验&#xff0c;而是一次简单而有趣的冒险。 首先&#xff0c;我们需要明确什么是HTTP代理服…

消息中间件面试篇

消息中间件 RabbitMQ 消息不丢失 可能导致消息丢失的情况&#xff1a; 生产者发送消息丢失消息队列宕机消费者服务宕机&#xff0c;未接收到消息 生产者确认机制 该机制解决了生产者发送消息有可能丢失的问题。 RabbitMQ提供了publisher confirm机制来避免消息发送到MQ过程…

【python量化交易】qteasy使用教程02 - 获取和管理金融数据

qteasy教程2 - 获取并管理金融数据 qteasy教程2 - 获取并管理金融数据开始前的准备工作获取基础数据以及价格数据下载交易日历和基础数据查看股票和指数的基础数据下载沪市股票数据从本地获取股价数据生成K线图 数据类型的查找回顾总结 qteasy教程2 - 获取并管理金融数据 qtea…

【见微知著】OpenCV中C++11 lambda方式急速像素遍历

学习《OpenCV应用开发&#xff1a;入门、进阶与工程化实践》一书 做真正的OpenCV开发者&#xff0c;从入门到入职&#xff0c;一步到位&#xff01; C11 lambda语法 C11中引入了lambda表达式&#xff0c;它支持定义一个内联(inline)的函数&#xff0c;作为一个本地的对象或者…

如何才能学好JVM?——零基础入门篇

1. JVM是什么&#xff1f; JVM是Java Virtual Machine的简称&#xff0c;它是一个虚拟的计算机&#xff0c;专门为执行Java程序而设计。 你可以想象它是一个能够运行Java字节码的平台&#xff0c;无论你的程序在Windows、Mac还是Linux上&#xff0c;它们都能通过JVM在这些系统…

腾讯云4核8G服务器能支持多少人访问?

腾讯云4核8G服务器支持多少人在线访问&#xff1f;支持25人同时访问。实际上程序效率不同支持人数在线人数不同&#xff0c;公网带宽也是影响4核8G服务器并发数的一大因素&#xff0c;假设公网带宽太小&#xff0c;流量直接卡在入口&#xff0c;4核8G配置的CPU内存也会造成计算…

机器学习:BN层介绍及深入理解

前言&#xff1a;BN在深度网络训练过程中是非常好用的trick&#xff0c;在笔试中也很常考&#xff0c;而之前只是大概知道它的作用&#xff0c;很多细节并不清楚&#xff0c;因此希望用这篇文章彻底解决揭开BN的面纱。 BN层的由来与概念 讲解BN之前&#xff0c;我们需要了解B…

论文阅读-Pegasus:通过网络内一致性目录容忍分布式存储中的偏斜工作负载

论文名称&#xff1a;Pegasus: Tolerating Skewed Workloads in Distributed Storage with In-Network Coherence Directories 摘要 高性能分布式存储系统面临着由于偏斜和动态工作负载引起的负载不平衡的挑战。本文介绍了Pegasus&#xff0c;这是一个利用新一代可编程交换机…