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...);

主键占位:

在插入值时,有自增的主键列或者唯一约束列,可以使用DEFAULTNULL0占位,
例如: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删除数据后,新插入的值会从上一个自增记录值继续自增。
posted @   只强  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示