MYSQL中如何插入、更新和删除数据

发布于:2024-04-19 ⋅ 阅读:(18) ⋅ 点赞:(0)

目录

一、插入(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撤销操作,使用更新与删除语句一定要小心!