sql09——增删改数据

增删改查是数据库最基本的操作,插入数据就是增的内容,因此很重要。
在这里插入图片描述

inset语句进行增添

插入数据到数据库意思就是插入行——完整的一行、一行的一部分、多行、某些查询结果。在insert中可以写出列名也可以不写出,但是有多少列一定要插入相应数目的值,如要省略某些值就定义为null。

INSERT into studentinformation
VALUES('Gana',
'she is a beautiful girl',
'201201010')
VALUES('Timmi',
'she is a smart girl',
'201201011');
INSERT into studentinformation
(sName,sNo)
SELECT `sName(姓名)`,`sNo(学号)`
FROM `student(学生表)`;

更新数据

UPDATE  `student(学生表)`
SET `sName(姓名)`='Tom'
WHERE `sNo(学号)`='201201001';
UPDATE IGNORE `student(学生表)`
SET `sName(姓名)`='Tom'
	`sex(姓别)`='man'
WHERE `sNo(学号)`='201201003';

使用更新多个列只需要使用单个set命令,每个’列=值’对之间用逗号分隔。如果哦用update语句更新多行,并且在更新这些行中的一行或多行的时候出现一个错误,则整个update操作被取消(所有发生前更新的所有行被恢复到原来的值)。为即使发生错误,也继续进行更新,可以使用ignone关键字。

删除数据

从表中删除特定的行,从表中删除所有行是主要的删除功能需要做的事情。如果要删除所有的行可以直接使用TRUNCATE TABLE语句,相比于DELETE语句速度更快,因为它直接删除原来的表再创建一个新的表,而不是逐行的删除表中的数据。

DELETE FROM `student(学生表)`
WHERE `sNo(学号)`='201201001';

注意:

在更新和删除的时候,要保障每一个表都有主键,可以先有select语句进行测试保障更新和删除的准确性。对于使用强制实施引用完整性的数据库,MySQL将不允许删除具有与其表相关联的数据的行。
关于性能
对于增删改而言,操作在执行时候相对耗时,因此可以降低等待处理的select语句的性能。我们可以加入关键字LOW_PRIORITY指示降低insert、update、delete语句的优先级。
如INSERTLOW_PRIORITY INIC

猜你喜欢

转载自blog.csdn.net/matthewchen123/article/details/107825775
今日推荐