数据表的增删改
1.0 增
-
增加一条数据
insert into 表名 values(...,...,...,); insert into student values(12,'张三','男',18,'冰岛'); 这样插入的前提是values中的值必须于表格中的列进行一一对应才能够保证插入不报错
-
给部分列增加数据
insert into 表名 (列名1,列名2,列名3....) values("值1",值2,值3, ....); insert into student (stu_id, stu_name) values(17110,'张三');
-
多行插入
insert into 表名(列名1,列名2,列名3...) values (值1,值2,值3....),(值1,值2,值3.....)....; insert into 表名 values(值1,值2,值3,值4....),(值1,值2,值3,值4....),(值1,值2,值3,值4....)......;
-
补充:
1:当列设置为自动增长的时候,无论你插入的数据是什么,它都会在上一个上一行的基础上+1。 例如:你的学号位17110,但是上一位同学的学号位17,那么这一行的学号为18,但是还是可以插入成功。 2:当设计表的时候,列的属性为枚举类型的时候,例如性别("男","女","中性","保密") 你可以直接在插入语句中写对应的数字就行: insert into student(gander) values("男") 或者 insert into student(gander) values(1) 我们这里可以看到 1对应的是男,2 对应的是女,3对应的是中性,以此类推.... 3: 当列中的约束为 not null 的时候,就必须要插入数据,否则就会报错。如果约束可以为 null的话,那么可以不进行填写数据,数据库会自动填充,有默认的数据就填充默认的数据,没有默认的数据就自动填充一个数据进入到列表中。
2.0 删
物理删除
-
删除数据表
drop from 表名; drop from student; drop from 表名 where ..... drop from student where stu_name='张三';
逻辑删除
逻辑删除并不是真正意义上的物理删除,而是将其隐藏起来,但实际上还是在其物理器件存储。
例如:我们在数据表中添加一个列 is_delete 大小为一个 bit 也就是一个字节的 1/8,只能用二进制的 1或者 0 来进行表示,然后我们将需要删除的那一行的 is_delete修改为 1 然后查询的时候查询
is_delete 为0的,那么这个为 1的就不会在其中展示了,这样就表示成功的将其进行删除了,这就是逻辑删除。
alter table student add is_delete bit default 0;
updata student set is_delete=1 where stu_name='李四';
select * from studnet where is_delete=0;
这样就完成了逻辑删除
3.0 改
-
修改数据
update 表名 set 列名1=值1, 列名2=值2 where 条件....; update student set stu_gander='男', stu_name="王五" where stu_id = 17110;