插入数据
增删改查
全列插入
增加
全列插入 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="小李飞刀" ;
update students set gender=1, age=22 where 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;
重置表
truncate table students;