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

数据库基础(7) . DML-基本操作

3.3.DML

DML 是 “Data Manipulation Language”(数据操作语言)的缩写,在数据库管理系统(DBMS)中用来处理已存在的数据库中的数据。

它主要包含用于插入(INSERT)、更新(UPDATE)、删除(DELETE

以及查询(SELECT,虽然 SELECT 有时被归类为其自己的类别,即数据查询语言,DQL)数据库记录的SQL命令。

这些操作允许用户修改存储在表中的数据。

在这里插入图片描述

3.3.0.测试用表

/*Navicat Premium Data TransferSource Server         : 00localSource Server Type    : MySQLSource Server Version : 80016 (8.0.16)Source Host           : localhost:3306Source Schema         : a1Target Server Type    : MySQLTarget Server Version : 80016 (8.0.16)File Encoding         : 65001Date: 26/10/2024 09:48:54
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (`stu_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学生主键#自增长',`stu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '学生姓名',`stu_sex` tinyint(4) NULL DEFAULT NULL COMMENT '学生性别#男=1, 女=0',`stu_birth` date NULL DEFAULT NULL COMMENT '学生生日',`stu_weight` double NULL DEFAULT NULL COMMENT '学生体重',`stu_height` int(11) NULL DEFAULT NULL COMMENT '学生身高',`team_id` int(11) NULL DEFAULT NULL COMMENT '团队外键',`stu_info` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',PRIMARY KEY (`stu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'student 学生' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES (1, '刘首一', 1, '2001-07-20', 61.3, 179, 1, '');
INSERT INTO `student` VALUES (2, '王小二', 1, '2004-03-05', 59.6, 182, 1, '热爱编程的计算机科学专业新生');
INSERT INTO `student` VALUES (3, '李小三', 0, '2002-12-13', 48.5, 168, 1, '对历史非常感兴趣');
INSERT INTO `student` VALUES (4, '赵小四', 1, '2004-05-29', 66.2, 180, 1, '对未来充满好奇的艺术系学生');
INSERT INTO `student` VALUES (5, '武五五', 0, '2005-05-05', NULL, NULL, NULL, NULL);
INSERT INTO `student` VALUES (6, '刘小六', 1, '2001-08-19', 56.6, 166, 3, '热衷于探索科学的奥秘');
INSERT INTO `student` VALUES (7, '闩小七', 1, '2004-03-05', 57.4, 172, 1, '对文学有着浓厚的兴趣');
INSERT INTO `student` VALUES (8, '赵静子', 0, '2004-11-26', 50, 156, 3, 'NULL');
INSERT INTO `student` VALUES (9, '张不开', 0, '2002-07-06', 60, 176, 2, 'null');
INSERT INTO `student` VALUES (10, '小金刚', 1, NULL, 59.6, 185, 2, '(Null)');
INSERT INTO `student` VALUES (11, '吴琼小', 0, '2005-07-22', 49.2, 166, 1, NULL);
INSERT INTO `student` VALUES (12, '张崖五小', NULL, '2005-01-08', 70.8, 182, 1, '一个电子游戏设计专业的新生');
INSERT INTO `student` VALUES (13, '何叶小露', 0, '2003-06-11', 44.5, 168, NULL, '一个喜欢旅行和摄影的人');
INSERT INTO `student` VALUES (14, '小沈阳', 1, NULL, 66.9, 173, 3, '热爱音乐');-- ----------------------------
-- Table structure for team
-- ----------------------------
DROP TABLE IF EXISTS `team`;
CREATE TABLE `team`  (`team_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '团队主键#自增长',`team_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '团队名称',`stu_count` int(11) NULL DEFAULT NULL COMMENT '成员数量',PRIMARY KEY (`team_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'team 团队' ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of team
-- ----------------------------
INSERT INTO `team` VALUES (1, '科技组', 7);
INSERT INTO `team` VALUES (2, '龙虎舞狮', 2);
INSERT INTO `team` VALUES (3, '玄武岩合唱团', 3);
INSERT INTO `team` VALUES (4, '考古兴趣班', NULL);SET FOREIGN_KEY_CHECKS = 1;

3.3.1.基本语法

3.3.1.1.查询表中的记录

语法 : select 字段1, 字段2,... from 表名

-- 查询 全部记录 全部字段
select stu_id, stu_name, stu_sex, stu_birth, stu_weight, stu_height, team_id, stu_info
from student;-- 查询部分字段
select stu_name, stu_sex, stu_birth
from student;-- 根据条件查询部分记录
select stu_id, stu_name, stu_sex, stu_birth, stu_weight, stu_height, team_id, stu_info
from student
where stu_id = 1;
3.3.1.2.增加一条

语法 : insert into 表名( 字段1, 字段2,... ) values( 值1, 值2, ... )

-- 插入全字段数据
insert into student(stu_id, stu_name, stu_sex, stu_birth, stu_weight, stu_height, team_id, stu_info)
values ( 20, '刘小翠', 0 , '2003-09-02' , 56.7 , 168 , 1, '学霸');-- 插入全字段数据, 字段可以省略
insert into student
values ( 21, '马小花', 0 , '2004-02-12' , 52.7 , 158 , 2, '喜欢运动');-- 插入部分字段数据
insert into student(stu_id, stu_name, stu_sex)
values ( 22, '肖火火', 1);-- 插入部分字段数据, id自增
insert into student(stu_name, stu_sex)
values (  '叶发', 1);
3.3.1.3.增加多条

语法 : insert into 表名( 字段1, 字段2 ) values( 值1, 值2 ), ( 值1, 值2 ), ( 值1, 值2 )

-- 插入多条
insert into student( stu_name, stu_sex, stu_birth )
values ('紫川禾', 1, '2002-09-08'), ('帝木', 0, '2001-06-09'), ('斯特森', 1, '2001-10-11');
3.3.1.4.从另一张表中导入数据

语法 : insert into 导入表名 ( 字段1, 字段2, ... ) select 字段1, 字段2, ... from 导出表名

先创建 stu 表并增加 字段

-- 创建表
create table stu(id int primary key auto_increment,name varchar(20) not null,sex boolean not null,birth date
);

student表中读取数据 导入到 stu表 中,

其中 sex 写成 固定的 1( 当然 这个字段也可以读取来)

insert into stu(name, sex, birth)
select  stu_name, 1, stu_birth
from student
where stu_birth is not null;
3.3.1.5.修改记录

语法 : update 表名 set 字段1 = 值1, 字段2 = 值2 where 条件

注意没有条件, 会修改表中所有记录

主键可以修改, 但通常不要这样做

-- 修改全部属性
update student
setstu_name = '刘小光',stu_sex = 1,stu_birth =  '2000-03-22',stu_weight = 65.6,stu_height = 178,team_id = 2,stu_info = '不喜欢运动'
where stu_id = 20;-- 只修改总分属性
update student
setstu_info = '喜欢写作'
where stu_id = 20;
3.3.1.6.删除记录

语法 : delete from 表名 where 条件

不加where 条件 会删除表中全部的记录

-- 删除
delete from student where stu_id = 20;

相关文章:

数据库基础(7) . DML-基本操作

3.3.DML DML 是 “Data Manipulation Language”(数据操作语言)的缩写,在数据库管理系统(DBMS)中用来处理已存在的数据库中的数据。 它主要包含用于插入(INSERT)、更新(UPDATE&…...

windows运行ffmpeg的脚本报错:av_ts2str、av_ts2timestr、av_err2str => E0029 C4576

问题描述 我目前的环境是: 编辑器: Microsoft Visual Studio Community 2022 (64 位) 运行的脚本是ffmpeg自带的remux样例,只不过我想用c语言执行这个样例。在执行的过程中报错如下图: C4576 后跟初始值设定项列表的带圆括…...

[mysql]mysql的DML数据操作语言增删改,以及新特性计算列,阿里巴巴开发手册mysql相关

1DML数据操作语言,增加删除改数据 插入数据INSERT 插入添加数据,两种方法 方式1:VALUES添加数据 #准备工作 USE atguigudb; CREATE TABLE IF NOT EXISTS emp1( id INT, name VARCHAR(15), hire_data DATE, salary DOUBLE(10,2)); SELECT * FROM emp1 INSERT INTO em…...

Github 2024-11-07 Go开源项目日报 Top10

根据Github Trendings的统计,今日(2024-11-07统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10HTML项目1Kubernetes: 容器化应用程序管理系统 创建周期:3618 天开发语言:Go协议类型:Apache License 2.0Star数量:106913 个Fork数…...

【黑盒测试】等价类划分法及实例

本文主要介绍黑盒测试之等价类划分法,如什么是等价类划分法,以及如何划分,设计等价类表。以及关于三角形案例的等价类划分法。 文章目录 一、什么是等价类划分法 二、划分等价类和列出等价类表 三、确定等价类的原则 四、建立等价类表 …...

LeetCode17. 电话号码的字母组合(2024秋季每日一题 59)

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits “23” 输出:[“…...

SQLite数据库是什么?DB Browser for SQLite是什么?

‌SQLite是一个轻量级的嵌入式数据库,它是一个遵守ACID原则的关系型数据库管理系统‌。SQLite的主要特点是占用资源少、无需配置、支持多种操作系统和编程语言,并且具有高性能和跨平台特性。 SQLite的基本概念和特性 ‌轻量级‌:SQLite的数据…...

核心概念解析Caffeine 缓存模型与策略

1. 简介 什么是 Caffeine Caffeine 是一个高性能的 Java 缓存库,专为提高内存缓存的效率和灵活性而设计。它由 Google 的 Guava Cache 项目启发,并提供了更高的性能和更丰富的功能集。Caffeine 以其卓越的缓存命中率和内存管理能力而广受欢迎&#xff…...

ubuntu 22.04 防火墙

Ubuntu(22.04)云主机SSH安全加固 https://blog.csdn.net/qq_44846097/article/details/141098092 ubuntu22.04防火墙策略 https://blog.csdn.net/sunyuhua_keyboard/article/details/139493464 Ubuntu 22.04 防火墙设置和开放端口命令 https://blog.c…...

【数据结构-合法括号字符串】力扣678. 有效的括号字符串

给你一个只包含三种字符的字符串,支持的字符类型分别是 ‘(’、‘)’ 和 ‘*’。请你检验这个字符串是否为有效字符串,如果是 有效 字符串返回 true 。 有效 字符串符合如下规则: 任何左括号 ‘(’ 必须有相应的右括号 ‘)’。 任何右括号 …...

ThreadX在STM32上的移植:F1,F4通用启动文件tx_initialize_low_level.s

在嵌入式系统开发中,实时操作系统(RTOS)的选择对于系统性能和稳定性至关重要。ThreadX是一种广泛使用的RTOS,它以其小巧、快速和可靠而闻名。在本文中,我们将探讨如何将ThreadX移植到STM32微控制器上,特别是…...

【算法】递归+深搜:814.二叉树剪枝

目录 1、题目链接 2、题目 3、解法(后序遍历) 4、代码 1、题目链接 814.二叉树剪枝(LeetCode) 2、题目 3、解法(后序遍历) 我们这次不使用宏观的观察法,而是从具体实现开始。 题目要求我们,去掉不含1的子树。 对于子树这个…...

spring Framework 特定条件下目录遍历漏洞(CVE-2024-38816)修复

spring Framework 特定条件下目录遍历漏洞(CVE-2024-38816)修复 漏洞描述 CVE-2024-38816: Path traversal vulnerability in functional web frameworks 通过功能性 Web 框架 WebMvc.fn 或 WebFlux.fn 提供静态资源的应用程序容易受到路径遍历攻击。攻…...

ESP32-C3 入门笔记03:VScode + flash_download_tool 下载烧录程序(ESP-IDF + PlatformIO)

ESP32-C3 支持多种烧录方式,主要包括以下几种: VS Code 串口烧录:使用 VS Code 配合 PlatformIO 或 ESP-IDF 插件进行串口烧录。串口连接通常使用 UART 接口,通过 USB 转串口芯片与电脑连接。步骤大致如下: 配置 VS Co…...

Node.js——fs模块-文件重命名和移动

1、在Node.js中,我们可以使用 rename 或 renameSync 来移动或重命名文件或文件夹 2、语法: fs.rename(oldPath,newPath,callback) fs.renameSync(oldPath,newPath) 参数说明: oldPath 文件当前的路径 newPath 文件新的路径 callback 操…...

vue2.0版本引入Element-ui问题解决

作者:fyupeng 技术专栏:☞ https://github.com/fyupeng 项目地址:☞ https://github.com/fyupeng/distributed-blog-system-api 留给读者 使用版本: vue:2.6.14 element-ui:2.15.14 一、问题及解决 1、安装后组件没有生效&#x…...

qt QTableView详解

1、概述 QTableView 是 Qt 框架中的一个高级视图类,用于以表格形式展示二维数据。它基于 QAbstractItemView,并与模型(通常是 QAbstractTableModel 或 QStandardItemModel)结合使用,以实现数据的展示和交互。QTableVi…...

将Notepad++添加到右键菜单【一招实现】

一键添加注册表 复制以下代码保存为 Notepad.reg,将红框内路径修改为自己电脑的“Notepad.exe路径”后,再双击运行即可。 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\NotePad] "Notepad" "Icon""D:\\N…...

Nature Methods | 基于流形约束的RNA速度推断精准解析细胞周期动态调节规律

生信碱移 VeloCycle算法 VeloCycle:基于流形约束的RNA速度推断在细胞周期动态中的精准解析 今天给各位老铁们分享一篇于2024年10月31号发表在 Nature Methods [IF: 36.1] 的文章:"Statistical inference with a manifold-constrained RNA velocity…...

在离线环境中使用sealos工具快速部署一套高可用的k8s服务集群

文章目录 项目基础信息工具版本测试环境 下载资源文件下载sealos二进制命令文件下载k8s安装镜像和组件资源下载docker离线安装包下载Docker Registry容器镜像 NFS共享配置coredns服务的DNS解析配置安装配置sealos、k8s服务安装sealos工具导入k8s及相关组件镜像安装 K8s 集群部署…...

ReactPress系列—Next.js 的动态路由使用介绍

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议,感谢Star。 Next.js 的动态路由使用介绍 Next.js 是一个流行的 React 框架,支持服务端渲染、静态站点生成和动态路由等功能,极大地简化…...

DevOps业务价值流:需求设计最佳实践

DevOps实践正推动着产品快速迭代与高质量交付,但需求设计作为产品开发的关键起点,往往被忽视。它不仅是收集与分析需求的过程,更是将需求转化为可实施产品特性的核心。本文深入探讨DevOps业务价值流中的需求设计,从调研、整理、原…...

A15基于Spring Boot的宠物爱心组织管理系统的设计与实现

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…...

RC高通滤波器Bode图分析(传递函数零极点)

RC高通滤波器 我们使得R1K,C1uF;电容C的阻抗为Xc; 传递函数 H ( s ) u o u i R X C R R 1 s C R s R C 1 s R C (其中 s j ω ) H(s)\frac{u_{o} }{u_{i} } \frac{R }{X_{C}R} \frac{R }{\frac{1}{sC}R} \fra…...

SpeechT5 模型

微软开源的 SpeechT5 语音模型,主要包括以下功能 语音转文字:用于自动语音识别(ASR)。文字转语音:用于合成音频(TTS)。语音转语音:用于不同声音之间的转换或进行语音增强。 T5 网络…...

网站用户行为分析:方法、工具与实践

摘要:随着互联网发展,网站竞争激烈,用户行为分析对网站建设与运营至关重要。本文综合介绍了基于服务器日志和客户端收集用户行为数据的方法,包括各自优缺点及相关工具;阐述了网站用户分析的五大常规方法;以…...

医疗医药企业新闻稿怎么写?健康行业品牌宣传背书的报纸期刊杂志媒体有哪些

【本篇由 言同数字全球媒体 原创】在撰写医疗、医学和制药相关稿件时,遵循一定的结构和内容规范至关重要。以下是一些写作建议以及适合发表健康类稿件的报纸、杂志及新闻媒体的推荐。 一、稿件写作结构 标题 原则:简洁、明了,能够准确传达主…...

2024-11-06 问AI: [AI面试题] 人工智能如何用于欺诈检测和网络安全?

文心一言 人工智能在欺诈检测和网络安全领域的应用日益广泛,其强大的数据处理和分析能力为这一领域带来了革命性的变化。以下详细介绍人工智能在欺诈检测和网络安全中的具体应用: 一、欺诈检测 身份认证和访问控制: 通过验证用户的身份信息…...

个人3DCoat设置分享

个人3DCoat设置分享 将当前选择的对象置于屏幕正中显示: /键 版本3DCoat 2023 3DCoat自定义快捷键: Quick Pick: Q Transform: T Primitives: Shift A Cut Off : K Res : Shift Clear Space : Delete 隐藏/显示对象: 点击Sculpt Tree中的眼睛按钮 显示隐…...

Spark 程序开发与提交:本地与集群模式全解析

Spark 的介绍与搭建:从理论到实践-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 目录 一、本地开发与远程提交测试 (一)问题背景 (二)解决方案 集群环境准…...