十一.数据处理之增删改
1.添加数据
#添加一行数据
#没有指明添加的字段,则默认按照字段的顺序添加
INSERT INTO myemp1
VALUES (1000,'ccw','2003-05-29',5000)
#指明添加的顺序(推荐)
#没有进行赋值的字段为NULL
INSERT INTO myemp1(id,hire_date,name,salary)
VALUES (1001,'1999-09-09','Tom',8000);
#同时添加多条数据
INSERT INTO myemp1(id,name,salary)
VALUES
(1002,'Jerry',7999),
(1003,'kaoma',8000);#接着写即可
将查询语句插入到表中:
查询的字段一定要与添加到表的字段一一对应
2.更新表中数据
关键字:UPDATA …SET…WHERE
UPDATE myemp1
SET hire_date = '2000-06-06'
WHERE id = 1002;#需要加上修改的条件,否则该字段全部内容都被修改
3.删除表中的数据
关键字:DELETE FROM … WHERE
小结:DML操作默认情况下,执行完以后都会自动提交数据。
如果希望执行完以后不自动提交数据,则需要使用SET autocommit = FALSE。
使用完即可回滚
4. 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 #c即为计算列
);
插入演示数据,语句如下:
INSERT INTO tb1(a,b) VALUES (100,200);
查询数据表tb1中的数据,结果如下:
mysql> SELECT * FROM tb1;
+------+------+------+------+
| id | a | b | c |
+------+------+------+------+
| NULL | 100 | 200 | 300 |
+------+------+------+------+
更新数据中的数据,语句如下:
mysql> UPDATE tb1 SET a = 500;
mysql> SELECT * FROM tb1;
+------+------+------+------+
| id | a | b | c |
+------+------+------+------+
| NULL | 500 | 200 | 700 |
+------+------+------+------+