首页 > 数据库 >MySQL入门——增删查改(上)

MySQL入门——增删查改(上)

时间:2024-05-25 09:55:15浏览次数:16  
标签:... name 查询 查改 MySQL 增删 成绩 WHERE ORDER

新增

语法:

INSERT [INTO] table_name 
 [(column [, column] ...)] 
 VALUES (value_list) [, (value_list)] ...
 
value_list: value, [, value] ...

单行数据 + 全列插入

多行数据 + 指定列插入

查询

语法:

SELECT 
 [DISTINCT] {* | {column [, column] ...} 
 [FROM table_name]
 [WHERE ...]
 [ORDER BY column [ASC | DESC], ...]
 LIMIT ...

全列查询

通常情况下不建议使用 * 进行全列查询 

1. 查询的列越多,意味着需要传输的数据量越大;

2. 可能会影响到索引的使用。

指定列查询

指定列的顺序不需要按定义表的顺序来

查询字段为表达式

别名

为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称,语法:

SELECT column [AS] alias_name [...] FROM table_name;

去重:DISTINCT

使用DISTINCT关键字对某列数据进行去重:

去重结果

排序:ORDER BY

ASC 为升序(从小到大)

DESC 为降序(从大到小) 默认为 ASC

SELECT ... FROM table_name [WHERE ...] 
 ORDER BY column [ASC|DESC], [...];

1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序

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

3. 使用表达式及别名排序

4. 可以对多个字段进行排序,排序优先级随书写顺序

查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示

条件查询:WHERE

1. WHERE条件可以使用表达式,但不能使用别名。

2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

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

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

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

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

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

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

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

  • % 匹配任意多个(包括 0 个)字符

  • _ 匹配严格的一个任意字符

分页查询:LIMIT

-- 起始下标为 0
-- 从 0 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;
  • 按 id 进行分页,每页 3 条记录,分别显示 第 1、2、3 页

修改(Update)

UPDATE table_name SET column = expr [, column = expr ...]
 [WHERE ...] [ORDER BY ...] [LIMIT ...]
  • 将孙悟空同学的数学成绩变更为 80 分

  • 将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分

  • 将总成绩倒数前三的 3 位同学的数学成绩加上 10 分

删除(Delete)

DELETE FROM  table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]
  • 删除孙悟空同学的考试成绩

标签:...,name,查询,查改,MySQL,增删,成绩,WHERE,ORDER
From: https://blog.csdn.net/Lucas_Micheal/article/details/139180160

相关文章

  • mysql innodb purge threads
    在MySQL中InnoDB属于存储引擎层,并以插件的形式集成在数据库中。从MySQL5.5.8开始,InnoDB成为其默认的存储引擎。InnoDB存储引擎支持事务、其设计目标主要是面向OLTP的应用,主要特点有:支持事务、行锁设计支持高并发、外键支持、自动崩溃恢复、聚簇索引的方式组织表结构等。想系统学习......
  • MySQL InnoDB存储引擎
    一、存储引擎的简介MySQL5.7支持的存储引擎有InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、BLACKHOLE等。1、InnoDB存储引擎从MySQL5.5版本之后,默认内置存储引擎是InnoDB,主要特点有:(1)灾难恢复性比较好;(2)支持事务。默认的事务隔离级别为可重复读,通过MVCC(并发版本控......
  • Mysql自增id、uuid、雪花算法id的比较
    MySQL自增id:优点:1.简单易用​MySQL自增id由数据库自动生成。2.效率高自增id是按顺序递增的,可以提高插入和查询的效率。3.索引效率高自增id可以作为主键或索引列,提高查询效率。缺点:1.不适用于分布式系统在分布式环境下,多个节点生成的自增id可能会冲突,需要额外的处理机......
  • 在Linux下管理MySQL的大小写敏感性
    当开发与Linux环境下MySQL数据库交互的Java应用程序时,理解MySQL中的大小写敏感性可以避免潜在的错误和问题。本指南深入探讨了MySQL中的大小写敏感设置,比较了5.7和8.0版本,并为Java开发者提供了最佳实践。1理解MySQL中的大小写敏感性默认情况下,MySQL在Windows上是大小写不敏感的......
  • 联网安装与源码安装mysql
    一、卸载mariadb的rpm包1、首先,你需要找出已安装的MariaDB包的具体名称。可以使用以下命令列出所有已安装的MariaDB包:rpm-qa|grepmariadb2、删除命令(安装mysql不一定需要卸载)yum-yremove+【上图的文件名】或者rpm-e--nodeps+【上图的文件名】二、通过yum在线安装M......
  • The configuration for MySQL Server 8.0.27 has failed You can find more informati
    遇见这种情况,作者当时也是痛苦万分,网上找了许许多多的方法试了好多次都不行。分析问题出现这种问题是因为我们之前安装过但是没有安装完全就取消了,电脑里面已经存储了。重新安装的时候把安装位置和数据存放的位置路径全部使用英文,例如:之前我的安装路径:D:\用户\app\mysql......
  • Mysql事务
    1.概述事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。注意:默认MySQL的事务是自动提交的,也就是说,当执行完一条DML语句时,MySQL会立即隐式的提交事务。2.事务操作2.1方......
  • MySQl存储引擎
    1.体系结构1.1连接层最上层是一些客户端和链接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可......
  • MySQL查询某个字段含有字母数字的值
    1.正则表达式(REGEXP)查询MySQL表中某个字段含有字母和数字的值,可以使用正则表达式(REGEXP)来匹配这样的模式。在MySQL中,正则表达式是一个强大的工具,可以用来搜索和匹配字符串中的特定模式。假设我们有一个名为my_table的表,并且我们想要查询名为my_column的字段,这个字段包含至少一个......
  • MySQL查询某个字段含有字母数字的值
    1.正则表达式(REGEXP)查询MySQL表中某个字段含有字母和数字的值,可以使用正则表达式(REGEXP)来匹配这样的模式。在MySQL中,正则表达式是一个强大的工具,可以用来搜索和匹配字符串中的特定模式。假设我们有一个名为my_table的表,并且我们想要查询名为my_column的字段,这个字段包含至少......