avatar

MySQL总结(二)

三、表数据的基本操作

插入数据表

  • 注:按照规定操作符应该大写的,但是读起来有点费力,改用小写

  • insert语句的3种方式

    1. insert into <表名> [<列名1>[,…<列名n>]]value(值1)[…,(值n)];
      1
      2
      3
      4
      insert into
      mytest.students(student_name, student_sex, student_age,student_major)
      values('张三','1','24','化学专业'),
      ('王五','1','23','数学专业');
    2. insert … set 语句
      1
      2
      insert into mytest.students
      set student_name="李明", student_sex=default, student_age=22, student_major="数学专业"
    3. insert … select语句
      1
      2
      3
      4
      insert into mytest.students
      (student_name, student_sex, student_age, student_major)
      select student_name, student_sex, student_age, student_major
      from mytest.students_copy
  • replace语句

    当插入数据与已有数据主键重复,需要使用replace语句,同样也有三种形式。

    1
    2
    3
    4
    insert into mytest.students
    values(1320,'李芳','1','22','计算机专业','12345678912')
    replace into mytest.students
    values(1320,'李芳','1','26','会计专业','12345678912')

删除表数据

  • 使用DELETE语句从单个表中删除数据

    delete from <表名>[where语句][order by][limit]

    1. where语句,限定删除条件,若省略删除该表中的所有行
    2. order by, 按照一定顺序进行删除
    3. limit, 删除行的最大值
      1
      2
      delete from mytest.students
      where student_name='王丽';
  • 使用DELETE语句从多个表中删除数据

    delete <表名> from <表1,表2,…,表n>[where子句]

    1. 该命令删除位于from子句前表中的数据行
      1
      2
      delete tb1, tb2 from tb1, tb2, tb3
      where tb1.id = tb2.id and tb2.id = tb3.id;
  • 使用truncate语句删除表数据

    truncate table <表名>

    1. truncate速度要比delete快因为它是先删除原来的表,并再重新创建一个表
    2. 与不带where的delete语句一样
    3. 占用的事务日志资源更少

修改表数据

  • 使用update语句修改单个表单

    update <表名> set 字段1=值1[, 字段2=值2…] [where子句] [order by] [limit]

    1
    2
    3
    update mytest.students
    set student_age=23, student_major='物理专业'
    where student_name='张三';
  • 使用update修改多个表

    update <表1,表2> set 列名1=值1[,列名2=值2,…][where子句]

    1
    2
    3
    update tb1,tb2
    set tb1.name='李明', tb2.name='王伟'
    where tb1.id=tb2.id;
文章作者: Gy
文章链接: http://sgyat.cn/2020/02/15/MySQL(二)/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 年轻没有梦
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论