找回密码
 立即注册
快捷导航

[数据库] DML 增、删、改 操作

[复制链接]
镖师 2023-7-12 15:45:58 | 显示全部楼层


insert into emp1 value (1, 'Tom', '2000-12-21', 998);         -- 按照表的字段顺序添加数据

insert into emp1 (id, hire_date, salary, `name`) value (2, '1999-09-09', 6526, 'Jerry');      -- 按照自己写的顺序添加数据

insert into emp1 (id, NAME, salary) values (4,'Jim', 9230),(5, 'zhangsan', 9990);        -- 一次添加多条记录

使用INSERT同时插入多条记录时,MySQL会返回一些在执行单行插入时没有的额外信息,这些信息的含义如下:
- Records:表明插入的记录条数
- Duplicates:表明插入时被忽略的记录,原因可能是这些记录包含了重复的主键值。·
- Warnings:表明有问题的数据值,例如发生数据类型转换。

一个同时插入多行记录的INSERT语句等同于多个单行插入的INSERT语句,但是多行的INSERT语句在处理过程中`效率更高`。因为MySQL执行单条INSERT语句插入多行数据比使用多条INSERT语句快,所以在插入多条记录时最好选择使用单条INSERT语句的方式插入。

VALUES 也可以写成 VALUE ,但是VALUES是标准写法。



update emp1 set hire_data = curdate(), salary * 1.2 where id = 5;


delete from emp1 where id = 1;

MySQL8新特性:计算列

某一列的值是通过别的列计算得来的。例如,a列值为1、b列值为2,c列不需要手动插入,定义a+b的结果为c的值,那么c就是计算列,是通过别的列计算得来的。

在MySQL 8.0中,CREATE TABLE 和 ALTER TABLE 中都支持增加计算列。下面以CREATE TABLE为例进行讲解。

举例:定义数据表tb1,然后定义字段id、字段a、字段b和字段c,其中字段c为计算列,用于计算a+b的值。 首先创建测试表tb1,语句如下:

CREATE TABLE tb1(
    id INT,
    a INT,
    b INT,
    c INT GENERATED ALWAYS AS (a + b) VIRTUAL
);
INSERT INTO tb1(a,b) VALUES (100,200);

此时,c的值为300
修改 a 或 b的值,都会影响到c的值;











回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

温馨提示

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

关于 注册码 问题

      由于近期经常大量注册机器人注册发送大量广告,本站开启免费入群领取注册码注册网站账号,注册码在群公告上贴着...

Archiver|手机版|小黑屋|DLSite

GMT+8, 2024-11-23 00:39

Powered by Discuz! X3.5 and PHP8

快速回复 返回顶部 返回列表