MySQL(三) 添加、更新与删除数据
3 添加、更新与删除数据
环境搭建:首先创建一个数据库test,并在数据库test中创建数据表person。
CREATE TABLE person( id INT(4), name CHAR(40) NOT NULL DEFAULT '', birthday DATE, info TEXT );
3.1 添加数据
3.1.1 为表的所有字段插入数据
*方式一
格式:INSERT INTO 表名 (字段名...)
VALUES (值...);
INSERT INTO person (id,name,birthday,info) VALUES (1,'Jack','19900101','teacher');
*方式二
格式:INSERT INTO 表名
VALUES (值...)
INSERT INTO person VALUES (2,'Bob','19910202','worker');
*方式三
格式:INSERT INTO 表名 (字段名...)
VALUES (值...);
INSERT INTO person (name,birthday,id,info) VALUES ('Frank','19920303',3,'engineer');
注意:方式一和方式三可以不用按照表结构中的顺序来,只要给的值与前面字段名一一对应即可,方式二可以忽略字段名,但是其值必须跟表结构中的字段顺序一致。
3.1.2 为表的指定字段插入数据
格式:INSERT INTO 表名 (字段名...)
VALUES (值...);
INSERT INTO person (id,name,birthday) VALUES (4,'Marry','19930404');
3.1.3 同时插入多条记录(结合1.1的三种方式)
格式:INSERT INTO 表名 (字段名)
VALUES (值1.....),(值2...),......;
INSERT INTO person VALUES (5,'Cindy','19940505','student'),('6','Candy','19950606','actor');
3.1.4 INSERT语句的其它写法
格式:INSERT INTO 表名
SET 字段名1=值1,字段名2=值2,......
INSERT INTO person SET id=7,name='Lucy',birthday='19960707',info='accountant';
3.2. 更新数据
格式:UPDATE 表名
SET 字段名1=值1,字段名2=值2,......
[WHERE 条件表达式];
3.2.1 更新部分数据
使用WHERE子句来确定更新某些记录的指定字段
UPDATE person SET info='actress' WHERE id=6;
3.2.2 更新全部数据
如果没有使用WHERE子句,将更新表中所有记录的指定字段
UPDATE person SET birthday='19970808';
3.3. 删除数据
格式:DELETE FROM 表名 [WHERE 条件表达式]
3.3.1 删除部分数据
使用WHERE子句来指定要删除的记录的条件
DELETE FROM person WHERE id>5&&id<8;
3.3.2 删除全部数据
如果没有使用WHERE子句,则会删除表中所有的数据
DELETE FROM person;
3.3.3 使用关键字TRUNCATE删除表中所有的数据
格式:TRUNCATE [TABLE] 表名;
TRUNCATE语句与DELETE语句的区别:
(1) DELETE语句是DML语句,TRUNCATE语句通常被认为是DDL语句
(2) DELETE语句可以通过WHERE子句删除满足条件的部分记录,而TRUNCATE只能用于删除表中的所有记录
*使用TRUNCATE语句删除表中的数据后,再次向表中添加记录时,自动增加字段的默认初始值重新由1开始,
而使用DELETE语句删除表中所有的记录后,再次向表中添加记录时,自动增加字段的值为删除时该字段的最大值加1。