数据表的增删改

数据表的增删改

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;
    
posted @ 2020-09-26 11:41  江湖混子  阅读(157)  评论(0编辑  收藏  举报