1.增
1.增加一行
INSERT INTO 表名称 VALUES (值1, 值2,....)
2.增加一行,并指明字段
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
主键列是自动增长,但是在全列插入时需要占位,通常使用空值(0或者null或者default)
在全列插入时,如果字段列有默认值可以使用 default 来占位,插入后的数据就是之前设置的默认值
3.查询增加
insert into … select … 表示: 把查询结果插入到指定表中,也就是表复制。
-- 将查询结果插入到good_cates表中
insert into good_cates(name) select cate_name from goods group by cate_name;
2.改
1)利用关联查询更改
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
2)利用关联查询更改
-- 把该语句中from 后的语句理解为一张虚表
update goods g inner join good_cates gc on g.cate_name=gc.name set g.cate_name=gc.id;
3.删
DELETE FROM 表名称 WHERE 列名称 = 值
上面的操作称之为物理删除,一旦删除就不容易恢复,我们可以使用逻辑删除的方式来解决这个问题。
-- 添加删除表示字段,0表示未删除 1表示删除
alter table students add isdelete bit default 0;
-- 逻辑删除数据
update students set isdelete = 1 where id = 8;
逻辑删除,本质就是修改操作