MySQL——insert注意事项

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: MySQL——insert注意事项

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

我们先创建一个goods表


1. create table `goods`(
2. id INT,
3. goods_name VARCHAR(10),
4. price DOUBLE );

下面插入一条语句

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

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

fa53ecf5691a4d7b8c915b63850f068e.png

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

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

82cf9a6cebe945eda0edbcf392069244.png

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

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

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

22b2647c483b48bf953678e2f8ff1778.png

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

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

47fc8a6bba3e4043893815e6dd0edeee.png


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

例如:

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



0f7405844f224a7183dcd10ebbe4c022.png

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

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

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

7770d4d6997f479c9495b7ec1c322d99.png

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

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

32545e2fe6124fe7a257b1ab5451e3d4.png

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

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


 2fb498e05ee546d9a89efaa632d9ef9e.png

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

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

如下图:

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


865f8f43034c434d943fa5903e4ff165.png

默认值的使用🎮

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

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

522f6019296045f595791f07c25f0ad6.png

显然 price 默认给的就是100!  

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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
12月前
|
存储 关系型数据库 MySQL
MySQL 字符字段长度设置详解:语法、注意事项和示例
MySQL 字符字段长度设置详解:语法、注意事项和示例
942 0
|
存储 自然语言处理 关系型数据库
MySQL全文索引源码剖析之Insert语句执行过程
【8月更文挑战第17天】在MySQL中,处理含全文索引的`INSERT`语句涉及多步骤。首先进行语法解析确认语句结构无误;接着语义分析检查数据是否符合表结构及约束。随后存储引擎执行插入操作,若涉及全文索引则进行分词处理,并更新倒排索引结构。此外,事务管理确保了操作的完整性和一致性。通过示例创建含全文索引的表并插入数据,可见MySQL如何高效地处理此类操作,有助于优化数据库性能和提升全文搜索效果。
154 2
|
关系型数据库 MySQL
解决MySQL insert出现Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘xxx‘ at row 1
解决MySQL insert出现Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘xxx‘ at row 1
964 2
|
存储 关系型数据库 MySQL
在 MySQL 中使用 Insert Into Select
【8月更文挑战第11天】
3893 0
在 MySQL 中使用 Insert Into Select
|
SQL 关系型数据库 MySQL
【MySQL】DQL-分组查询-语法&where与having的区别&注意事项&可cv例题语句
【MySQL】DQL-分组查询-语法&where与having的区别&注意事项&可cv例题语句
【MySQL】DQL-分组查询-语法&where与having的区别&注意事项&可cv例题语句
|
关系型数据库 MySQL 数据库
mysql 中文问号,mybatis-plus insert中文数据库显示问号
mysql 中文问号,mybatis-plus insert中文数据库显示问号
179 1
|
SQL 关系型数据库 MySQL
【MySQL】DQL-排序查询-语法&注意事项&可cv例题语句
【MySQL】DQL-排序查询-语法&注意事项&可cv例题语句
|
SQL 关系型数据库 MySQL
【MySQL】DQL-排序查询-语法&排序方式&注意事项&可cv例题语句
【MySQL】DQL-排序查询-语法&排序方式&注意事项&可cv例题语句
|
关系型数据库 MySQL Java
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
|
SQL 关系型数据库 MySQL
【MySQL】DQL-聚合函数介绍&常见聚合函数&语法&注意事项&可cv例题语句
【MySQL】DQL-聚合函数介绍&常见聚合函数&语法&注意事项&可cv例题语句

推荐镜像

更多