mysql基础(6)--插入更新删除数据

一: 插入数据

1. 插入一条数据
	INSERT INTO 表名 VALUES(值1);
2. 插入多条数据
   INSERT INTO 表名 VALUES(值1),(值二),....;
3. 表中的某一个或几个字段插入(values中的第一个值对应于第一个指定的列名)
   INSERT INTO 表名(字段1,...) VALUES(值1),...;

一个字段或几个字段插入注意事项:

  • INSERT操作中要省略某些列,则省略的列中该列定义为允许 NULL 值(无值或空值)
  • INSERT操作中要省略某些列,则省略的列中在表定义中给出默认值。这表示如果不给出值,将使用默认值。
  • 如果对表中不允许 NULL 值且没有默认值的列不给出值,则MySQL将产生一条错误消息,并且相应的行插入不成功。
4. 降低插入操作的优先级,提高整体性能

如果数据检索是最重要的(通常是这样),则你可以通过在 INSERT 和 INTO 之间添加关键字 LOW_PRIORITY ,指示MySQL降低 INSERT 语句的优先级
例:

INSERT LOW_PRIORITY INTO

二: 更新数据

  • 更新表中特定行

  • 更新表中所有行

    UPDATE 表名 set 字段1=值1,字段2=值2,... WHERE 条件;
    

注意,必须加where条件,否则将会更新表中所有数据
例: 更新姓名为 张三 的人的姓名改为李四

UPDATE people set name="李四" WHERE name="张三";

IGNORE
如果用 UPDATE 语句更新多行,并且在更新这些行中的一行或多行时出一个现错误,则整个 UPDATE 操作被取消(错误发生前更新的所有行被恢复到它们原来的值)。想要即使是发生错误,也继续进行更新,可使用 IGNORE 关键字,如下所示

UPDATE IGNORE people...

三: 删除数据

  • 从表中删除特定的行
  • 从表中删除所有行
  • DELETE 语句从表中删除行,甚至是删除表中所有行。但是, DELETE 不删除表本身

快速删除表
可使用 TRUNCATE TABLE 语句,它完成相同的工作,但速度更快( TRUNCATE 实际是删除原来的表并重新创建一个表,而不是逐行删除表中的数据)
在使用 DELETE 时一定要注意细心。因为稍不注意,就会错误地删除表中所有行

  DELETE FROM 表名 WHERE 条件;

**注意事项**

  • 除非确实打算更新和删除每一行,否则绝对不要使用不带 WHERE子句的 UPDATE 或 DELETE 语句。
  • 保证每个表都有主键(如果忘记这个内容,请参阅第15章),尽可能像 WHERE 子句那样使用它(可以指定各主键、多个值或值的范围)
  • 在对 UPDATE 或 DELETE 语句使用 WHERE 子句前,应该先用 SELECT 进行测试,保证它过滤的是正确的记录,以防编写的 WHERE 子句不正确。
  • 使用强制实施引用完整性的数据库,这样MySQL将不允许删除具有与其他表相关联的数据的行。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值