4.DML语言
DML语言
1.INSERT:添加(插入)数据
2.UPDATE:更新数据
3.DELETE:删除数据
插入数据
1.选择插入
INSERT INTO tab_name(col_name1,col_name2,col_name3) VALUES(value1 value2 value3),(value1 value2 value3);
非空列必须要插入值
2.完全插入
INSERT INTO tab_name VALUES(value1,value2,value3...);
主键占位:
在插入值时,有自增的主键列或者唯一约束列,可以使用DEFAULT
,NULL
,0
占位,
例如:INSERT dep VALUES(default,"market",1);
3.默认值处理
在 MySQL 中可以使用 DEFAULT 为列设定一个默认值。如果在插入数据时并未指定该列的值,那么 MySQL 会将默认值添加到该列中。
①在创建表时,添加默认值列
CREATE TABLE emp3( emp_id int PRIMARY KEY AUTO_INCREMENT, name varchar(20), address varchar(50) DEFAULT "unknown");
②在表中添加新列,设置默认值
ALTER TABLE emp3 ADD COLUMN job_id int DEFAULT 0;
默认值占位:
在插入新值时,使用default
占位
例如:INSERT INTO emp3 VALUES(default,"wzq",default,default);
4.mysql中常用的三种插入数据的语句
- insert into表示插入数据,数据库会检查主键,如果出现重复会报错;
- replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样;
- insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据;
例子:对于表actor插入如下数据,如果数据已经存在,请忽略;
insert ignore into actor values("3","ED","CHASE","2006-02-15 12:34:33");
更新数据
UPDATE emp3 SET col_name1=value1,col_name2=value2 WHERE condition;
在更新语句中,一定要给定更新条件,否则表中所有的数据都会更新
删除数据
1.使用DELETE删除数据
DELETE FROM tab_name WHERE condition;
在删除语句中,一定要给定删除条件,否则表中所有的数据都会被删除
2.使用TRUNCATE删除所有数据 ——清楚表中的所有数据
TRUNCATE TABLE tab_name;
3.使用delete和truncate删除全部数据的区别
- delete删除数据时,是一条条删除;truncate是整体删除,所以truncate速度更快;
- delete删除数据会记录日志,truncate不会记录服务器log,也就是truncate效率比较高的原因;
- truncate会重置自增值,会从1开始重新记录;delete删除数据后,新插入的值会从上一个自增记录值继续自增。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!