MySQL添加数据 insert 命令详解
文章目录
- 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 命令详解相关推荐
- MySQL中 show processlist命令详解
文章目录 1.show processlist是什么? 2.show processlist怎么用? 3.show processlist参数? 4.命令: show status; 1.show p ...
- MySQL查看数据库状态命令详解
数据查询语言(DQL: Data Query Language):其语句,也称为"数据检索语句",用以从表中获得数据,确定数据怎样在应用程序给出.保留字SELECT是DQL(也是所 ...
- insert 语句_替换某字段中的特定字符串——MySQL REPLACE 与INSERT 函数详解
MySQL提供了一个非常实用的字符串函数--REPLACE() 函数,它允许用新的字符串替换字段中的特定字符串,而不再需要自己写函数去替换,用起来非常的方便. REPLACE() 函数语法 需要注意的 ...
- MySQL的set names命令详解
执行下面的命令: mysql> set names charset_name; 相当于执行了下面三条命令语句: mysql> SET character_set_client = char ...
- [转]mysql优化——show processlist命令详解
本文转自:https://blog.csdn.net/sunqingzhong44/article/details/70570728 版权声明:本文为博主原创文章,未经博主允许不得转载. https: ...
- Mysql load data local命令详解
1.load data local命令使用方法 不指定字段名 此写法数据文件内字段数必须跟数据库表一致 load data local infile "C:\\test.txt" ...
- linux dd销毁数据,dd命令详解(清除硬盘数据)
dd 是Linux/UNIX下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝 的同时进行指定的转换. 1.命令简介 dd的主要选项: 指定数字的地方若以下列字符结尾乘以相应的数字: ...
- BULK INSERT用法详解,文本导入SQL,字段数量不等实例.
Bulk Insert命令详解 BULK INSERT 以用户指定的格式复制一个数据文件至数据库表或视图中. 语法 BULK INSERT [ [ 'database_name'.][ 'owner' ...
- mysql57数据库命令_MySQL 5.7 mysql command line client 使用命令详解
MySQL 5.7 MySQL command line client 使用命令 1.输入密码:****** 2.ues mysql;使用Mysql 3.show databases;显示数据库 4. ...
最新文章
- AI科普微视频丨深度学习如何帮助自动驾驶
- orangepi找不到GPIO的解决方法
- 使用Java泛型实现快速排序(快排,Quicksort)
- 嵌入式Linux基础学习笔记-文件IO编程-I/O多路复用
- Kinect v2.0 for windows开发环境说明
- elastic-job配置类
- 为什么说5G会提前于2018年到来?
- linux 安装x环境,linux下安装xdebug
- 只有学霸才懂的学习技巧,看完脑洞大开,绝对涨姿势!
- 关于字符串截取的函数
- react-native拨打电话和安卓端拨打电话
- silverlight小结
- jovi五子棋下载_五子棋终结者
- iconfont 彩色图标的使用
- 最近越来越当心,是不是自己真的老了。。。
- 2021-2027全球与中国网眼织物纺织品市场现状及未来发展趋势
- 江苏发展大会上有哪些科技界大佬,他们的“隐私”你知道多少?
- 复数的指数C语言,复数运算 - RapidBird的个人空间 - OSCHINA - 中文开源技术交流社区...
- 镭速(Raysync)文件传输对比Filezilla测试!
- 个人网站建设(装逼)指南