ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql从入门到精通笔记-第八章 数据表的增删改操作

2022-06-14 11:37:47  阅读:162  来源: 互联网

标签:8.1 INSERT ... PRIORITY 数据表 mysql 增删 DELETE


目录

8.1 插入数据表数据

一共有3中插入的语句的语法格式

8.1.1 INSERT ...VALUES ...

语法格式

INSERT [LOW_PRIORITY|DELAYED|HIGH PRIORITY] [IGNORE]
[INTO] 数据表名 [(字段名,...)]
VALUES(v1,v2,v3),(a1,a2,a3),(b1,b2,b3),...
[ON DUPLICATE KEY UPDATE 字段名=表达式,...]
  • 必须关键字
    INSERT 数据表名称 VALUES (v1,v2,v3),(v4,v5,v6)

  • 可选关键字
    LOW_PRIORITY|DELAYED|HIGH PRIORITY ,执行的 SQL操作的优先级,DELAYED会先放到缓冲器,HIGH会高优先级执行
    IGNORE: 执行SQL时,错误当成警告处理
    INTO : 指定被操作的数据表
    VALUES:插入的值,顺序相同,可以使用default值
    [ON DUPLICATE KEY UPDATE 字段名=表达式,...] 如果遇到unique 或者 主键重复,可以使用UPDATE后的语句。
    img

  • 当遇到自增序列的时候,可以INSERT值为0或者NULL,数据库系统会自动处理。

  • 同样,也可以只插入部分字段的数据
    img

  • 插入多行数据
    插入多行数据,就是在values后面传入多行数据即可;

8.1.2 INSERT ... SET ...

INSERT INTO testdb_05.staff_002 SET user_name='jaxm',user_age=22,user_position='DBA',user_profile ='DBA ENG';

img

8.1.3 INSERT ... SELECT ...

一个数据表中查询的数据,插入到另外一个数据库表,要求字段数和字段类型都要相匹配。

8.2 修改数据表数据

UPDATE [LOW_PRIORITY][IGNORE] 数据表名
    SET 字段一=值
    [WHERE 条件表达式]
    [ORDER BY...]
    [LIMIT 行数]
  • LOW_PRIORITY 没有别的用户读取数据为止,部分存储引擎可用。
  • 注意:WHERE指定行数很有必要,不然会更改所有的行的数据
    img

8.3 删除数据表数据

8.3.1 DELETE语句

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM 数据表名 
[WHERE 条件表达式] 
[ORDER BY] 
[LIMIT 行]

字段解释:

  • LOW PRIORITY : 延迟DELETE操作,直到没有别的用户再从表中读取数据位置,仅仅适用表级锁的存储引擎(IyISAM,MEMORY和MERGE)
  • QUICK : 用于加速部分表的删除动作
  • IGNORE : 使用 DELETE 语句如果出现错误,整个DELETE语句都会被取消,错误发生前所有的行都会被还原到之前的值,从而保证可靠性。如果想要遇到错误还继续进行DELETE操作,可以使用该字段。
  • ORDER BY : 指定被删除的次序
  • LIMIT : 限定被删除的行数
    img

8.3.2 TRUNCATE TABLE(删除所有的行,慎用)

需要从表中删除所有的行,可以使用TRANCATE TABLE来进行操作,TRUNCATE TABLE后,数据被删除并且无法恢复,使用的时候要特别谨慎。
img

DELETE 和 TRUNCATE的区别:

  • 使用TRUNCATE TABLE ,表中AUTO_INCREMENT计数器会被重置为该列的初始值;
  • 参与了所以和视图的表,不能使用TRUNCATE TABLE ,需要使用DELETE
  • DELETE 删除没一行,都会有再事务日志中存在一行记录,TRANCATE TABLE只再事务日志中记录页的释放。

标签:8.1,INSERT,...,PRIORITY,数据表,mysql,增删,DELETE
来源: https://www.cnblogs.com/spring2022/p/16373948.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有