当前位置: 首页 > article >正文

【MySQL】CRUD增删改查操作

文章目录

  • CRUD简介
  • 一、Creat 新增
    • 1.单行数据全列插入
    • 2.单行数据全指定列插入
    • 3.多行数据指定列插入
  • 二、Retrieve 检索
    • 1.全列查询 --练习阶段最简单的查询:(在生产环境最好不要用!!)
    • 2.指定列查询
    • 3.结果去重查询
    • 4.where条件查询
    • 5.分页查询
    • 6.order by排序
  • 三、Update 修改
  • 四、Delete 删除
    • 截断表
    • 【拓展】


CRUD简介

CRUD是对数据库中的记录进行的增删改查操作:

  • Creat(创建)
  • Retrieve(读取)
  • Update(更新)
  • Delete(删除)

一、Creat 新增

语法:

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

示例:

create table users (
	id bigint,
	name varchar(50)
)

1.单行数据全列插入

  • value_list中的值的数量必须和定义表的列的数量一致
#第一种方法(推荐)
insert into users (id , name) values (1 , '张三');
#第二种方法
insert into users values (1 , '张三');

2.单行数据全指定列插入

  • value_list中值的数量和顺序必须和指定列数量及顺序一致
insert into users (name) values ('张三');

3.多行数据指定列插入

  • 在一条INSERT语句中也可以指定多个value_list,实现一次插入多行数据
insert into users (id , name) values (2 , '李四'),(3 , '王五');

二、Retrieve 检索

语法:

SELECT
	[DISTINCT]
    select_expr [, select_ expr]...
    [FROM table_references]
    WHERE where_condition]
    [GROUP BY {col_name | expr},...]
	[HAVING where_condition]
	[ORDER BY {col_name | expr}[ ASC | DESC],...]
	[LIMIT {[offset ,] row_count | ro_count OFFSET offset}]

1.全列查询 --练习阶段最简单的查询:(在生产环境最好不要用!!)

语法:

select * from tbl_name;
  • select:查询关键字
  • *:要查询字段的列表,*表示的是所有列表

2.指定列查询

语法:

select col_name[,col_name]... from tbl_name;
  • col_name可以为常量表达式,也可以是列与列之间运算的表达式。

拓展:给列名起别名

语法:

select col_name as other_name [,col_name as other_name]... from tbl_name;
  • other_name:别名

3.结果去重查询

语法:

select distinct col_name from tbl_name;

4.where条件查询

语法:

select col_name[,col_name]... from tbl_name where where_condition;

where_condition:查询条件,可以通过一些运算符

比较运算符

运算符说明
>,>=,<,<=大于,大于等于,小于,小于等于
=等于,对于NULL的比较是不安全的,比如NULL=NULL的结果还是NULL
<==>等于,对于NULL的比较是安全的,比如NULL<==>NULL的结果是TRUE
!=,<>不等于
value IN(option,…)如果value在option列表中,则返回TRUE,NOT IN则取反
value between a0 and a1如果value在a0到a1这个闭区间,则返回TRUE,NOT between则取反
is null是null
is not null不是null
like模糊匹配,%表示任意多个字符(包括0个),_表示任意一个字符,NOT like则取反
  • %表示任意多个字符:
    在这里插入图片描述
  • _表示任意一个字符:
    在这里插入图片描述

逻辑运算符(优先级not>and>or)

运算符说明
ADN多个条件必须都为TRUE(1),结果才是TRUE(1)
OR任意一个条件为TRUE(1),结果为TRUE(1)
NOT条件为TRUE(1),结果为FALSE(0)

5.分页查询

语法:

select ... from table_name [where...] [order by...] limit num;
#推荐第二条 
select ... from table_name [where...] [order by...] limit start, num;
select ... from table_name [where...] [order by...] limit num offset start;
  • start:表示从第几条开始,起始位置为第0条,起始位置若超过表中记录的范围,执行没有问题,
  • num:表示读取多少条记录
  • offset:偏移

6.order by排序

语法:

-- ASC为升序
-- DESC为降序
-- 默认为ASC
select ... from table_name [where...] order by {col_name | exper} [asc | desc], ...;

三、Update 修改

语法:

UPDATE table_name 
	SET assignment [,assignment]...
	[WHERE where_condition]
	[ORDER BY...]
	[LIMIT row_count]

四、Delete 删除

语法:

DELETE FROM tbl_name [WHERE where_condition] [ORDER BY...] [LIMIT row_count];

截断表

语法:

truncate tabl_name;
  • 会重置AUTO_INCREMENT
  • 只能对整表操作,不能像delete对部分操作

【拓展】

插入查询结果
语法:

INSERT [INTO] table_name [(column [,column] ...)] select ...;

http://www.kler.cn/a/348931.html

相关文章:

  • 使用 systemd 设置 PHP 程序为服务
  • 东方通 TongWebV7 Docker 部署与 Spring Boot 集成指南
  • OpenGL 自定义SurfaceView Texture C++预览Camera视频
  • windows C++-避免死锁(下)
  • 算法:974.和可以被K整除的子数组
  • 大模型相关文章
  • 离宝安羊台山登山口最近的停车场探寻
  • Brave编译指南2024 MacOS篇-为Brave项目做出贡献(八)
  • Java基础概览和常用知识(六)
  • 理解智能合约:区块链在Web3中的运作机制
  • 人工智能风险预警以及区块链解决方案探索
  • simple_transfer攻防世界
  • 搭建个人博客--1、前端页面
  • 【哈希】1. leetcode 1. 两数之和
  • 鸿蒙--播放器状态控制
  • springcloud之基于RabbitMQ消息总线方式刷新配置服务
  • Linux下的杀毒软件介绍
  • 使用OpenCV实现基于EigenFaces的人脸识别
  • 道路车辆功能安全 ISO 26262标准(4-3)—系统级产品开发
  • KinDEL数据集:包含8100万个小分子的库,为激酶抑制剂的发现提供了一个丰富且功能强大的资源。