数据库学习记录03

embedded/2024/11/30 3:48:12/

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/embedded/141645.html

相关文章

本地化部署 私有化大语言模型

本地化部署 私有化大语言模型 本地化部署 私有化大语言模型Anaconda 环境搭建运行 代码概述环境配置安装依赖CUDA 环境配置 系统设计与实现文件处理与加载文档索引构建模型加载与推理文件上传与索引更新实时对话与文档检索Gradio 前端设计 主要功能完整代码功能说明运行示例文件…

Docker安装ubuntu1604

首先pull镜像 sudo docker run -d -P m.daocloud.io/docker.io/library/ubuntu:16.04国内使用小技巧&#xff1a; https://github.com/DaoCloud/public-image-mirror pull完成之后查看 sudo docker images 运行docker sudo docker run -d -v /mnt/e:/mnt/e m.daocloud.io/…

面向对象高级-抽象类、接口

一、final 1、认识final关键字 final关键字是最终的意思&#xff0c;可以修饰&#xff1a;类、方法、变量。 修饰类&#xff1a;该类被称为最终类&#xff0c;特点是不能被继承了。&#xff08;一般是用在工具类中&#xff09; 修饰方法&#xff1a;该方法被称为最终方法&a…

SQLModel与FastAPI结合:构建用户增删改查接口

SQLModel简介 SQLModel是一个现代化的Python库&#xff0c;旨在简化与数据库的交互。它结合了Pydantic和SQLAlchemy的优势&#xff0c;使得定义数据模型、进行数据验证和与数据库交互变得更加直观和高效。SQLModel由FastAPI的创始人Sebastin Ramrez开发&#xff0c;专为与FastA…

List集合的进一步学习:性能优化

|| 持续分享系列教程&#xff0c;关注一下不迷路 || || B站视频教程&#xff1a;墨轩大楼 || || 知识星球&#xff1a;墨轩编程自习室 || 在Java集合框架中&#xff0c;选择合适的集合类型和使用正确的操作…

迅为rk3568开发板定制扩展分区SDK源码编译-编译 Ubuntu-全自动编译图形化界面

首先在 linux 源码目录下输入以下命令进入编译的 UI 界面&#xff0c;进入之后如下所示&#xff1a; ./build.sh 然后选择第四个 all&#xff0c;就会进入到文件系统类型选择页面&#xff0c;如下所示&#xff1a; 由于本小节全自动编译的是 ubuntu 系统&#xff0c;所以这…

【es6】原生js在页面上画矩形层级等问题的优化(二)

接上篇的业务&#xff0c;实现了基础的画图&#xff0c;选中与拖动的效果&#xff0c;还有点细节问题&#xff0c;多个元素重叠在一起&#xff0c;选中的不能在最上面显示&#xff0c;以及最后绘制的元素要能覆盖前面绘制的&#xff0c; 优化如下 优化后效果 在后面绘制的矩形…

Vue源码巧妙设计

Vue.js的源码中蕴含了许多巧妙的设计&#xff0c;这些设计使得Vue成为一个高效、灵活且易于使用的前端框架。以下是对Vue源码中一些巧妙设计的详细讲解&#xff1a; 1. 响应式系统 Vue的响应式系统是其核心特性之一&#xff0c;它允许Vue追踪数据的变化&#xff0c;并在数据变…