【数据库初阶】SQL--DML

文章目录

  • DML
  • 1. 基本介绍
  • 2. 添加数据
  • 3. 修改数据
  • 4. 删除数据


更多数据库MySQL系统内容就在以下专栏:
专栏链接:数据库MySQL


DML

1. 基本介绍

DML英文全称是Data Mainipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。

三大关键字:

  • 添加数据:INSERT
  • 修改数据:UPDATE
  • 删除数据:DELETE

2. 添加数据

  1. 给指定字段添加数据
INSERT INTO 表名(字段名1, 字段名2, ...) VALUES (1,2, ...);

案例:

在emloyee 表中添加一组数据

示例代码:

mysql> 
mysql> insert into emloyee (id, workno, name, gender, age, idcard, entrydate) values (1, '1', '张三', '男', 15, '012345678912345678', '2001-01-01');
Query OK, 1 row affected (0.00 sec)mysql> 
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard             | entrydate  |
+----+--------+------+--------+-----+--------------------+------------+
|  1 | 1      | 张三 ||  15 | 012345678912345678 | 2001-01-01 |
+----+--------+------+--------+-----+--------------------+------------+
1 row in set (0.03 sec)mysql> 
  1. 给全部字段添加数据
INSERT INTO 表名 VALUES (1,2, ...);

案例:

在emloyee 表给全部字段添加一组数据

示例代码:


mysql> 
mysql> insert into emloyee values(2, '2', '李四', '男', 18, '012345678912345679', '2002-02-02');
Query OK, 1 row affected (0.01 sec)mysql> 
mysql> 
mysql> 
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard             | entrydate  |
+----+--------+------+--------+-----+--------------------+------------+
|  1 | 1      | 张三 ||  15 | 012345678912345678 | 2001-01-01 |
|  2 | 2      | 李四 ||  18 | 012345678912345679 | 2002-02-02 |
+----+--------+------+--------+-----+--------------------+------------+
2 rows in set (0.04 sec)mysql> 
  1. 批量添加数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (1,2, ...),(1,2, ...);
INSERT INTO 表名 VALUES(1,2, ...), (1,2, ...), (1,2, ...);

案例:

在emlyee 表中,批量添加两条数据。

示例代码:

mysql> 
mysql> insert into emloyee (id, workno, name, gender, age, idcard, entrydate) values (3,'3', '王五', '男', 13, '012345678901234567', '2003-03-03'),(4, '4', '哈哈', '男', 14, '012345678912345689', '2004-04-04');
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0mysql> 
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard             | entrydate  |
+----+--------+------+--------+-----+--------------------+------------+
|  1 | 1      | 张三 ||  15 | 012345678912345678 | 2001-01-01 |
|  2 | 2      | 李四 ||  18 | 012345678912345679 | 2002-02-02 |
|  3 | 3      | 王五 ||  13 | 012345678901234567 | 2003-03-03 |
|  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2004-04-04 |
+----+--------+------+--------+-----+--------------------+------------+
4 rows in set (0.04 sec)mysql> 

注意:

  • 插入数据时, 指定的字段顺序需要与值的顺序时一一对应的。
  • 字符串和日期型数据应该包含在引导中。
  • 插入的数据大小,应该在字段的规定范围内。

3. 修改数据

基本语法:

UPDATE 表名 SET 字段名1=1, 字段名2=2, ...[WHERE条件];

注意:

修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

案例1:

修改id为1的数据,将name 修改为嘿嘿。

示例代码:

mysql> 
mysql> update emloyee set name='嘿嘿' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> 
mysql> 
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard             | entrydate  |
+----+--------+------+--------+-----+--------------------+------------+
|  1 | 1      | 嘿嘿 ||  15 | 012345678912345678 | 2001-01-01 |
|  2 | 2      | 李四 ||  18 | 012345678912345679 | 2002-02-02 |
|  3 | 3      | 王五 ||  13 | 012345678901234567 | 2003-03-03 |
|  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2004-04-04 |
+----+--------+------+--------+-----+--------------------+------------+
4 rows in set (0.04 sec)mysql> 

案例2:

修改id为1的数据,将name 修改为小马,gender 修改为 女。

示例代码:

ysql> 
mysql> update emloyee set name = '小马', gender = '女' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> 
mysql> 
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard             | entrydate  |
+----+--------+------+--------+-----+--------------------+------------+
|  1 | 1      | 小马 ||  15 | 012345678912345678 | 2001-01-01 |
|  2 | 2      | 李四 ||  18 | 012345678912345679 | 2002-02-02 |
|  3 | 3      | 王五 ||  13 | 012345678901234567 | 2003-03-03 |
|  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2004-04-04 |
+----+--------+------+--------+-----+--------------------+------------+
4 rows in set (0.05 sec)mysql> 

案例3:

将所有的员工入职日期修改为 2020-05-20。

示例代码:

mysql> 
mysql> update emloyee set entrydate='2020-05-20';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4  Changed: 4  Warnings: 0mysql> 
mysql> 
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard             | entrydate  |
+----+--------+------+--------+-----+--------------------+------------+
|  1 | 1      | 小马 ||  15 | 012345678912345678 | 2020-05-20 |
|  2 | 2      | 李四 ||  18 | 012345678912345679 | 2020-05-20 |
|  3 | 3      | 王五 ||  13 | 012345678901234567 | 2020-05-20 |
|  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2020-05-20 |
+----+--------+------+--------+-----+--------------------+------------+
4 rows in set (0.04 sec)mysql> 

4. 删除数据

基本语法:

DELETE FROM 表名[WHERE 条件];

注意:

  • DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
  • DELETE语句不能删除某一个字段的值(可以使用UPDATE删除某一个字段的值,将其置为NULL即可)。

案例1:

删除 gender 为女的员工。

示例代码:

mysql> 
mysql> delete from emloyee where gender='女';
Query OK, 1 row affected (0.00 sec)mysql> 
mysql> 
mysql> select * from emloyee;
+----+--------+------+--------+-----+--------------------+------------+
| id | workno | name | gender | age | idcard             | entrydate  |
+----+--------+------+--------+-----+--------------------+------------+
|  2 | 2      | 李四 ||  18 | 012345678912345679 | 2020-05-20 |
|  3 | 3      | 王五 ||  13 | 012345678901234567 | 2020-05-20 |
|  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2020-05-20 |
+----+--------+------+--------+-----+--------------------+------------+
3 rows in set (0.04 sec)mysql> 

案例2:

删除所有员工

示例代码:

mysql> delete from emloyee;
Query OK, 3 rows affected (0.01 sec)mysql> 
mysql> 
mysql> 
mysql> select * from emloyee;
Empty setmysql> 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22968.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试被问准备多久要孩子?这样回答

听说有人面试被问到多久要孩子的问题,当时觉得很尴尬,不知如何回答,怕回答的不好不被录用,其实你可以这样回答,让面试官心满意足。 A 面试官:结婚了吗? 我:结婚了 面试官&#xff1…

Vuforia AR篇(六)— Mid Air 半空识别

目录 前言一、什么是Mid Air?二、使用步骤三、示例代码四、效果 前言 增强现实(AR)技术正在改变我们与数字世界的互动方式。Vuforia作为先进的AR开发平台,提供了多种工具来创造引人入胜的AR体验。其中,Mid Air功能以其…

使用【AliceCarousel】实现轮播功能

无论是在react还是vue项目中,我们都可能会遇到需要轮播的场景,在实习中,遇到了实现组件轮播的需求,下面进行简要记录。 1. 安装AliceCarousel npm install react-alice-carousel --save 2. 引入AliceCarousel组件 import Reac…

俄罗斯人有哪些常用的口头禅,柯桥零基础俄语培训

Хватит! 够了! -Хватит, не стоит больше шуметь! 够了, 不要再吵了! -Это тебя не касается! 这与你无关! Блин! 靠! Блин这个词绝对是俄罗斯人最爱用的口语表达之一,…

Velox Types介绍和源码解析

Velox 支持 scalar(有大小没有方向)类型和复杂类型。标量类型分为一组固定的物理类型和一组可扩展的逻辑类型。物理类型决定数据在内存中的布局。逻辑类型向物理类型添加附加语义。 Phsical Types 每个物理类型都是用c type实现的,不会存储…

右键Open with VSCode打开Vue3项目

之前看到一些同事能够对项目根目录进行右键打开项目到 Microsoft VS Code ,当时觉得挺不错的,于是乎今天自己折腾了一遍。 目录 1、创建vue3项目 2、更改注册表 # 打开注册表编辑器(Registry Editor) # 导航到以下注册表路径 …

前端_防抖节流

目录 一、防抖(debounce) 1.使用场景 2.js代码实现 3.lodash工具库使用 二、节流(throttle) 1.使用场景 2.js代码实现 3.lodash工具库使用 前端做项目,为了防止用户因为网络不好数据响应慢,导致进行…

信不信,马上教会你Purple Pi OH开发板之ADB常用命令

开源鸿蒙硬件方案领跑者 触觉智能 本文适用于在Purple Pi OH开发板进行分区镜像烧录。触觉智能的Purple Pi OH鸿蒙开源主板,是华为Laval官方社区主荐的一款鸿蒙开发主板。 该主板主要针对学生党,极客,工程师,极大降低了开源鸿蒙开…

自然资源-关于加强规划实施监督管理的指导意见(浙江省自然资源厅学习借鉴)

自然资源-关于加强规划实施监督管理的指导意见(浙江省自然资源厅(征求意见稿)学习借鉴 以下为征求意见稿的内容,很多干活: 各市、县(市、区)自然资源主管部门: 为加强国土空间规划…

C#-Switch判断分支语句

Switch判断分支语句 作用 : 让顺序执行的代码 产生分支 判断变量和常量相同时 才会执行 用法: Switch后面的变量值与case后面的常量相同时,case内的代码才会执行,如果都不满足则执行default内的代码 break的作用: 跳出 不会再执行判断 …

lua字符串模式匹配

string.gmatch()不支持匹配首字符 string.gmatch(s, pattern)中,如果s的开头是’^字符,不会被当成首字符标志,而是被当成一个普通字符。 比如 s"hello world from lua" for w in string.gmatch(s, "^%a") doprint(w) e…

SQL学习小记(五)解决python连接Oracle数据库出现的问题

python运行时出现错误DPI-1047: Cannot locate a 64-bit Oracle Client library: “The specified module could not be 解决python连接Oracle数据库出现的问题 1. 配置本地Oracle的path2. python10的详细安装过程2.1. python10下载2.2. python10安装2.3.额外操作 3. python 安…

纷享销客BI典型场景案例解析

本章以具体案例来说明纷享销客一体化BI智能分析平台为企业在实际使用过程中带来的价值。 1)场景一:销售经理想要在周会上关注各销售人员的客户及订单情况,并在每周一上午9点可以把上周的整体情况周期性的将报表推送给相关销售人员。 具体图表展示样式及…

BIO 探究二

接上文 BIO 初探究 文章目录 前言一、使用netty二、nio 客户端 与 bio 服务端,bio 服务端 与 nio 客户端总结# 未完待续 前言 提示:验证阻塞到底阻塞在什么地方 提示:以下是本篇文章正文内容,下面案例可供参考 一、使用netty 上…

当企业越来越难做,精益变革能带来什么改变?

随着技术的不断进步和消费者需求的日益多样化,传统的管理模式和生产方式已经难以适应时代的发展。越来越多的企业开始陷入困境,难以在激烈的市场竞争中立足。然而,正是在这样的背景下,精益变革应运而生,为企业带来了前…

使用html2canvas和jspdf导出pdf包含跨页以及页脚

首先要下载两个文件,一个为html2canvas.min.js,另一个是jspdf.umd.min.js这两个文件分别下载的地址我也附录上,都在官网git: html2canvas.min.js: https://html2canvas.hertzen.com/dist/html2canvas.min.js jspdf.umd.min.js: …

代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

一、704. 二分查找 题目链接:https://leetcode.cn/problems/binary-search/description/ 文章讲解:https://programmercarl.com/0704.%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE.html 视频讲解:https://www.bilibili.com/video/BV1fA4y1o715 1.…

感染恶意代码之后怎么办?

隔离设备 立即将感染设备与网络隔离,断开与互联网和其他设备的连接。这可以防止恶意代码进一步传播到其他设备,并减少对网络安全的威胁。 确认感染 确认设备是否真的感染了恶意代码。这可能需要使用安全软件进行全面扫描,以检测和识别任何已…

前端实现大文件分片并行上传、断点续传、秒传(完整解析)

一、总体流程图 二、具体步骤 简单理解:前端先将文件切割多份,在进行上传,由后端进行切片合并操作。 具体逻辑: 1. 前端选中上传文件(如果是批量上传就把选中的文件存入选中文件列表数组中,后续在遍历上…

【Vue3-Element-Admin 动态路由】涉及到的配置

Vue3-Element-Admin 动态路由 涉及到的配置 0. Vue3-Element-Admin 项目地址1. router/index.ts2. Mock接口模拟数据3. store/permission4. api/menu5. plugins/permission 这篇文章讲的主要是 Vue3-Element-Admin 差不多内置的动态路由配置 (根据后端接口渲染) 先把开发环境&a…