目录
一、插入(INSERT)
1.插入一行
2.插入多行
3.插入检索出的数据
二、更新(UPDATE)
三、删除(DELETE)
四、更新和删除使用时需要注意:
*本节总结于图灵程序设计丛书,数据库系列——《MySQL必知必会》
一、插入(INSERT)
1.插入一行
①INSERT INTO table_name VALUES( );
在values子句中,对表中每个列必须按次序给出一个值,若无要用NULL值(假定该列可为空)
②INSERT INTO table_name( ) VALUES( ); 推荐使用
在表名后的括号里明确给出列名,在values子句中将相应值填入列表中的对应项。
两个括号中的值必须对应,但不一定要按照在实际表中的次序。(可以只给某些列提供值,省略的列必须满足——该列有默认值 或 允许NULL值(无值或空值) )
* INSERT插入可能很耗时,会降低等待处理的查询语句的性能,在这种情况下,可以通过使用INSERT LOW_PRIORITY INTO 语句降低插入语句的优先级。(也适用UPDATE、DELETE语句)
2.插入多行
①多条INSERT语句用分号分隔,可以一次提交它们
②如果每条INSERT语句列名和次序相同:
INSERT INTO table_name ( ) VALUES ( ) , ( );
* 单条语句处理多个插入比多条插入语句要快。
3.插入检索出的数据
从old_table中检索数据,并插入new_table中
INSERT INTO new_table(x,y,z) SELECT a,b,c FROM old_tabel;
并不要求列名匹配,使用的是对应位置匹配,即SELECT中第一列a用来填充待插入表的第一列b,如此类推。
二、更新(UPDATE)
UPDATE table_name
SET name='' , address='' , number=''
WHERE id='1001'
在更新时如果发生错误,则所有值恢复到初始状态。如果想要在发生错误的情况下也继续进行更新,可以使用 UPDATE IGNORE table_name 语句。
三、删除(DELETE)
delete语句删除整行的值(仅删除值,不改变表的结构):
DELETE FROM table_name
WHERE id='1001'
如果想要删除某个列的值:
UPDATE table_name
SET column_name = NULL
WHERE id='1001'
四、更新和删除使用时需要注意:
①如果不使用WHERE语句,则更新和删除操作将应用于每一个行。
②在使用UPDATE、DELECT语句之前应该先用SELECT进行测试,保证过滤的是正确记录,以防遗漏WHERE子句或者编写的WHERE子句不正确。
③MySQL没有undo撤销操作,使用更新与删除语句一定要小心!