MySQL 基础知识(五)之数据增删改

news2024/11/25 23:15:34

目录

1 插入数据

2 删除数据

3 更改数据


创建 goods 表

drop table if exists goods;
create table goods (
id int(10) primary key auto_increment,
name varchar(14) unique,
stockdate date
)charset=utf8; 

1 插入数据

 当要插入的数据为日期/时间类型时,如果插入数据的格式不为 "%Y-%m-%d" 或 "%Y-%m-%d %h:%i:%s',需要通过 str_to_date(str,fmt); 方法将字符串转为日期/时间数据类型,其中 str 是要插入的字符串,fmt 是插入字符串的格式,具体用法请看代码

#单条数据插入
insert into goods(name,stockdate) values('香蕉','2024-02-13');

#多条数据插入
insert into goods(name,stockdate) values
('苹果','2024-02-12'),
('橘子',str_to_date('02-12-2024', '%m-%d-%Y')),
('葡萄',str_to_date('2024/02/14', '%Y/%m/%d'));

将查询结果当作一张表,可完成表的快速复制,但是用这种方法创建的表缺少主键

create table goods_1 as select id, name, stockdate from goods;

 

从上面的图片中可以看出表 goods_1 缺少主键,既然没有主键,加上就好了,用修改表中的 alter modify 或 alter change 方法 进行修改

MySQL 基础知识(四)之表操作icon-default.png?t=N7T8https://blog.csdn.net/zjs246813/article/details/136106989?spm=1001.2014.3001.5502

alter table goods_1 modify id int primary key auto_increment;

将一张表的查询结果插入另一张表中,这种插入数据的方式需要保证两张表的数据类型是一样的

insert into goods_1(name,stockdate) select name, stockdate from goods;

2 删除数据

 通过 delete 进行删除,如果不加 where 条件则删除整张表的数据,但是只是删除数据,表依然存在

delete from goods where id = 4;

 

delete

  • delete 属于数据库操纵语言 DML,可用于删除表中的数据
  • delete 语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作
  • delete 既可以对 table 进行操作也可以对 view 进行操作,可以全部删除,也可以按条件删除

drop

  • drop 属于数据库定义语言 DDL,可用于删除表, 也可以用来删除数据库

truncate

  • truncate 属于数据库定义语言 DDL,用来删除表中所有数据
  • truncate 只能对 table 进行操作,执行速度快
  • truncate 是把整张表销毁,再按照原表的格式、结构创建一张新表

三者区别

  • 执行速度,一般来说:drop > truncate > delete
  • delete 是 DML 语句,不会自动提交,即可以回滚,drop/truncate 都是 DDL 语句,执行后会自动提交,即不能回滚
  • truncate 和 delete 只删除数据,不删除表结构, drop 则删除整个表(结构和数据)
  • 对于由 foreign key 约束的表,不能使用 truncate(因为它是删完表后,再重新建一张结构一样的表,只能先删从表,再删主表),而应使用不带 where 的 delete 语句。由于 truncate 不记录在日志中,所以它不能激活触发器
  • truncate 不能用于参与了索引视图的表

3 更改数据

 通过 update 更新数据,如果不设置 where 条件,则会对该列的数据都进行修改

update goods set name = '脐橙' where id = 4;
update goods set name = '红枣', stockdate = '2024-01-23' where id = 3;

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

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

相关文章

Mysql的安装、使用、优势与教程

一.安装 1.在小皮的设置界面检测3306端口,保障3306端口可用; 2、在小皮的首面界面,启动MySQL; 3、进行环境变量设置,找到MySQL的路径,进行复制; 4、在Windows的搜索栏内,输入“环境…

Vue2学习第一天

Vue2 学习第一天 1. 什么是 vue? Vue 是一套用于构建用户界面的渐进式框架。 2. vue 历史 vue 是在 2013 年创建的,vue3 是 2020 出现的,现在主要是用 vue2,创新公司用的是 vue3 vue 的作者是尤雨溪,vue 的搜索热度比 react…

【算法设计与分析】反转链表 ||

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;算法分析与设计 ⛺️稳中求进&#xff0c;晒太阳 题目 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表…

《UE5_C++多人TPS完整教程》学习笔记16 ——《P17 菜单类(The Menu Class)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P17 菜单类&#xff08;The Menu Class&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是译者&#x…

安装Centos系统

1.镜像安装 镜像安装:Centos7安装 2.安装过程(直接以图的形式呈现) 选择你已经下载好的镜像 回车即可,等待安装 等待安装即可

MOS管开关电路实例、功耗计算

一、mos管的工作区域 mos管有三个工作区域&#xff1a; 截止区域 线性&#xff08;欧姆&#xff09;区域 饱和区域 当 VGS < VTH时&#xff0c;mos管工作在截止区域。在该区域中&#xff0c;mos管处于关断状态&#xff0c;因为在漏极和源极之间没有感应沟道。 对于要感…

【Linux】环境变量及相关指令

一、环境变量的基本概念 其实&#xff0c;我们早就听说过环境变量&#xff0c;比如在学习 JAVA / Python 的时候&#xff0c;会在 Windows 上配置环境变量&#xff1a; 环境变量到底是什么呢&#xff1f; 环境变量&#xff08;environment variables&#xff09;一般是指在操作…

第四篇:SQL语法-DDL-数据定义语言

大年初一限定篇&#x1f600; &#xff08;祝广大IT学习者、工作者0 error 0 warning&#xff01;&#xff09; DDL英文全称是Data Definition Language&#xff08;数据定义语言&#xff09;&#xff0c;用来定义关系模式、删除关系、修改关系模式以及创建数据库中的各种对象 …

毕业设计vue+php幼儿园网站系统yl567

幼儿园网站系统。采用vscode集成IDE对幼儿园网站系统统进行开发,整合系统的各个模块。 拟开发的幼儿园网站系统通过测试,确保在最大负载的情况下稳定运转,各个模块工作正常,具有较高的可用性。系统整体界面简洁美观,用户使用简单,满足用户需要。在因特网发展迅猛的当今社会,幼儿…

Spring Boot 笔记 021 项目部署

1.1 引入坐标&#xff0c;并双击package打包成jar包 1.2 在服务器上运行jar包 1.3 使用postman测试 2.1 运行配置 2.1.1 命令更改端口 java -jar big-event-1.0-SNAPSHOT.jar --server.port7777 2.1.2 环境变量更新&#xff08;略&#xff09; 2.1.3 外部配置文件&#xff0c…

Excel练习:日历

Excel练习&#xff1a;日历 ‍ 题目&#xff1a;制作日历 ‍ ​​ 用rows和columns函数计算日期单元格偏移量 一个公式填充所有日期单元格 ​​ ‍

爬爬爬——qq模拟登录,古诗文网模拟登录并爬取内容(cookie)

cookie——可以理解为&#xff0c;记录为登录状态。如果在登录一个网站之后&#xff0c;想拿到信息发现404了&#xff0c;就是没有加cookie在这个header里。 下图加了cookie和没有加的对比&#xff08;我是用了selenuim自动化登录的&#xff09;&#xff1a; 下面是加了的 这个…

数据分析案例-基于亚马逊智能产品评论的探索性数据分析

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

FreeRTOS 调度算法简述

优先级抢占式调度 本章的示例程序已经演示了 FreeRTOS 在什么时候以及以什么方式选择一个什么 样的任务来执行。  每个任务都赋予了一个优先级。  每个任务都可以存在于一个或多个状态。  在任何时候都只有一个任务可以处于运行状态。  调度器总是在所有处于就…

华为23年9月笔试原题,巨详细题解,附有LeetCode测试链接

文章目录 前言思路主要思路关于f函数的剖析Code就到这&#xff0c;铁子们下期见&#xff01;&#xff01;&#xff01;&#xff01; 前言 铁子们好啊&#xff01;今天阿辉又给大家来更新新一道好题&#xff0c;下面链接是23年9月27的华为笔试原题&#xff0c;LeetCode上面的ha…

VueCLI核心知识3:全局事件总线、消息订阅与发布

这两种方式都可以实现任意两个组件之间的通信 1 全局事件总线 1.安装全局事件总线 import Vue from vue import App from ./App.vueVue.config.productionTip false/* 1.第一种写法 */ // const Demo Vue.extend({}) // const d new Demo()// Vue.prototype.x d // 把Dem…

Python算法探索:从经典到现代(三)

一、引言 随着信息技术的飞速发展&#xff0c;数据已经成为现代社会不可或缺的资源。Python&#xff0c;作为数据处理和分析的利器&#xff0c;为我们提供了大量强大的库和工具&#xff0c;用于从经典到现代的各种算法探索。本文将带你领略Python在算法领域的魅力&#xff0c;从…

OJ刷题:猜名次和找凶手【建议收藏点赞】

目录 1. 猜名次2. 找凶手 1. 猜名次 代码实现&#xff1a; #include <stdio.h>int main() {int a 0;int b 0;int c 0;int d 0;int e 0;for (a 1; a < 5; a){for (b 1; b < 5; b){for (c 1; c < 5; c){for (d 1; d < 5; d){for (e 1; e < 5; e)…

Windows 版Oracle 数据库(安装)详细过程

首先到官网上去下载oracle64位的安装程序 第一步&#xff1a;将两个datebase文件夹解压到同一目录中。 当下载完成后,它里面是两个文件夹 win64_11gR2_database_1of2, win64_11gR2_database_2of2,我们需要把其中的一个database文件夹整合在一起(复制一个database文件夹到另一…

寒假作业:2024/2/14

作业1&#xff1a;编程实现二维数组的杨辉三角 代码&#xff1a; #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) {int n;printf("please enter n:");scanf("%d",&n);int a…