JavaWeb——MySQL-DML(1/3)-添加数据insert(DML 操作概述、INSERT 语句插入数据、语句演示、总结)

发布于:2025-02-11 ⋅ 阅读:(42) ⋅ 点赞:(0)

目录

DML 操作概述

INSERT 语句插入数据

INSERT 语句基础语法

INSERT 语句演示

注意事项

总结


DML 操作概述

DML 简介

        DML(Data Manipulation Language)即数据操作语言,用于对数据库表中的数据进行增删改操作,包括添加数据(INSERT)、修改数据(UPDATE)和删除数据(DELETE),这三类操作在项目开发中使用频繁,其基础语法务必掌握。

学习目标

        重点掌握 INSERT 语句的基础语法,包括为指定字段和全部字段插入数据的不同语法形式,以及批量插入数据的操作方式,同时了解 INSERT 语句操作时的注意事项。

INSERT 语句插入数据

以员工管理模块为例,在页面原型中,点击 “新增员工” 按钮会打开表单录入员工信息,点击 “保存” 后,服务端将操作数据库,把表单数据添加到数据库中,此时需使用 INSERT 语句。

INSERT 语句基础语法

  • 为指定字段添加数据

语法:INSERT INTO 表名(字段名 1,字段名 2,...)VALUES(值 1,值 2,...)。

先指定要插入数据的表名,接着在括号内列出要添加数据的字段名,多个字段用逗号分隔,然后使用 VALUES 关键字,后面括号内按顺序给出对应字段的值,字段和值的顺序需一一对应。

  • 为全部字段添加数据

语法:INSERT INTO 表名 VALUES(值 1,值 2,...)。

可为表中的所有字段添加数据,此时可省略字段列表,但要确保 VALUES 后面的值按照表结构中字段定义的顺序依次给出,且数量与字段数量一致。

  • 批量操作语法

语法:INSERT INTO 表名(字段名 1,字段名 2,...)VALUES(值 1 组),(值 2 组),... 或 INSERT INTO 表名 VALUES(值 1 组),(值 2 组),... 。

批量操作时,前面部分与单条插入类似,不同在于 VALUES 后面要给出多组值,每组值用括号括起来,组与组之间用逗号分隔。

INSERT 语句演示

  • 为指定字段插入值(以 EMP 表为例)

需求为 EMP 表的user_namenamegender三个字段插入值。

        编写 SQL 语句时,先执行

INSERT INTO EMP (user_name,name,gender) VALUES ('无忌',' 张无忌',1);

        但执行时报错,

提示create_time字段没有默认值。原因是 EMP 表设计时有create_time(创建时间)和update_time(更新时间)两个非空字段,插入数据时需为它们设置当前系统时间,可使用NOW()函数获取。修正后的语句为

INSERT INTO EMP (user_name, name, gender, create_time, update_time)
VALUES (' 无忌', ' 张无忌', 1, NOW(), NOW());

执行后数据插入成功。

  • 为所有字段插入值

        编写

INSERT INTO EMP (id, user_name, password, name, gender, image, job, hire_date, create_time, update_time)
VALUES (NULL, '芷若', '123', '周芷若', '2', '1.jpg', '1', '2010-01-01', NOW(), NOW());

为所有字段插入数据(ID为主键自增,传NULL即可),执行后数据插入成功。

此语句可简化,为所有字段插入值时可省略字段列表,直接写成

INSERT INTO EMP
VALUES (NULL, '芷若', '123', '周芷若', '2', '1.jpg', '1', '2010-01-01', NOW(), NOW());

(需确保值的顺序与表结构字段顺序一致)

  • 批量操作插入数据

        复制单条插入语句并修改值,如

INSERT INTO EMP (user_name, name, gender, create_time, update_time)
VALUES ('韦蝠王', '韦一笑', 1, NOW(), NOW()),
       ('谢狮王', '谢逊', 1, NOW(), NOW());

执行后可一次性向表中插入两条数据,数据间用逗号分隔。

注意事项

  • 字段与值顺序对应插入数据时,指定字段的顺序必须和值的顺序一一对应,且字段数量与值数量相同。例如,为user_namenamegender三个字段插入值时,值的顺序必须与字段顺序一致,不能错位。
  • 字符串与日期类型加引号所指定的字符串以及日期类型数据都需要包含在引号内(单引号或双引号均可)。如插入字符串类型的用户名 '无忌' 和日期类型的入职日期 ‘2010-01-01’时,都要用引号括起来。
  • 数据大小在字段规定范围内插入的数据大小应在字段定义的规定范围内,否则会报错。例如,user_name字段定义为VARCHAR(20),若插入的值超过 20 个字符,如'无忌无忌无忌无忌无忌无忌无忌无忌无忌无忌无忌',执行 INSERT 语句时就会报错提示用户名太长。

总结

INSERT 语句重点

        INSERT 语句用于向数据库表中添加数据,语法形式多样,可根据需求为指定字段或全部字段插入数据,也能进行批量操作。掌握其语法结构及使用场景是操作数据库数据的基础。

实际应用要点

        在实际项目中,使用 INSERT 语句时需严格按照语法规则编写代码,注意字段与值的对应关系、数据类型的正确表示(如字符串和日期类型加引号)以及数据大小的限制。准确使用 INSERT 语句能够确保数据正确插入数据库,为后续数据操作和业务逻辑实现提供保障。


END 


学习自:黑马程序员——JavaWeb课程 


网站公告

今日签到

点亮在社区的每一天
去签到