MySQL数据处理之增删改
准备工作

方式一:一条一条的添加数据
第1种方式: 没有指明添加的字段,语法格式如下:
insert into 表名 values(列值1,列值2,列值3);
栗子:添加语句

查询表已经存在数据

如果不按照表中列名的顺序添加,就会报错。

注意:一定要按照声明的字段先后顺序做添加。
第2种方式:指明要添加的字段,格式如下:(推荐)
insert into 表名(列名1,列名2,列名3) values(列值1,列值2,列值3);
栗子:根据语句中列的顺序进行添加

查询添加成功

可以不必写所有的值,这里我们把时间给去掉(没有设置为非空)


添加多条记录,通过逗号隔开


方式三:将查询结果插入到表中
先写查询语句, 查询语句的字段跟INSERT 指定的字段要一一对应

选中,做执行

查询,已经发现数据被添加进去

说明:emp1表中要添加数据的字段的长度不能低于employees表中查询的字段的长度。如果低于就有添加不成功的风险。
语法格式:
update 表名 set 字段名1=字段值1,字段名2=字段值2 where 条件;
说明:
如果没有where,就修改全部表中的数据。可以通过where中的条件,指明where条件,对满足条件的数据进行修改。
栗子:
更新员工为3的时间为当前时间


同时修改一条数据的多个字段


将表中姓名中包含字符A的提薪20%

修改数据时,是可能存在不成功的情况的。可能是由于约束的影响造成的

语法格式:
delete from 表名 where 条件;
栗子:
删除id=1


由于约束,也有可能会删除不成功

DML操作默认情况下,执行完以后都会自动提交数据。如果希望执行完成以后不自动提交数据,则需要使用SET autocommit= FALSE。设置完可通过commit手动提交和rollback 回滚数据。
MySQL8新特性:计算列
某一列的值是通过别的列计算得来的。
栗子1:
a列值为1,b列值为2,c列不需要手动插入,定义a+b的结果为c的值,那么c就是计算列,是通过别的列计算得来的。
栗子2:
创建表时,声明c字段作为a字段和b字段和的计算列


计算列中自动有了数据做了a+b

修改a的数据,计算列的值也会变。


发表评论