首页 > 代码库 > MySQL入门-11:数据的增、删、改
MySQL入门-11:数据的增、删、改
1、数据插入
2、数据更新
3、数据删除
4、更新和删除的指导原则
1、数据插入-INSERT
插入数据可以使用以下几种方式:
插入完整的行
插入行的一部分
插入多行
插入某些查询的结果
Syntax: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ]
总是使用列的列表:
一般不要使用没有明确给出列的列表的INSERT语句。使用列的列表能使SQL代码继续发挥作用,即使表结构发生了变化。
省略列:
如果表的定义允许,则可以在INSERT操作中省略某些列。省略的列必须满足以下某个条件。
该列定义为允许NULL值
在表定义中给出默认值。
如果对表中不允许NULL值且没有默认值的列不给出值,则mysql将产生一条错误消息,并且相应的行插入不成功。
2、数据更新
Syntax: Single-table syntax: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]
在UPDATE语句中使用子查询:
UPDATE语句中可以使用子查询,使得能用SELECT语句检索出的数据更新列数据。
3、数据删除
Syntax: Single-table syntax: DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]
DELETE删除表的内容而不是表结构
DELETE语句从表中删除行,甚至是删除表中的所有行。但是,DELETE不删除表本身。
更快的删除:
如果想从表中删除所有行,不要使用DELETE。可使用TRUNATE TABLE语句,它完成相同的工作,但速度更快(TRUNCATE实际是删除原来的表并重新创建一个表,而不是逐行删除表中的行)
4、更新和删除的指导原则
UPDATE和DELETE语句一般都具有WHERE子句,如果省略了WHERE子句,则UPDATE或DELETE将被应用到表中所有的行。
本文出自 “Share your knowledge” 博客,请务必保留此出处http://skypegnu1.blog.51cto.com/8991766/1437196
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。