数据库学习记录03

ops/2024/11/29 21:13:48/

DML【数据操作语言】

DQL是对数据的查操作,DML就是操作:增、删、改。数据库的基础操作就是:增删改查(CRUD);

1.插入(增)

#语法1
insert into 表名(字段名1,...) values(值1,...);#语法2
insert into 表名(字段名1,...) 子查询;#语法3
insert into 表名 set 列名=值, 列名=值, ...

 注意点

  • 字段个数和值的个数必须一致
  • 字段类型和值类型一致或兼容,而且一一对应
  • 可以为空的字段,可以不用插入值,或者用null填充
  • 不可以为空的字段,必须插入值
  • 字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致

#方式一:经典插入
1.插入的值的类型要与类的类型一致或兼容
insert into beauty(id, name, sex, borndate, phone ,photo) values (13, '陈明','男','1990-4-23', '1898888888', null , 2);#2.不可以为null的列必须插入值。可以为null的列可省略。#方式一:显式
insert into beauty(id, name, sex, borndate, phone, photo) values(14,'于瑶莉', '1980-5-23', '1898888888', null);#方式二:隐式
insert into beauty(id, name, sex, phone) values(15, '明镜珏', '女', '138888888');#3.列的顺序可以调换,但要与值对应
insert into beauty(name, sex, id, phone) values ('清影媂', '女', 16, '11001');#4.列数和值的个数必须一致
#5.可以省略列名,默认所有列,而且列的顺序和表中的顺序一致
insert into beauty values (17, '剑钦天', '男', null, '111', null);#方式二
insert into beauty set id=18, name='炽雨', phone='887';#区别
#方式一支持插入多行,方式二不支持
insert into beauty values (17, '剑钦天1', '男', null, '111', null)
,(17, '剑钦天2', '男', null, '111', null)
,(17, '剑钦天3', '男', null, '111', null);
#方式一支持子查询,方式二不支持
insert into beauty(id, name, phone) select 26, '顾明竹', '11809841';insert into beauty(id, name, phone) select id, name, '1234567' from people where id <3;

2.删除(删)

#单表的删除
delete from 表名 where 筛选条件;#sql语法
delete 别名1, 别名2 from 表1 别名1 inner|left|right join 表2 别名2 on 连接条件 where 筛选条件 limit 条目数#truncate 清空全表(慎用), 包括自增序列也清除
truncate table 表名;

注意点

  •  delete可以加where条件,truncate不能加where
  • truncate删除,效率高一丢丢。
  • 假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,二truncate删除后,再插入数据,自增长列的值从1开始。
  • truncate删除没有返回值,delete删除后返回删除的行数。
  • truncate删除不能回滚,delete删除可以回滚。
#方式一:delete
#1.单表的删除
#案例:删除手机号以9结尾的美的信息
delete from beauty where phone like '%9';#2.多表的删除
#案例:删除人为张无忌的美的信息
delete b from beauty b inner join people po on b.people.id = po.id
where po.peoleName = '张无忌';#方式二:truncate 语句
truncate table people;

3.修改(改)

语法

update 表名 set 列=新值, ... where 筛选条件;
#1.修改单表的记录
#案例1:修改beauty表中姓唐的电话为1389999
update beauty set phone = '1389999' where name like '唐%';#案例2:修改people表中id为2的名称为翼铭,魅力值10
update boys set boyname = '翼铭', usercp = 10 where id = 2;#2.修改多表的记录
#修改没有人的 美的人的编号都为2号
update people po right join beauty b on po.id = b.id set b.people.id = 2
where po.id is null;


http://www.ppmy.cn/ops/137744.html

相关文章

67 mysql 的 间隙锁

前言 我们这里主要是 来看一下 mysql 中的 间隙锁 间隙锁 主要存在的地方一般就是在 查询主键查询不到, 索引查询查询不到 的场景 然后 我们这里来调试一下 这里的整个流程, 间隙锁的加锁 以及 间隙锁的使用, 以及 间隙锁的释放 从逻辑上来说 间隙锁 锁定的是一个区间, 按照…

基于 Docker 的持续集成/持续交付(CI/CD)流水线构建实战

在当今竞争激烈的软件开发领域&#xff0c;快速、高效且可靠地交付软件产品成为企业取得成功的关键因素之一。持续集成/持续交付&#xff08;CI/CD&#xff09;作为一种先进的软件开发实践&#xff0c;能够显著缩短开发周期、提高软件质量&#xff0c;并增强团队的协作效率。而…

CSP/信奥赛C++语法基础刷题训练(26):洛谷B3827:[NICA #2] 高考组题

CSP/信奥赛C语法基础刷题训练&#xff08;26&#xff09;&#xff1a;洛谷B3827&#xff1a;[NICA #2] 高考组题 题目描述 高考是能决定每个考生命运的考试&#xff0c;因此作为组卷人的 Aya 将高考组卷视为重中之重。现在 Aya 有 n n n 个备选的高考题。 对于每一道可能选入…

【Flink】快速理解 FlinkCDC 2.0 原理

快速理解 FlinkCDC 2.0 原理 要详细理解 Flink CDC 原理可以看看这篇文章&#xff0c;讲得很详细&#xff1a;深入解析 Flink CDC 增量快照读取机制 (https://juejin.cn/post/7325370003192578075)。 FlnkCDC 2.0&#xff1a; Flink 2.x 引入了增量快照读取机制&#xff0c;…

【C 语言】深入剖析双指针法实现字符串反转

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 &#x1f4af;前言&#x1f4af;字符串反转的实现1. 代码实例2. 代码详解3. 示例分析4. 指针与字符数组的关系5. 代码中的注意事项6. 扩展&#xff1a;改进与优化 &#x1f4af;小结 &#x1f4af;前言…

Maven快速入门及其POM

Maven是一款用于管理和构建Java项目的工具&#xff0c;是Apache旗下的一个开源项目Maven主要的作用&#xff1a; 1.依赖管理&#xff1a;Maven可以方便快捷的管理项目依赖的资源&#xff08;jar包&#xff09;&#xff0c;避免版本冲突的问题不使用Maven&#xff1a;如果在项目…

mongodb shard 分片集群基础概念

目录 一、shard 集群 二、Config Server 1、config.shards 2、config.database 3、config.collection 4、config.chunks 5、config.settings 6、其他 三、shard机制 1、Primary Shard 2、Shard Key 2.1 范围分片 2.2 哈希分片 2.3 Shard Key重定义 2.4 版本约束…

自然语言处理: RAG优化之Embedding模型选型重要依据:mteb/leaderboard榜

本人项目地址大全&#xff1a;Victor94-king/NLP__ManVictor: CSDN of ManVictor git地址&#xff1a;https://github.com/opendatalab/MinerU 写在前面: 笔者更新不易&#xff0c;希望走过路过点个关注和赞&#xff0c;笔芯!!! 写在前面: 笔者更新不易&#xff0c;希望走过路…