【MySQL】DML数据处理之增删改

这篇具有很好参考价值的文章主要介绍了【MySQL】DML数据处理之增删改。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

闲话

前段时间在准备考华子的od,然后也小小的偷了一下懒,估计是过不去了,还是老老实实回来更新博客吧,继续学习~

一、添加数据

1、准备工作

首先我们创建一张表 t_decade_book_new,AUTO_INCREMENT = 5表示自增起始值是5

DROP TABLE IF EXISTS `t_decade_book_new`;
CREATE TABLE `t_decade_book_new`  (
  `book_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '书id',
  `book_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '书名',
  `book_count` int(10) DEFAULT NULL COMMENT '数量',
  `detail` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '描述',
  PRIMARY KEY (`book_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

2、一条一条的插入数据

  • 方式一:没有指明添加的字段,注意使用此方式时需要按照声明字段的先后顺序进行插入
INSERT INTO t_decade_book_new
VALUES(5,'活着',5000,'余华作者,写的是关于福贵一家的故事');

如果不按照字段声明顺序进行插入,就会出错,比如下面这个SQL

INSERT INTO t_decade_book_new
VALUES('活着',5,'余华作者,写的是关于福贵一家的故事',5000);
  • 方式二:指明要添加的字段,推荐使用这种方式
INSERT INTO t_decade_book_new
(book_id, book_name, book_count, detail)
VALUES(6, '孔乙己', 7000, '作者鲁迅,讲的是孔乙己的落魄生活');

如果只指明某些字段,那么在符合约束条件的情况下,未指明的字段将会填入null值

INSERT INTO t_decade_book_new
(book_id, book_name, detail)
VALUES(7, '三体', '作者刘慈欣,讲的是我还没看完~');
  • 同时插入多条记录
INSERT INTO t_decade_book_new
(book_id,book_name,book_count,detail)
VALUES(8,'鬼吹灯',4000,'作者天下霸唱,讲的是一个摸金校尉的盗墓故事'),
(9,'安徒生童话',8000,'我猜作者是叫安徒生');

3、将查询结果插入到表中

注意,查询的字段顺序需要和插入字段的顺序一一对应
另外,还需要注意查询出来的字段是否在类型长度上都与插入表的对应字段匹配上

INSERT INTO t_decade_book_new
(book_id,book_name,book_count,detail)
SELECT book_id,book_name,book_count,detail
FROM t_decade_book
WHERE t_decade_book.book_id IN (1,2,3,4);

二、更新数据

1、更新数据的语法如下

执行时如果不带上WHERE条件语句,就会全量更新数据

UPDATE table_name
SET column1 = value1,colunm2 = value2
(WHERE条件语句);

注意:修改数据时,可能会由于约束的存在导致修改不成功(后面会详细介绍什么是约束)

三、删除数据

1、删除数据的语法如下

执行时如果不带上WHERE条件语句,就会全量删除数据

DELETE FROM table_name
WHERE...;

注意:删除数据时,也可能会由于约束的存在导致删除不成功

DML操作在默认情况下,执行完以后会自动提交数据
如果希望执行完之后不自动提交数据,则需要在执行前设置SET autocommit = FALSE;

四、MySQL8新特性:计算列

简单来说,计算列就是某一列的值是通过别的列计算来的
在MySQL8.0中,我们可以通过CREATE TABLE和ALTER TABLE来新增计算列

CREATE TABLE t_test_table
(
a INT(10),
b INT(10),
res_column INT GENERATED ALWAYS AS (a+b) VIRTUAL
);

# 插入一条数据
INSERT INTO t_test_table(a, b)
VALUES(10, 20);

# 查询出来结果a为10,b为20,res_column为30
SELECT * FROM t_test_table;

# 更新一下a的值
UPDATE t_test_table
SET a = 20;

# 查询出来结果a为20,b为20,res_column为40
SELECT * FROM t_test_table;

结合上面的结果发现,计算列会随着相关列的更新而更新,这样就节省了很多计算的操作,但是会不会有其他隐患呢?这是一个值得思考的问题

如有错误,欢迎指正!!!文章来源地址https://www.toymoban.com/news/detail-576019.html

到了这里,关于【MySQL】DML数据处理之增删改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL筑基篇之增删改查

    ✅作者简介:C/C++领域新星创作者,为C++和java奋斗中 ✨个人社区:微凉秋意社区 🔥系列专栏:MySql一点通 📃推荐一款模拟面试、刷题神器👉注册免费刷题 🔥前言 本文将承接前两篇MySQL专栏的博文,讲解数据库的 增删改查 操作,这里的查询确切的说应该是初级的查询,不

    2024年02月12日
    浏览(58)
  • SQL DML操作之增删改查

    SQL 是结构化查询语言( Structured Query Language )简称,是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。 SQL 语句用于取回和更新数据库中的数据。 SQL 可与数据库程序协同工作,比如 MS Access 、 DB2 、 Informix 、 MS SQL Server 、 Oracle 、 Sybase 以及其他数据库系统。 不幸

    2023年04月19日
    浏览(44)
  • MySQL数据库——MySQL定义条件和处理程序

    在程序的运行过程中可能会遇到问题,此时我们可以通过定义条件和处理程序来事先定义这些问题。 定义条件是指事先定义程序执行过程中遇到的问题,处理程序定义了在遇到这些问题时应当采取的处理方式和解决办法,保证存储过程和函数在遇到警告或错误时能继续执行,

    2024年02月03日
    浏览(71)
  • MySQL——查询数据的处理

    连接两个数据列的值,并进行输出的格式化处理(显示为一种统一的格式) concat( 列 1 + 格式化字 符 ) 显示当前日期,时间 增加时间 #怎加20秒 select *, addtime (order_date,20) from orders; #怎加具体时分秒  select *,addtime(order_date, \\\"2:10:5\\\" ) from orders; #怎加20天 select *, adddate (order_date,20)

    2024年04月09日
    浏览(43)
  • 【MySQL】数据处理之 增●删●改

    ❤写在前面 ❤博客主页: 努力的小鳴人 ❤系列专栏: MySQL8.0基础学习 ❤欢迎小伙伴们, 点赞👍关注🔎收藏🍔 ❤若有误,请小伙伴们指正!🌹 使用一次只能向表中插入一条数据 👌情况1:为表的所有字段按默认顺序插入数据 值列表中须为表的 每一个字段 指定值 值的顺

    2023年04月09日
    浏览(41)
  • mysql处理json格式的字段,一文搞懂mysql解析json数据

    略。自行百度。 JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。 MySQL 8.0版本中增加了对JSON类型的索引支持。可以使用CREATE INDEX语句创建JSON类型的索引,提高JSON类型数据的查询效率。 存储JSON文档所需的空间与存储

    2024年02月07日
    浏览(54)
  • MYSQL数字函数:不可不知的数据处理利器

    🌈  个人主页: danci_ 🔥  系列专栏: 《MYSQL应用》 💪🏻  制定明确可量化的目标,坚持默默的做事。 MYSQL数字函数:不可不知的数据处理利器                在软件开发中,MySQL数字函数扮演着至关重要的角色,它们能够帮助我们快速地对数据进行数学运算、转换和处

    2024年04月10日
    浏览(74)
  • 【MySQL基础 | 第一篇】数据处理之基本查询

    查询语句属于DML(Data Manipulation Language)数据操作语言的其中一种,用于从数据库中提取所需的数据。通过灵活的条件和组合,查询语句帮助用户有效地获取、过滤和排序数据,满足各种信息需求。 SELECT 标识选择哪些列 FROM 标识从哪个表中选择 注意: SQL 语言大小写不敏感

    2024年02月10日
    浏览(44)
  • 数据处理与统计分析——MySQL与SQL

    数据库:DB(DataBase) 概念 :数据仓库,软件,安装在操作系统之上 作用 :存储数据,管理数据 关系型数据库:SQL(Structured Query Language) MySQL、Oracle、Sql Server、DB2、SQLlite 通过表和表之间,行和列之间的关系进行数据的存储 通过外键关联来建立表与表之间的关系 非关系型

    2024年02月12日
    浏览(42)
  • MySQL表操作:提高数据处理效率的秘诀(进阶)(2)

    💕“学习难免有坎坷,重要的是你能尽力而为,持之以恒。”💕 🐼作者:不能再留遗憾了🐼 🎆专栏:MySQL学习🎆 🚗本文章主要内容:MySQL表操作进阶:聚合查询和联合查询🚗 前面我们学习了MySQL进阶的数据库约束、表的设计和新增,那么今天我将为大家分享MySQL表查询

    2024年02月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包