MySQL-Insertupdatecreate
INSERT
插入及系统安全:可以针对每个表或每个用户,利用MySQL的安全机制禁止使用INSERT语句。
提高整体性能:数据库经常被访问,对处理什么请求以及用什么次序处理进行管理是MySQL的任务。INSERT操作可能很耗时(特别是有许多多音需要更新时),而且它可能降低等待处理的SELECT语句的性能。
如果数据检索是最重要的(通常是这样),则可以通过在INSERT 与 INTO之间添加关键字LOW_PRIORITY,指示MySQL降低INSERT语句的优先级,如下所示:INSERT LOW_PRIORITY INTO,这也适用于UPDATE与DELETE语句。
UPDATE
在UPDATE子句中使用子查询:UPDATE语句可以使用子查询,使得能用SELECT语句检索出的数据更新列数据。
INGORE关键字:如果用UPDATE语句更新许多行,并且在更新这些行中的一行或者多行是出现一个错误,则整个UPDATE操作被取消(错误发生钱更新所有行被恢复到它们原来的值)。即使发生错误,也继续进行更新,可以使用IGNORE关键字,如下所示:UPDATE IGNORE customers...
DELETE
删除表的内容而不是表:DELETE语句从表中删除行,甚至是表中的所有行。但是,DELETE不删除表本身。
更快的删除:如果想从表中删除所有行,不要使用DELETE,可以使用TRUNCATE TABLE语句,它完成相同的工作,但速度快(TRUNCATE实际是删除原来的表并重新建立一个新表,而不是逐行删除表中的数据)。
CREATE
每个表只允许有一个AUTO_INCREMENT,而且它必须被索引(如,通过使它成为主键)。那么,如何在使用AUTO_INCREMENT列时获得这个值呢?可以使用last_insert_id()函数获取这个值,如下所示:
SELECT last_insert_id()
此语句返回最后一个AUTO_INCREMENT值。