文章目录

  • 1. insert 语法格式
  • 2. 使用示例
  • 3. MySQL 添加数据总结(常见用法)

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

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

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';

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

MySQL添加数据 insert 命令详解相关推荐

  1. MySQL中 show processlist命令详解

    文章目录 1.show processlist是什么? 2.show processlist怎么用? 3.show processlist参数? 4.命令: show status; 1.show p ...

  2. MySQL查看数据库状态命令详解

    数据查询语言(DQL: Data Query Language):其语句,也称为"数据检索语句",用以从表中获得数据,确定数据怎样在应用程序给出.保留字SELECT是DQL(也是所 ...

  3. insert 语句_替换某字段中的特定字符串——MySQL REPLACE 与INSERT 函数详解

    MySQL提供了一个非常实用的字符串函数--REPLACE() 函数,它允许用新的字符串替换字段中的特定字符串,而不再需要自己写函数去替换,用起来非常的方便. REPLACE() 函数语法 需要注意的 ...

  4. MySQL的set names命令详解

    执行下面的命令: mysql> set names charset_name; 相当于执行了下面三条命令语句: mysql> SET character_set_client = char ...

  5. [转]mysql优化——show processlist命令详解

    本文转自:https://blog.csdn.net/sunqingzhong44/article/details/70570728 版权声明:本文为博主原创文章,未经博主允许不得转载. https: ...

  6. Mysql load data local命令详解

    1.load data local命令使用方法 不指定字段名 此写法数据文件内字段数必须跟数据库表一致 load data local infile "C:\\test.txt" ...

  7. linux dd销毁数据,dd命令详解(清除硬盘数据)

    dd 是Linux/UNIX下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝 的同时进行指定的转换. 1.命令简介 dd的主要选项: 指定数字的地方若以下列字符结尾乘以相应的数字: ...

  8. BULK INSERT用法详解,文本导入SQL,字段数量不等实例.

    Bulk Insert命令详解 BULK INSERT 以用户指定的格式复制一个数据文件至数据库表或视图中. 语法 BULK INSERT [ [ 'database_name'.][ 'owner' ...

  9. mysql57数据库命令_MySQL 5.7 mysql command line client 使用命令详解

    MySQL 5.7 MySQL command line client 使用命令 1.输入密码:****** 2.ues mysql;使用Mysql 3.show databases;显示数据库 4. ...

最新文章

  1. AI科普微视频丨深度学习如何帮助自动驾驶
  2. orangepi找不到GPIO的解决方法
  3. 使用Java泛型实现快速排序(快排,Quicksort)
  4. 嵌入式Linux基础学习笔记-文件IO编程-I/O多路复用
  5. Kinect v2.0 for windows开发环境说明
  6. elastic-job配置类
  7. 为什么说5G会提前于2018年到来?
  8. linux 安装x环境,linux下安装xdebug
  9. 只有学霸才懂的学习技巧,看完脑洞大开,绝对涨姿势!
  10. 关于字符串截取的函数
  11. react-native拨打电话和安卓端拨打电话
  12. silverlight小结
  13. jovi五子棋下载_五子棋终结者
  14. iconfont 彩色图标的使用
  15. 最近越来越当心,是不是自己真的老了。。。
  16. 2021-2027全球与中国网眼织物纺织品市场现状及未来发展趋势
  17. 江苏发展大会上有哪些科技界大佬,他们的“隐私”你知道多少?
  18. 复数的指数C语言,复数运算 - RapidBird的个人空间 - OSCHINA - 中文开源技术交流社区...
  19. 镭速(Raysync)文件传输对比Filezilla测试!
  20. 个人网站建设(装逼)指南

热门文章

  1. 使用vs2008c++语言开发activex控件教程,使用VS2010 C#开发ActiveX控件(上)
  2. 全国计算机等级考试一级证书在哪查啊?
  3. 一个长期颈椎问题的工薪阶层关于颈椎的康复和预防的心得
  4. Redis基本概念和作用
  5. 老板三八妇女节的祝词
  6. tomcat卸载重装_apache tomcat 彻底卸载
  7. 知识图谱与金融——基于知识图谱的风险监控与决策支持
  8. 自适应滤波器:最小均方误差(LMS)滤波器
  9. [nowcoder1100B]仓鼠的石子游戏
  10. 2.2身份鉴别与访问控制