Mysql: 表中数据的增删改
Mysql: 表中数据的增删改
每博一文案
林清玄曾说,我要开花,是为了完成,我作为一株花的庄严生命,不管你们
怎么看我,我都要开花。人生在世,无论我们怎么迎合别人,都不可能让所有
人都满意,得到每个人的喜欢,你好不好,总有误解你,你真不真,总有人不领情。
对你有意见的人,不管你怎么迁就退让,他都不会满意,不愿意相信你的人,无论你怎么解释,
他都不会相信,不是所有人都值得,我们浪费时间和精力争辩的。这辈子不求人人满意,
但求问心无愧。汪曾祺在人间草木中写道,栀子花粗粗大大。又香得掸都掸不开,于是文雅人不取,
以为品格不高。栀子花说,去你的,我就是要这样香,香得痛痛快快,你们管得着吗 !
别人怎么说是别人的事,我们要做的就是按照自己的意愿去生活,与其在意别人
的看法,每天小心翼翼。不如做好自己的事,问心无愧,活得坦荡,自然,很喜欢这样一句话,
单单是生活就让人头疼不已,若是在乎别人的眼光,那就是有点本末倒置了。—————— 一禅心灵庙语
文章目录
- 每博一文案
- 为表插入数据内容
- 第一种方式:
- 第二种方式:
- 插入`NULL`
- 同时插入多条数据
- 插入默认值
- 将查询结果的数据插入到表中
- 为表更新数据内容
- 省略筛选条
- 件全部更新
- 使用 NULL 更新
- 多列内容的更新
- 为表删除数据内容
- MySQL 8.0 新特性: 计算列
- 总结:
- 最后:
为表插入数据内容
我们知道了如何创建表后 Mysql: 创建表 和 管理表_ChinaRainbowSea的博客-CSDN博客 ,就该为表插入数据,因为只有当表中存在数据,该表才有意义可言,不然就是 一个空空如也的箱子,没有食物。
使用关键字 INSERT 插入数据
对于INSERT
数据的插入存在这多种方式,这里为大家介绍如下方式:
首先我们先创建一个表 emp1
用于对表数据的插入
CREATE TABLE IF NOT EXISTS emp1(id INT,`name` VARCHAR(15),hire_date DATE,salary DOUBLE
);
第一种方式:
省略掉对于字段名(列)的声明,一条一条的为表插入数据内容
注意:
1. 这种方式的插入数据,因为没有手动声明字段,所以自动是按照默认表的列(字段)中的顺序插入数据的,
所以一定要按照默认表中的列顺序插入数据(值的顺序必须和数据表中字段定义时的顺序相同),不然,轻则会因为数据类型的自动转换导致数据发生截断,导致数据错误,重则报错插入表内容失败。
2. 当你插入的表中的内容是字符串,时间日期时,需要使用单引号括起来。
3. 这种方式的添加数据,当我们省略了添加的列(字段)内容,并不会置为NULL,而是报错。因为是按照默认表的列顺序插入数据的,所以我们不可以省略掉任何一个列(字段)的数据,必须一次性按照默认表的顺序全部把数据都插入进去,不然是会报错的。
格式如下
INSERT INTO 表名
VALUES (列1值, 列2的值, 列3的值);
例如: 为表emp1
添加数据
SELECT *
FROM emp1;
INSERT INTO emp1
VALUES (1,'Tom','2000-12-21',9000);
注意没有手动声明字段,一定要按照默认的字段顺序添加表的数据内容
查看是否添加成功
SELECT *
FROM emp1;
当没有按照表中默认顺序插入数据时的错误示范
INSERT INTO emp1
VALUES (2,34000,'2000-12-21', 'Jerty');
/* 这里默认的值中 的 name varchar 类型插入 34000salary int 类型插入 Jerty 无法转换 报错 */
第一种方式:如果省略了,表中列的任何一个数据内容都是会报错的,错误示范如下:
INSERT INTO emp1
VALUES (2,'Jerty');
/* 这里省略了默认值中的 hire_date, salary
的内容 */
第二种方式:
手动声明字段,按照声明的字段顺序插入数据
推荐使用这种方式,因为这种方式的插入,可读性高,不容易出错
注意:
1. 我们手动声明了字段的插入顺序,只要按照这个声明的顺序插入数据就可以了。注意手动声明字段的个数与插入的数据的个数是要一致的。不然无法插入成功。
2. 使用这种手动声明字段插入数据的方式,当我们没有声明的字段,不会插入到内容,如果该字段中设定了初始值,就默认是初始值的内容,如果该字段中没有设定初始值并且没有约束条件(NOT NULL),则默认设置为 NULL。
3. 如果一个字段约束条件设定了 NOT NULL, 你省略了插入数据,或者插入数据 NULL,是会报错的。
格式如下:
INSERT INTO 表名 (列名1, 列名2, 列名3)
VALUES (数据内容1, 数据内容2, 数据内容3);
例子: 为表emp
插入第二条数据
INSERT INTO emp1 (id, `name`, salary, hire_date)
VALUES (2,'Jerry', 60000, '1999-9-9');
当我们省略一些插入的字段名(列),存在默认值,插入默认值,没有设定默认值,也没有 NOT NULL
约束条件,则默认是 NULL
。
例如,为表 emp1
插入数据,省略 字段salary
INSERT INTO emp1 (id,`name`, hire_date) /* name 与关键字冲突了,需要使用上着重号*/
VALUES (3,'Shk', '2001-9-1');
注意: 当声明的是一个字段,插入一个字段的数据内容,其他是字段的内容,存在默认值,则是默认值,不存在默认值并且没有约束条件NOT NULL
则默认添加的是 NULL
,如果存在约束条件NOT NULL
则会报错,因为该约束条件不允许添加 NULL
数据。这一点大家需要注意,因为很多初学者会认为,这么做: 当使用 SELECT 查询表时 ,发现有些字段是 NULL,就会使用 INSERT
插入数据的方式,更改字段为 NULL 的内容,这种做法是错误的,只会得到更多的 NULL值,如下面的结果,更改数据是要使用UPDATE
的方式.
INSERT INTO emp1 (`name`)
VALUES ('TM'); /* 其他没有声明的字段,其插入是数值,要么是NULL,要么是默认值*/
插入NULL
INSERT
语句中想要给某一列赋予 NULL
的内容,可以直接在VALUES
子句的值清单中写入 NULL
。
例如,为表emp1
添加数据其中的字段 hire_date
和 salary
设都为 NULL
INSERT INTO emp1 (id, `name`, hire_date, salary)
VALUES (4,'Jim',NULL,NULL);
同时插入多条数据
INSERT
语句可以同时向表中插入多条记录,插入时指定多个值列表,每个值列表之间用逗号分隔开,基本语法格式如下:
INSERT INTO 表名 (列名1, 列名2, 列名3)
VALUES (数据内容1, 数据内容2, 数据内容3),(数据内容1, 数据内容2, 数据内容3),(数据内容1, 数据内容2, 数据内容4);
例如: 为表 emp1
中插入多条数据
INSERT INTO emp1 (id, `name`, hire_date, salary)
VALUES (5,'小华', '2022-9-8', 10000),(6, '小红', '2022-8-9', 8000),(7, 'KiKi', '1990-1-1', 60000);
或者一条一条的将多条数据一个一个的插入,如下:
INSERT INTO emp1(id, `name`, hire_date, salar)
VALUES (5,'小华', '2022-9-8', 10000);INSERT INTO emp1(id, `name`, hire_date, salar)
VALUES (6, '小红', '2022-8-9', 8000);INSERT INTO emp1(id, `name`, hire_date, salar)
VALUES (7, 'KiKi', '1990-1-1', 60000);
使用INSERT
同时插入多条记录时,Mysql
会返回一些在执行单行插入时没有的额外信息,这些信息的含义如下:
Records
:表明插入的记录条数Duplicates
:表明插入时被忽略的记录,原因可能时这些记录包含了重复的主键值。Warnings
: 表明有问题的数据值,例如发生数据类型的转换
一个同时插入多行记录的 INSERT 语句等同于多个单行插入的 INSERT语句,但是多行的 INSERT 语句在
处理过程中效率更高。因为 MySQL 执行单条 INSERT 语句插入多行数据比使用多条 INSERT 语句快,
所以在插入多条记录时最好选择使用单条 INSERT 语句的方式插入
插入默认值
通过显式的方式插入默认值 推荐 ,可读性高
我们还可以向表中插入默认值(初始值), 我们使用 INSERT
中的 VALUES
子句中指定 DEFAUlT
关键字(默认值)
格式如下:
INSERT INTO 表名 (列名1, 列名2, 列名3)
VALUES (数据内容1, 数据内容2, DEFAULT); /* DEFAULT 默认值 */
我们先将表emp1
中的 salary
的初始值设为 0 ,具体如何设定大家可以移步到
Mysql: 表中数据的增删改相关推荐
- MySQL对于表中数据的增删改查
增删改查(curd) curd的解释: 代表创建(Create).更新(Update).读取(Retrieve)和删除(Delete) 查询基本使用 查询所有列(表中所有字段) select * fr ...
- 8、mysql数据表中数据的增删改
已经介绍了数据表的创建.修改和删除,接下来介绍一下如何往数据表中添加数据.修改数据.删除数据 添加数据 # 默认给表中所有字段添加数据,要保证添加的数据列和字段列一致 insert into user ...
- 实现对mysql增删改查_Java语言实现对MySql数据库中数据的增删改查操作的代码
简单说操作的步骤: 1.连接数据库 2.将SQL语句发送到数据库 3.执行SQL语句 这里举个例子: 在一个数据库中有个students表,表中有学号(Id),姓名(Name),性别(Sex),地址( ...
- SpringBoot+Mysql+MDUI实现数据的增删改查和列表操作及单,多文件上传实例
SpringBoot+Mysql+MDUI实现数据的增删改查和列表操作及单,多文件上传实例 开源地址:https://gitee.com/jfkjrym/demo.git evan原创内容!evan原 ...
- SQL语句对表中数据进行增删改操作[DML]
文章目录 前言 一.SQL添加数据语句 二.SQL修改数据语句 三.SQL删除数据语句 总结 前言 整理一下SQL语句中增删改查操作的语句用法.先说一下简单的增删改操作,查询的话分类比较多,分开写.. ...
- [转]清除mysql表中数据
delete from 表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内 ...
- 表、数据的增删改查(所有列、指定列、添加常量、字段起别名、和并列、去除重复、条件查询、比较、判断空、模糊查询)...
表的增减改查 desc tablename;查看表结构 drop table name;删除表 字段增改删:格式 alter table tablename add column name varch ...
- 怎么删除mysql表中数据_如何删除数据库表中的数据?
删除数据库表中数据有两种方式: 第一种:delete from tablename where 1=1; 第二种:truncate table tablename; 区别是:第二种清空表数据比较及时 ...
- MySQL基础之数据的增删改查
MySQL的增删改查: 1增加数据:INSERT INTO 表名 VALUES(值); (注意:每个具体数据用逗号分隔,且字段必须和输入数据的次序一一对应) 2删除数据:DELETE FROM 表名 ...
最新文章
- 2010上半年网络规划设计师下午试卷Ⅱ与论文写作要点
- 基于深度学习的场景分割算法研究综述
- python json模块详解_深入解析Python编程中JSON模块的使用
- curl put方法 测试http_HTTP接口调试利器!4.8万Star的HTTP命令行客户端!
- Docker 常用命令,还有谁不会?
- android 打印流程图,Android实现Activities之间进行数据传递的方法
- Android自定义Button样式(水平滑动多个Button)
- 搜索的php mysql代码生成器_PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)...
- Linux下配置两个或多个Tomcat启动
- 华为手机图标怎么变小_华为手机怎么设置图标由大变小
- b站python_python学习 —— B站抢楼原理
- 我们都被GitHub出卖了!逃跑吧兄弟!
- 斐波那契数列 Java实现
- 性能调优之JMH必知必会1:什么是JMH
- 什么手机抢票软件安全靠谱
- Qt 的网络通信(TCP)
- 世嘉MD游戏开发【九】:Sprite精灵
- Android 音频设备管理
- 农村污水处理项目中管网建设过程应注意哪些内容?
- 机加工图纸有英语看不懂?最全的翻译都在这