【MySQL】MySQL表的增删改查(初阶)

2024-08-26 09:44

本文主要是介绍【MySQL】MySQL表的增删改查(初阶),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~



目录

 表内容操作

插入内容

按顺序插入

指定某些列插入

一次插入多行记录

插入时间

查询表内容

全列查询

指定列查询

 指定表达式查询 

用as取别名

​编辑

去重查询

排序查询order by

条件查询 (关键)

比较运算符

逻辑运算符

练习

基本查询

and和or

 范围查询

like 模糊匹配

分页查询

修改表内容

删除表内容


 表内容操作

插入内容

按顺序插入

insert into 表名 values(值,值,值.....);    新增(这里列的个数 和 类型 要和表结构 匹配)

SQL中表示字符串可以使用 " 或 '

SQL中类型会尝试自动强转

指定某些列插入

insert into 表名(列名,列名....)values(值,值.....);

一次插入多行记录

insert into  表名 values(值,值....),(值,值....),(值,值....).....;  每个括号代表一行

插入时间

可以插入当前系统时间,使用库函数 now()  -->获取当前时刻

查询表内容

全列查询

select  * from 表名;  全列查询(查询出这个表的所有行和列) , * 是通配符,可以指代所有的列.

注意: select * 是一个很危险的操作,因为如果表非常大(千万/亿级别的数据量),进行select * 会产生大量的硬盘IO 和网络 IO,很可能会把你的硬盘 /网卡 带宽给吃满. 若是在公司的生产环境下进行 select * ,很可能会使其他用户访问数据库的时候 出现访问失败的情况

指定列查询

select 列名,列名.... from 表名;

为了方便举例,下面创建一个成绩表

下图指定 name和math列输出

 指定表达式查询 

select 表达式 from 表名;  输出的结果是"零时表",数据库本体(数据库服务器硬盘上的数据)没有任何改变

下图查询的是 语文成绩+10 的结果.

用as取别名

select 表达式 as 别名 from 表名;   这里的as可以省略(但是不建议,因为as省略后,别名就非常容易当成表达式的一部分)

下图输出总成绩 以total 命名

去重查询

select distinct 列名 from 表名;  查询的结果里必须是全部一样才能去重

排序查询order by

select 列名 from 表名 order by 列名;    针对查询结果进行排序,指定按照某个列进行排序,可以指定升序(asc  默认是 升序,可以省略)和 降序(desc)  ,select 语句对排序没有任何影响, 在排序之前,顺序是不可预期的

 

 order by可以指定多个列查询,先按照第一个列查询,这列相同的部分 会按照第二列排序.....

条件查询 (关键)

select 列名 from 表名 where 条件;   查询过程中,指定筛选条件,满足条件的就保留,不满足条件的就跳过

比较运算符

逻辑运算符

注意:

  • WHERE条件可以使用表达式,但不能使用别名。
  • AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
练习
基本查询

查询英语不及格的同学及英语成绩 ( < 60 )

查询语文成绩好于英语成绩的同学 

查询总分在 200 分以下的同学 

 使用别名时注意:  条件不能用别名,会报错

and和or

查询语文成绩大于80分,且英语成绩大于80分的同学 

查询语文成绩大于80分,或英语成绩大于80分的同学 

 范围查询

where 列名 between ...and ;

查询语文成绩在 [80, 90] 分的同学及语文成绩

用and实现同样的效果 

where 列名 in(要查询的值,多个值用 , 隔开);   针对离散的数据

查询数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩

like 模糊匹配

like要搭配通配符一起使用

where 列名 like 通配符;

  • % :匹配 0 个或 任意 个的任意字符
  • _  : 匹配 1 个特定的字符

like 是一个比较低效的操作,数据库本来就慢,所以开发时使用like 要节制~

通过下列例子理解like 的用法

不要拿= 和null比较,要用<=>或 is null 判断

分页查询

select 列名 from 表名 limit N;    N代表限制 n 条记录

limit可以搭配offset使用

select 列名 from 表名 limit N offset M;   表示从下标为M开始记录(从0开始计算) N 条

上面代码可以简写为 select * from exam_result limit 4 , 3 ;

修改表内容

update 表名 set 列名 = 值 , 列名 = 值.....   后面可以加上条件 where /order by/ limit ,如果没有指定任何条件 ,修改的就是所有行. update 同样也是危险操作(真正改的是硬盘上的数据,"持久有效"),

匹配的结果 >= 实际修改的结果

删除表内容

delete from 表名 where 条件 / order by / limit;  将筛选出的行删除,  这也是 危险操作!!!

若没有指定条件,删除的就是这个表的数据,但是这个表还在(空表)

这篇关于【MySQL】MySQL表的增删改查(初阶)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108210

相关文章

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum