插入、删除、修改表数据

1、插入表数据
    insert [low_priority|delayed|high_priority] [ignore]
          [into] tbl_name [(col_name,...)]
          values ({expr|default},...),(...),...
          |set col_name={expr|default},...
          [on duplicate key update col_name=expr,...]
    tbl_name:被操作的表名。
    col_name:需要插入数据的列名。如果给全部列插入数据,列名可以省略
    values:包含各列需要插入的数据清单。
    (1)expr:插入的值,其数据类型与列的数据类型必须一致
    (2)default:指定为该列的默认值
    修饰符:
    1、low_priority:使用以后,当原有客户端正在读取数据时,延迟操作的执行,知道没有其他客户端从表中读取数据为止
   2、delayed:将待插入的行放到一个缓冲器中。如果表正在被使用,服务器会保留这些行。当表空闲时,服务器开始插入行,并定期检查是否有新的读取请求
   3、high_priority:使得操作优先执行
   4、ignore:执行语句时出现的错误被当做警告处理
   5、on duplicate key update...:若KEY出现重复值,则根据UPDATE后的语句修改旧行
   6、set子句:set子句用于直接给列指定值
    补充1: 使用INSERT INTO...SELECT...,可以快速地从一个或多个表中向一个表插入多个行,语法格式如下:
    insert [low_priority|high_priority] [ignore] [into] tbl_name [(col_name,...)]
    select...
    [on duplicate key update col_name=expr,...]
    补充2:将insert替代为replace,可以在插入数据前将与新纪录键冲突的旧纪录删除
    补充3:图片一般可以用路径的形式来存储
               例如:insert into xs
                                values('030702211','D:/IMAGE/picture.jpg')
2、删除表数据
     1、使用DELETE语句删除数据 
  • 从单个表中删除:
      delete [low_priority] [quick] [ignore] frome tbl_name
      [where where_definition]
      [order by ...]
      [limit row_count]
      说明:
      quick修饰符:可以加快部分种类的删除操作的速度
      from 子句:用于说明从何处删除数据,tbl_name为要删除数据的表名
      where子句:where_definiton中的内容为指定的删除条件.如果省略where子句则删除该表的所有行
      order by子句:各行按照子句中指定的顺序进行删除,此子句只在于LIMIT联用时才起作用
      limit子句:用于告知服务器在控制命令被返回到客户端前被删除的行的最大值
  •  从多个表中删除行:
       delete [low_priority] [quick] [ignore] tbl_name[,*] [,tbl_name[.*]...]
       from table_references
       [where where_definition]
       或
       delete [low_priority] [quick] [ignore]
            from tbl_name[.*] [, tbl_name[.*]...]
            using table_references
           [where where_definition]
       例如(有3个表t1,t2,t3,删除t1中id值等于t2的id值的所有行和t2中id值等于t3的id值的所有行):
       delete t1,t2
             from t1,t2,t3
             where t1.id=t2.id and t2.id=t3.id;
       或
       delete from t1,t2
             using t1,t2,t3
             where t1.id=t2.id and t2.id=t3.id;
        2、使用TRUNCATE TABLE 语句删除表数据
         truncate table table_name
         注:参与了索引和视图的表,不能使用truncate table删除数据,而应使用delete语句
3、修改表数据
  •  修改单个表
      update [low_priority] [ignore] tbl_name
            set col_name1=expr1 [,col_name2=expr2...]
            [where where_definition]
            [order by...]
            [limit row_count]
      例如:
      update xs
            set 学号='081251',备注='转专业学习'
            where 姓名='罗林琳'

 

  • 修改多个表
      update [low_priority] [ignore] table_references
            set col_name1=expr1 [,col_name2=expr2...]
            [where where_definition]
      例如:
      update tb1,tb2 set tb1.pwd='AAA',tb2.pwd='BBB'
              where tb1.id=tb2.id;

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值