MySQL添加数据 insert 命令详解

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是一种常用的关系型数据库管理系统,它支持多种操作系统,如Linux、Windows和MacOS等。下面是一些常用的MySQL命令: 1. 登录MySQL 在Linux系统中,可以使用以下命令登录MySQL: ``` mysql -u username -p ``` 其中,`username`是你的MySQL用户名。输入该命令后,系统将提示你输入密码。 2. 查看数据库列表 ``` show databases; ``` 该命令将列出MySQL服务器上的所有数据库。 3. 创建数据库 ``` create database dbname; ``` 其中,`dbname`是你要创建的数据库名称。 4. 删除数据库 ``` drop database dbname; ``` 该命令将删除指定的数据库及其所有数据。 5. 使用数据库 ``` use dbname; ``` 该命令将切换到指定的数据库。 6. 查看数据表列表 ``` show tables; ``` 该命令将列出当前数据库中的所有数据表。 7. 创建数据表 ``` create table tablename ( column1 datatype, column2 datatype, column3 datatype, ... ); ``` 其中,`tablename`是你要创建的数据表名称,`column1`、`column2`、`column3`等是表中的列名,`datatype`是列的数据类型。 8. 删除数据表 ``` drop table tablename; ``` 该命令将删除指定的数据表及其所有数据。 9. 插入数据 ``` insert into tablename (column1, column2, column3, ...) values (value1, value2, value3, ...); ``` 该命令将在指定的数据表中插入一条新记录。 10. 更新数据 ``` update tablename set column1 = value1, column2 = value2, ... where condition; ``` 该命令将更新指定数据表中符合条件的记录。 11. 删除数据 ``` delete from tablename where condition; ``` 该命令将删除指定数据表中符合条件的记录。 12. 查询数据 ``` select column1, column2, ... from tablename where condition; ``` 该命令将查询指定数据表中符合条件的记录,并返回指定的列。 以上是一些常用的MySQL命令,你可以根据需要进行更改和扩展。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值