MySQL添加数据 insert 命令详解「建议收藏」

MySQL添加数据 insert 命令详解「建议收藏」不指定字段名,所有字段必须给值insertintouservalue(null,’张三’,’123456′,’男’,20,1602295286);into可以省略,但是一般都不省略insertuservalue(null,’张三’,’123456′,’男’,20,1602295286);指定部分字段添加,没有被指定的字段要么会自动增长,要么允许为null,要么有默认值。

大家好,欢迎来到IT知识分享网。

1. insert 语法格式


完整格式

insert [into] 表名[字段名1[, 字段名2]] value[s](1,2),(3,4);

省略字段名

省略字段名时,必须依次添加所有段的值

insert [into] 表名 value(1,2[, ...]);

只添加一条数据时,也可以使用 insert ... set 命令

此方式无法插入空值 null

insert into 表名 set 字段名1=[,字段名2=];

2. 使用示例


a. 省略字段名

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID,主键且自增',
  `nickname` varchar(60) DEFAULT NULL COMMENT '用户昵称',
  `gender` tinyint(1) DEFAULT NULL COMMENT '性别',
  `age` mediumint(9) DEFAULT NULL COMMENT '年龄',
  `status` tinyint(1) DEFAULT '1' COMMENT '状态 0 关闭 1 开启 默认为 1',
  `create_time` int(11) DEFAULT NULL COMMENT '注册时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';

特别注意:因为字段id会自动增长,设置为null即可

如果没有写出所有字段的值,会出现以下错误

1136 – Column count doesn’t match value count at row 1(列计数与行的值计数不匹配)

insert into user value(null, '张三', 1, 20, null, 1602295286);

MySQL添加数据 insert 命令详解「建议收藏」

b. 给指定的字段添加数据,则没有被指定的字段必须有默认值

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID,主键且自增',
  `nickname` varchar(60) NOT NULL COMMENT '用户昵称',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 0 关闭 1 开启 默认为 1',
  `create_time` int(11) DEFAULT NULL COMMENT '注册时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';

没有默认值的字段必须给值:nickname 字段设置了 not null 且没有设置 default

insert into user(`status`, `create_time`) value(1, 1602295286);

MySQL添加数据 insert 命令详解「建议收藏」

c. 一次添加多条数据

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID,主键且自增',
  `nickname` varchar(60) NOT NULL COMMENT '用户昵称',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 0 关闭 1 开启 默认为 1',
  `create_time` int(11) DEFAULT NULL COMMENT '注册时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
insert into user(`nickname`, `status`) value('张大民', 1), ('小新', 0), ('小刚同学', 1);

d. 添加一条数据的两种写法

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID,主键且自增',
  `nickname` varchar(60) NOT NULL COMMENT '用户昵称',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 0 关闭 1 开启 默认为 1',
  `create_time` int(11) DEFAULT NULL COMMENT '注册时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
insert into user(`nickname`, `status`) value('小王', 1);
insert into user set `nickname` = '大王', `status` = '0';

MySQL添加数据 insert 命令详解「建议收藏」

3. MySQL 添加数据总结(常见用法)


不指定字段名,所有字段必须给值

insert into user value(null, '张三', '123456', '男', 20, 1602295286);

into 可以省略,但是一般都不省略

insert user value(null, '张三', '123456', '男', 20, 1602295286);

指定部分字段添加,没有被指定的字段 要么会自动增长,要么允许为 null,要么有默认值

insert into user(`nickname`, `password`, `gender`, `age`) value('张三', '123456', '男', 20);

添加一条数据时也可以用 insert ... set

insert into user set `nickname` = '大王', `status` = '0';

添加多条数据

insert into user(`nickname`, `status`) value('张大民', 1), ('小新', 0), ('小刚同学', 1);

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/26071.html

(0)
上一篇 2023-05-16 18:00
下一篇 2023-06-28 13:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信