增
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的值;
|