插入数据
增删改查
全列插入
- 增加
- 全列插入
- insert [into] 表名 values(…)
- 主键字段可以用0、null、default来占位
- 像classes中插入一个班级
- 注意:values也可以写成value,插入的数据,数据类型也应该与字段的数据类型保持一致。如果是字符串类型,取值必须加上引号。如果不加引号,数据库系统就会报错。
- 字段为枚举类型写法
- default可以给默认值的字段进行使用默认值
- 注意:全列插入的时候值的数量与字段的数量要保持一致,否则会报错。
部分插入
- 部分插入
- insert into 表名(列1, …) values(值1, …)
insert into students (name, gender) values ("小乔", 2);
# 插入两条数据
insert into students (name, gender) values("小乔", 2),("大乔", 2);
- 没有赋值的字段,数据库系统会为其插入默认值。这个默认值是在创建表的时候定义的。
- 如果某个字段没有设置默认值,而且是非空属性,这就必须为其赋值。不然数据库系统会提示。
- 这种方式也可以随意的设置字段的顺序,而不需要按照表约定时的顺序。
将查询结果插入到表中
insert into 表1(字段1,字段2,字段3)select * from 表2;
- 使用这种方法时,必须保证两个表的字段名称对应,且每个对应的字段数据类型是一样的。而且数据类型不一样,数据库会报错。然后,组织insert语句向下执行。
更新数据
- 修改
- update 表名 set 列1=值1,列2=值2… where 条件;
update students set gender=1; # --全部修改
update students set gender=1 where name="小李飞刀"; # --只要name是小李飞刀的,全部修改
update students set gender=1, age=22 where id=3; # -- 只要id是3的进行修改
- update语句可以同事更新多条记录。如果不指定where条件表达式,数据库系统会更新指定表中的所有数据。
- 使用update语句进行更新数据时,可能会导致会有很多条记录满足where条件,这个时候一定要特别小心,最好先执行select语句判断满足where条件的记录是否确实需要更新。
删除数据
- delete from 表 where 条件;
- delete语句可以同时删除多条记录。如果不指定where条件表达式,数据库系统会删除指定表中所有数据。
delete from students where id=3;
逻辑删除
- 逻辑删除,本质就是修改操作
- 对于重要的数据,并不希望物理删除,一旦删除,数据无法找回
- 删除方案:设置isDelete的列,类型为bit,表示逻辑删除,默认值为0。
- Bit称为位数据类型,其数据有两种取值:0(没有逻辑删除)和1(逻辑删除),长度为1位。
- 在输入0以外的其他值时,系统均把它们当1看待。
- 这种数据类型常作为逻辑变量使用,用来表示真、假或是、否等二值选择。
- 对于非重要数据,可以进行物理删除。
- 数据的重要性,要根据实际开发决定
update students set isdelete=1 where id=3;
- 下面的属于真正的删除,数据无法找回:
delete from students where id=3;
重置表
- 重置表:自增长的id归0。
truncate table students;
版权声明:本文为Learn_and原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。