MySQL(三)数据的增删改查

Page content

增删改查(curd): 创建(Create)、更新(Updata)、读取(Read) 和删除(Delete)。

增加

  • 全列插入
    insert into 表名 valyes(...)
    主键字段可以用0、null、default来占位。
    eg.
    insert into classes valves(0,菜鸟班);  # 向classes表中插入一个班级
    insert into students values(0, "小李飞刀", 20, "女", 1, "1990/1/1");    # 向students表中插入一个学生信息

枚举(enum)中的下标从1开始。如:性别是一个枚举类型enum(‘男’,‘女’,‘中性’),则1=男、2=女

  • 部分插入
    insert into 表名(列1,...) values(值1,...)
    insert into students (name, gender) values ("小乔",2);

在部分插入时,数据表中约束为不许为空的列需要有

  • 多行插入
    insert into students (name, gender) values ("小乔",2),("大乔",2);

修改

update 表名 set 列1=值1,列2=值2... where 条件;
update students set gender=1;                  #修改students表中所有行,将性别改为男
update students set gender=1 where id=3;        #修改students表中id=3的那行,将性别改为男
update students set age=22,gender=1 where id=3; #修改students表中id=3的那行,将年龄改为22、性别改为男

where 条件,当某行满足该条件时,对这行进行修改

删除

  • 物理删除

    真的删除,使用deiete

        delete frome 表名 where 条件;
        eg.
        delete frome students;                         #  删除students数据表
        delete frome students where name="小李飞刀";    # 删除students数据表中姓名为小李飞刀的行 
    
  • 逻辑删除

    不是真的删除,使用update

      -- 用一个字段来表示这条信息是否已经不再使用了。
      -- 给students表添加一个is_delete字段  bit  类型
      alter table students add is_delete bit default 0;
      update students set is_delete=1 where id=6;
    

查询基本使用

  • 查询所有列
select * from 表名;
eg.
select * frome classes;               -- * 表示全部取出来
select * from students where id<9;    -- 取出id<9的行
  • 查询指定列
select 列1,列2,... frome 表名;
eg.
select id,name frome classes;          # 查询classes表中id、name两列,输出结果只显示这两列

可以使用as作为列或表指定别名,详见下↓

    select 字段1 as 别名1,字段2 as 别名2 from 数据表 where 条件;
    eg.
    select name as 姓名,gender as 性别 frome students;      # 查询students表中的name、gender两列;并使用姓名代替name、使用性别代替gender

字段的顺序:谁在前边就先显示谁,仍以上例解释:

select gender as 性别,name as 姓名 frome students;