MySQL基础数据操作(二):记录操作-增删改
-
对数据库记录的增操作
单条数据,一次插入 insert into 表名 (字段1,字段2,...) values (字段1值,字段2值,...); 多条数据,成批次插入 insert into 表名 (字段1,字段2,...) values (字段1值,字段2值,...), (字段1值,字段2值,...), ...; 单条数据插入和批次插入,各有优缺点 单条数据插入更容易定位到数据问题; 达到一定量级后,批次插入要比单条数据插入更省时间; 批次插入中只要有一条数据错误,就会导致整体批量插入失败,所以需要预处理批次插入的数据,验证批次插入语句的正确及完整;
-- 向mybase.test_table表插入一条数据,选择某一字段 insert into mybase.test_table(col1) values('Wang'); -- 选择表所有字段,插入数据 insert into mybase.test_table(id,col1,col2) values('10','Tom','2019-08-25 00:00:00'); -- 同样选择所有字段,插入数据 insert into mybase.test_table values('11','Paul',now()); -- 向表插入多条数据,按5条数据为一批,按批插入 insert into mybase.test_table(id,col1,col2) values ('12','Jane',now()), ('13','July',now()), ('14','Jucy',now()), ('15','Jack',now()), ('16','Duck',now());
-
对数据库记录的删操作
对记录的删除操作,有两种语句 delete from 表名 [where 字句]; 清空表记录 truncate 表名;
-- 删除特定的条件下的某条记录或一些记录 delete from mybase.test_table where id = 15; -- 实现清空表记录的两种方式 -- delete from 这种方式需要将safe mode关闭才可以执行 -- truncate 这种方式则不受safe mode影响 delete from mybase.test_table; truncate mybase.test_table;
-
对数据库记录的改操作
update 表名 set 字段名=值 where 子句 -- update数据时,需要考虑MySQL锁的状态,避免发生死锁 -- 更新或批量更新时,最好通过where+索引进行筛选 -- 当没有找到需更新的记录时,会返回 0
-- 按照条件更新一条记录,此处更新的记录是唯一的一条 update mybase.test_table set col1 = 'Tim' where id = 15;
– 未完待续,后续ing