Files
mysql-press/docs/mysql/insert.md
2021-05-06 15:10:14 +08:00

4.6 KiB
Raw Permalink Blame History

数据操作

插入数据

上面已经创建了一个class表表的格式为

name sex age

所以应该如何添加数据呢?

insert into 表名(字段名,字段名,....) value(,,...);

添加数据就是使用上面的格式。

所以class表添加数据的方法就是

insert into class(name,sex,age) value("张三","男",20);

图 1

出现这样就是添加成功了

虽然到这里应该还有很多疑问,但是没办法一时解释清楚,请带着疑问走下去。

查询数据

已经插入数据了,那么如何查看呢?

select * from 表名;

这样就是查询数据的方法,让我们来试一下。

select * from class;

图 2

看到了我们的数据已经出现在里面了,那么插入的数据都已经成功了。

插入数据详解

下面详细来了解一下插入数据的语句

insert into 表名(字段名,字段名,....) value(,,...);

表名就可以不用说了,那么后面的字段名如何写呢?

必须是表中含有的字段

就像我们现在的class表只有name sex 与 age 这三个字段,所以插入的时候是(name,sex,age)

如果写一个不存在的字段就会报错比如下面我们写一个classname

insert info class(name,sex,age,classname) value("李三","男",20,"一班");

图 1

现在就报错了

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'class(name,sex,age,classname) value("李三","男",20,"一班")' at line 1

翻译一下

错误106442000您的SQL语法有错误请查看与您的MySQL服务器版本对应的手册以了解使用“classnamesexageclassnamevalue”李三","男",20,"一班")' 在1号线

sql语法错误了不能写表内没有的字段

可以省略一些字段

举个例子

insert class(name) value("李四");

图 2

可以成功

查询一下

图 3

只有名字 其他的都是null只要是不写的字段默认都会是null。

可以省略字段名

上面添加的时候都会写上字段名字,但是名字都是可以省略的,只需要遵循语法规范。

INSERT INTO table VALUE(value1,value2,...);

写法是怎么样的呢后面value的顺序需要跟建表时候的字段顺序一样而且数量需要一样的。

例如现在的这个表

insert into class value('王五','男',11);

图 1

查询一下

图 2

已经出现了

如果说少些了或者多写了会怎么样呢?

insert into class value('王五','男');

图 3

insert into class value('王五','男',11,2);

图 4

两个错误都是一样的,翻译一下

图 5

如果想这么添加必须个数一样,所以一般不会使用这样的添加方法。

一次添加多条数据

现在每次执行一行的时候都是添加的一条数据,有时候我们需要同时添加多条数据的时候怎么办呢?

INSERT INTO table VALUES(value1,value2,...),(value1,value2,...),(value1,value2,...),....;

使用上面的语法就可以比如我们现在的这个class表。

insert into class(name,sex,age) values('小红','男',11),('小名','男',11),('小白','男',11);

这样一次我们添加三条数据,可以再往后添加更多的数据。

图 6

添加成功了,查询一下

图 7

下面添加的那三个已经成功添加进去了。

结束

插入数据已经说完了,下面就是修改数据和删除数据了。