目录
插入的数据应与字段的数据类型相同
数据的长度应该在列的规定范围内
在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
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注意事项
觉得写的不错的话 小手给个三连吧!
谢谢大家这么好看还关注我!