zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MySQL——insert注意事项

2023-02-18 16:35:38 时间

目录?

插入的数据应与字段的数据类型相同?

 数据的长度应该在列的规定范围内?

在values列出的数据位置必须与被加入的列的排列位置相应?

 字符和日期类型的数据应该包含在单引号中?

列可以插入空值 前提是该字段允许为空?

列名后面可以添加多条记录?

 向表中的所有字段添加数据时,可以不写前面的字段名称?

                        默认值的使用?

友友们 大家好呀 我是你们的小王同学??  今天给大家带来的是MySQL的insert语句注意事项 希望能给大家带来有用的知识? 小王的github?:WANGxinzhe666 · GitHub 小文的gitee?:比特王信哲 (bitewang) - Gitee.com 小王的主页?:小王同学

插入的数据应与字段的数据类型相同?

我们先创建一个goods表 

create table `goods`(
id INT,
goods_name VARCHAR(10),
price DOUBLE );

 下面插入一条语句

insert into `goods`(id ,goods_name,price)
values ('abc','小米手机',2000);

很显然是不可以的 因为id是一个整型 接收不了abc的类型! 

 小王同学打算再试着插入一条语句:

insert into `goods`(id ,goods_name,price)
values ('30','小米手机',2000);

居然可以通过 原因是 `30`这个字符串可以转化成整型的 但是abc 跟文字也不行! 

 数据的长度应该在列的规定范围内?

insert into `goods`(id ,goods_name,price)
values (40,'vivovivovivovivo手机',2000);

 结果报错了error

在values列出的数据位置必须与被加入的列的排列位置相应?

insert into `goods`(id ,goods_name,price)
values ('华为手机',20,2000);

原因就是 排列位置不匹配导致的!! 

 字符和日期类型的数据应该包含在单引号中?

 例如:

insert into `goods`(id ,goods_name,price)
values (40,vivo手机,2000);

很显然是不行的! 因为goods_name是一个varchar类型 是字符串要用单引号引起来

列可以插入空值 前提是该字段允许为空?

insert into `goods`(id ,goods_name,price)
values (30,'华为手机',NULL);

我们查看表 发现找到了

create table `goods`(
id INT,
goods_name VARCHAR(10),
price DOUBLE NOT NULL);

 如果在属性后面加了 NOT NULL之后就不允许插入空值了!就会出现图片上的错误

列名后面可以添加多条记录?

insert into `goods`
values (50,'三星手机',2300),(60,'海尔手机',1900);

 向表中的所有字段添加数据时,可以不写前面的字段名称?

我们再向goods表中添加两条数据

如下图:

insert into goods
values(90,'苹果手机',5000),(45,'一加手机',4800);

然后select*from goods 表查看 成功了!

默认值的使用?

我们可以指定某个列的默认值 ,可以在创建表时创建

create table `goods8`(
id INT,
goods_name VARCHAR(10),
price DOUBLE NOT NULL DEFAULT 100);
insert into `goods`(id,goods_name)
values(60,'格力手机');

显然 price 默认给的就是100! 

 以上就是小王同学带给大家的insert注意事项