文章目录

  • 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. 场效应晶体管的几点使用知识!
  2. 成功入职字节跳动!2021年冲刺年薪40w
  3. python xpath语法-Python爬虫之XPath语法和lxml库的用法
  4. 浅析Unity中的Enlighten与混合光照
  5. 通过IHttpHandler实现图片验证码
  6. 对称加密算法---加密学习笔记(三)
  7. mysql分页插件springboot_SpringBoot--使用Mybatis分页插件
  8. linux编译ios动态库,[Linux] linux下生成静态库和动态库
  9. python数据加载常规教程_Python加载数据的5种不同方式(收藏)
  10. java 中文乱码的解决方法
  11. 「缠师课后回复精选」第15课:没有趋势,没有背驰。
  12. 土地购买[Usaco2008 Mar]
  13. 基于美国人口数据分析
  14. 软件工程(3)微信抢票实验个人总结
  15. RN入门基础3:JSX动态布局之自定义属性state
  16. 在线版音乐播放器APP(一)
  17. 企业三层架构、冗余、STP生成树协议总结
  18. PMP项目管理学习心得
  19. 2014年发生的一些事情
  20. Eclipse oxygen 版本汉化教程

热门文章

  1. 不用暴力,惩罚有效的10个方法
  2. CF786B Legacy 线段树优化建图
  3. vue拖拽排序 组件
  4. WEB安全的学习总结与心得(五)
  5. 叶面积指数观测仪-叶面积指数观测仪简单介绍
  6. calchist 计算出的像素 较少_OpenCV calcHist
  7. 爬取一周天气获取24小时温度+数据可视化
  8. 买卖股票的最佳时机四
  9. 改善重复办公的计算机工具,吐血推荐!我电脑上「最引以为豪」的办公工具,用上立马效率翻倍...
  10. 说说我的专业计算机作文,我家的电脑作文