数据的插入、修改和删除

news2024/12/25 9:23:57

一、 插入数据

1. 向表中所有字段插入数据

(1) 指定所有字段及其相对应的值

insert into 表名(字段1,字段2,……) values(字段值1,字段值2,……);

**【案例】**向goods表中插入一条新记录
步骤1: 执行以下语句,选择数据库db_shop。

use db_shop;

步骤2: 执行以下语句,向goods表中插入一条新记录。

insert into goods(id,type,name,price,num,add_time) values(1,'书籍','西游记',50.4,20,'2018-01-01 13:40:40');

步骤3: 插入成功后执行SQL语句,查看表中的所有记录。

select * from goods;

在这里插入图片描述

(2) 不指定字段只列出字段值

insert into 表名 values (字段值1,字段值2,……);

步骤1: 选择数据库db_shop后,执行以下语句向goods表中插入一条新记录。

insert into goods values(2,'糖类','牛奶糖',7.5,200,'2018-02-02 13:40:40');

在这里插入图片描述

注意!!!
(1) 指定所有字段:字段顺序可以不按照表中字段顺序排列,字段值和字段之间一一对应既可
(2) 不指定所有字段:字段值必须和表中字段顺序一致
(3) 当插入值的数据类型为字符串和日期时,需要将值包含在英文格式的引号中
(4) 当插入值的数据类型为enum和set时,插入的值必须是预定义列表中的一个值。如果插入的值不在列表中,MySQL将会报错

2. 向表中指定字段插入数据

insert into 表名(字段1,字段2,……) values(字段值1,字段值2,……)

【案例】 向goods表中指定字段插入数据

步骤1: 选择数据库db_shop后,执行以下语句向goods表中插入记录。

insert into goods(type,name,price) values('糖类','水果糖',2.5);

步骤2: 插入成功后查看数据。

select * from goods;

在这里插入图片描述

3. 同时插入多条数据

insert into 表名(字段1,字段2,……) values(字段值1,字段值2,……)(字段值1,字段值2,……)(字段值1,字段值2,……)

**【案例】**向goods表中插入多条记录。
步骤1: 选择数据库db_shop后,执行以下语句向goods表中插入多条记录。

INSERT INTO goods(id,type,name,price,num,add_time) VALUES
(4,'服饰','休闲西服',800,null,'2016-04-04 13:40:40'),
(5,'饮品','果汁',3,70,'2016-05-05 13:40:40'),
(6,'书籍','论语',109,50,'2016-06-06 13:40:40');

步骤2: 插入成功后查看数据。

select * from goods;

在这里插入图片描述

4.查看表中的数据:

select * from 表名;

总结
(1)当字段设置了自增约束时,系统会根据记录的顺序自动生成对应的编号(id);
(2)当字段设置了默认约束时,插入数据的时候,该字段没有赋值,系统会将该字段的值)设置成对应的默认值;
(3)当字段没有设置默认值约束和自增约束时,插入数据的时候,该字段没有赋值,系统会将该字段的值设置成null;
(4)当字段设置了非空约束时,插入数据的时候,必须给该字段赋值。

4. 将其他表中的数据插入表中

insert into1(字段1,字段2,……) select 字段1,字段2,…… from2

【案例】将goods表中的数据插入到new_goods表中。
步骤一: 选择数据库db_shop后,执行以下语句创建new_goods表,其表结构与goods表相同。

CREATE TABLE new_goods (
id INT(11) PRIMARY KEY AUTO_INCREMENT,
type VARCHAR(30) NOT NULL,
name VARCHAR(30) UNIQUE,
price DECIMAL(7,2) UNSIGNED,
num INT(11) DEFAULT 0,
add_time DATETIME
);

步骤2: 执行以下SQL语句,将goods表中的数据插入到new_goods表中。

INSERT INTO new_goods(id,type,name,price,num,add_time)
SELECT id,type,name,price,num,add_time FROM goods;

在这里插入图片描述

步骤3: 插入成功后查看数据,结果如下所示。

select * from new_goods;

在这里插入图片描述

某些情况下,只需要将表中部分字段的数据插入到另一张表中,此时可以通过以下方法实现。
**【案例】**创建新表test_goods,并插入数据。
步骤1: 选择数据库db_shop后,执行以下语句创建test_goods表。

CREATE TABLE test_goods(
g_id INT(11) PRIMARY KEY AUTO_INCREMENT,
g_name VARCHAR(30) UNIQUE,
g_price DECIMAL(7,2) UNSIGNED
);

在这里插入图片描述

**步骤2:**执行以下语句,将goods表中id,name和price字段的数据插入到test_goods表中。

INSERT INTO test_goods(g_id,g_name,g_price) 
SELECT id,name,price FROM goods;

在这里插入图片描述

  • 两张表的字段名可以不一样,但数据类型必须一样。
  • 插入数据时,SQL语句中的字段顺序可以与表中的字段顺序不同,但两张表中的字段顺序必须一一对应

二、 修改数据

修改表中某个字段的字段值

1.修改所有数据某个字段值

update 表名 set 字段名1=新字段值1,字段名2=新字段值2,……;

**【案例】**修改goods表中的num值。
步骤1: 选择数据库db_shop后,执行以下语句将goods表中的num值统一修改为“0”。

UPDATE goods SET num=0;

在这里插入图片描述

步骤2: 修改成功后查看数据,结果如下所示。

SELECT * FROM goods;

在这里插入图片描述

2.修改指定数据某个字段值

update 表名 set 字段名1=新字段值1,字段名2=新字段值2,…… where 条件;

**【案例】**修改goods表中指定数据。

步骤1: 选择数据库db_shop后,执行以下语句,修改goods表中type值为“书籍”的记录,将其num值修改为“10”。

UPDATE goods SET num=10 WHERE type='书籍';

在这里插入图片描述

步骤2: 修改成功后查看数据

SELECT * FROM goods;

在这里插入图片描述

三、 删除数据

1. 删除表中所有数据

delete from 表名;

【案例】 删除new_goods表中所有数据。
步骤1: 选择数据库db_shop后,执行以下语句删除new_goods表中所有数据。

DELETE FROM new_goods;

在这里插入图片描述

步骤2: 删除成功后查询数据,结果如下所示。

SELECT * FROM new_goods;

在这里插入图片描述

2. 删除指定数据

delete from 表名 where 条件;

【案例】删除goods表中id值大于5的记录。

步骤1: 选择数据库db_shop后,执行以下语句删除goods表中id值大于5的记录。

DELETE FROM goods WHERE id>5;

在这里插入图片描述

步骤2: 删除成功后查询数据,结果如下所示。

SELECT * FROM goods;

在这里插入图片描述

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

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

相关文章

C语言【数组】

一、数组基本语法 1. 什么是数组 数组是c语言的一种数据结构,用于存储一组具有相同数据类型的数据; 数组中每个元素可以通过下标进行访问,索引从0开始,最大值为数组长度-1。 2. 数组的使用 类型 数组名[元素个数]; int arr[5]…

网络基础-TCP/IP和OSI协议模型

一、OSI和TCP/IP模型 二、OSI七层模型 三、TCP/IP模型 参考:https://www.cnblogs.com/f-ck-need-u/p/7623252.html

JS-42-Node.js01-Node.js介绍

一、浏览器大战 众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准。 后来,微软通过IE击败了Netscape后一统桌面,结果几年时间,浏览器毫无进步。(2001年推出…

最优贸易题解

图论学习总结-CSDN博客https://blog.csdn.net/smile__everydays/article/details/137881868?spm1001.2014.3001.5501点击上面连接根据目录即可找到最优贸易的题解

Python文件操作大全

1 文件操作 1.1 文件打开与关闭 1.1.1 打开文件 在Python中,你可以使用 open() 函数来打开文件。以下是一个简单的例子: # 打开文件(默认为只读模式) file_path example.txt with open(file_path, r) as file:# 执行文件操作…

系统代理与全局代理服务器的区别

系统代理与全局代理服务器的区别 嘿,朋友们!今天我来给大家讲解一下系统代理与全局代理服务器的区别。你知道吗?在我们使用互联网的时候,经常需要通过代理服务器来隐藏我们的真实网络身份。那么系统代理和全局代理服务器到底有什…

XXL-JOB v2.4.1 版本正式发布!

v2.4.1 Release Notes 1、【优化】多个项目依赖升级至较新稳定版本,涉及 netty、groovy、springboot、mybatis 等;2、【修复】“CVE-2022-43402” groovy 低版本漏洞修复。3、【修复】“CVE-2024-29025” netty 低版本漏洞修复。4、【修复】“CVE-2024-…

【C++进阶】--特殊类设计

1. 设计一个类,不能被拷贝 C98 将拷贝构造函数与赋值重载只声明不定义,并且将其访问权限设置为私有即可 class CopyBan { // ... private:CopyBan(const CopyBan&);CopyBan& operator(const CopyBan&); //... };C11 class CopyBan { // .…

c语言中声明的问题【求个关注!】

文章目录 1 变量的声明与定义(1)定义与声明的区别:(2)为什么要区分定义与声明?(3)extern是什么 ?(4)举例: 2 函数的声明:函数声明的格…

@Scheduled注解简介

一、注解介绍 Scheduled注解是Spring Boot提供的用于定时任务控制的注解,主要用于控制任务在某个指定时间执行,或者每隔一段时间执行。 二、源码 package org.springframework.scheduling.annotation;import java.lang.annotation.Documented; import…

第十五届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组(基础题)

试题 C: 好数 时间限制 : 1.0s 内存限制: 256.0MB 本题总分:10 分 【问题描述】 一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 )上 的数字是奇数,偶数位(十位、千位、十万位 &…

C++(类和对象---下)

目录 初始化列表构造函数?拷贝构造?浅谈explicit关键字友元 内部类static成员总结 初始化列表 引入初始化列表:简化代码,提高效率 在编程中,初始化列表是一种用于在创建对象时初始化成员变量的快捷方式。通过初始化列…

python爬虫原理和编程实战:爬取CSDN博主的账号信息

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

时间同步服务项目练习

一.配置server主机要求如下: 1.server主机的主机名称为 ntp_server.example.com 2.server主机的IP为: 172.25.254.100 3.server主机的时间为1984-11-11 11:11:11 4.配置server主机的时间同步服务要求可以被所有人使用 二.设定cli…

RocketMQ 10 面试题FAQ

RocketMQ 面试FAQ 说说你们公司线上生产环境用的是什么消息中间件? 为什么要使用MQ? 因为项目比较大,做了分布式系统,所有远程服务调用请求都是同步执行经常出问题,所以引入了mq 解耦 系统耦合度降低,没有强依赖…

Java | Leetcode Java题解之第31题下一个排列

题目: 题解: class Solution {public void nextPermutation(int[] nums) {int i nums.length - 2;while (i > 0 && nums[i] > nums[i 1]) {i--;}if (i > 0) {int j nums.length - 1;while (j > 0 && nums[i] > nums[…

构建数据平台架构指导原则与平台核心组件说明

文章目录 前言什么是数据架构?数据架构如何帮助构建数据平台?数据平台核心组件数据源系统数据加载数据存储数据处理和转换提供使用数据的方式公共服务 前言 湖仓一体是最近几年非常流行的现代大数据架构,目前它已经成为设计数据平台架构的首…

JavaSE-13笔记【集合2(+2024新)】

文章目录 3.Map3.1 Map继承结构3.2 Map接口的常用方法3.3 遍历Map3.4 HashMap集合3.4.1 HashMap集合key的特点3.4.2 HashMap集合的key存储自定义类型3.4.3 哈希表3.4.3.1 哈希表的介绍3.4.3.2 哈希表的存储原理 3.4.4 存放在HashMap和HashSet集合key部分的元素必须同时重写hash…

postman汉化

一、postman历史版本下载:Postman 10.24.16 Download for Windows / Old Versions / FileHorse.comhttps://www.filehorse.com/download-postman/old-versions/ 二、汉化包下载: Releases hlmd/Postman-cn GitHubPostman汉化中文版. Contribute to h…

LeetCode———144—— 二叉树的前序遍历

目录 ​编辑 1.题目 2.解答 1.首先计算二叉树的节点个数: 2.以先序遍历(Preorder Traversal)的方式遍历一个二叉树,并将遍历到的节点的值存储在一个整数数组中 3.最终代码 1.题目 . - 力扣(LeetCode) 给…