我是靠谱客的博主 顺心保温杯,最近开发中收集的这篇文章主要介绍MySQL入门_实战5_数据的插入MySQL入门_实战系列文章目录前言,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MySQL入门_实战系列文章目录


文章目录

  • MySQL入门_实战系列文章目录
  • 前言
    • 1 数据插入
      • 1.1 建表
      • 1.2 不指定字段插入
      • 1.3 指定字段插入
      • 1.4 一次插入多条数据记录
        • 1.4.1 不指定插入字段插入多条记录
        • 1.4.2 指定插入字段插入多条记录
      • 1.4 将查询结果插入另一个表中
      • 1.5 创建表结构完全相同的新表


前言

MySQL向数据表中插入数据使用INSERT语句。可以向数据表中插入完整的行记录,为特定的字段插入数据,也可以使用一条INSERT语句向数据表中一次插入多行记录,还可以将一个数据表的查询结果插入另一个数据表中。

本节就简单地介绍一下如何向MySQL的数据表中插入完整的行记录。


1 数据插入

1.1 建表

向MySQL数据表中插入完整的行记录
trexdb是上一章创建的数据库,这里再trexdb中先创建一个示例表DEPT

mysql> use trexdb;
Database changed
mysql> CREATE TABLE DEPT 
(DNO INT NOT NULL PRIMARY KEY COMMENT '部门编号',
DNAME VARCHAR ( 16 ) COMMENT '部门名称',
LOCATION VARCHAR ( 32 )) COMMENT '部门所在地';

在这里插入图片描述

1.2 不指定字段插入

这时候,结果显示DEPT表中是没有数据的。然后在不指定字段的情况下,向DEPT表中插入数据。

INSERT INTO DEPT VALUES (1, '业务研发部', '深圳');
INSERT INTO DEPT VALUES (2, '销售部', '北京');

查看数据表中的数据。
可以看到,数据表中插入了两行数据记录。
在这里插入图片描述

1.3 指定字段插入

指定需要插入数据的字段,向DEPT数据表中插入数据。

 INSERT INTO DEPT(DNO,DNAME,LOCATION) VALUES (3, '运维部', '深圳');

在这里插入图片描述

注:向数据表中插入数据时未指定字段时,插入的数据必须和字段一一对应,顺序也需要一致。如果此时表结构发生了变化,不指定字段的插入方式会因为字段不匹配而出现报错。在实际项目中,建议使用指定字段的方式向表中插入数据。

1.4 一次插入多条数据记录

例:

1.4.1 不指定插入字段插入多条记录

 INSERT INTO DEPT VALUES 
 (4, '财务部', '深圳'),
 (5, '运营部', '武汉');

在这里插入图片描述

1.4.2 指定插入字段插入多条记录

 INSERT INTO DEPT(DNO,DNAME,LOCATION) VALUES 
 (6, '人事部', '深圳'),
 (7, '公关部', '上海');

在这里插入图片描述

注:向数据表中插入多行数据时未指定字段时,插入的数据必须和字段一一对应,顺序也需要一致。如果此时表结构发生了变化,不指定字段的插入方式会因为字段不匹配而出现报错。在实际项目中,建议使用指定字段的方式向表中插入数据。

1.4 将查询结果插入另一个表中

INSERT语句不仅支持向数据表中直接插入数据,还可以支持向数据表中插入SELECT语句的查询结果。

语法结构:

INSERT INTO target_table
(column1 [, column2,, columnN])
SELECT
(ncolumn1 [, ncolumn2,, ncolumnN])
FROM source_table
[WHERE condition]

语法说明:
target_table:目标表,即需要插入数据的表
column1 [, column2, …, columnN]:目标表的字段。
source_table:源表,即数据来源的表。
ncolumn1 [, ncolumn2, …, ncolumnN]:源表中的字段。
condition:查询语句的条件。

例:
创建名称为DEPT_NEW的数据表,作为插入数据的目标表。DEPT_NEW数据表包含的字段DNO ,DNAME ,LOCATION; 执行创建DEPT_NEW的SQL语句:

CREATE TABLE DEPT_NEW 
(DNO INT NOT NULL PRIMARY KEY COMMENT '部门编号',
DNAME VARCHAR ( 16 ) COMMENT '部门名称',
LOCATION VARCHAR ( 32 )) COMMENT '部门所在地';

此时,表中是无数据的。
在这里插入图片描述
将从DEPT数据表中查询出来的数据插入DEPT_NEW数据表中。

INSERT INTO DEPT_NEW 
(DNO, DNAME, LOCATION)
SELECT
DNO, DNAME, LOCATION
FROM DEPT
WHERE DNO = 1;

在这里插入图片描述

SQL语句执行成功。
查看DEPT_NEW表中的数据。
在这里插入图片描述
可以看出来数据已经成功插入DEPT_NEW表中。

当要插入数据的目标表与查询数据的源数据表结构完全相同时,可以不指定插入数据的目标表的字段列表。

INSERT INTO DEPT_NEW SELECT * FROM DEPT WHERE DNO = 2;

在这里插入图片描述
SQL语句执行成功。
查看DEPT_NEW表中的数据。
在这里插入图片描述

1.5 创建表结构完全相同的新表

使用CREATE…LIKE…语句创建名称为DEPT_BAK表,DEPT_BAK的表结构与DEPT的表结构完全相同。

CREATE TABLE DEPT_BAK LIKE DEPT;

数据表创建成功。查询DEPT_BAK表中的数据

在这里插入图片描述
可以看到,新创建的DEPT_BAK表中的数据为空。

将DEPT表中的数据全部插入到DEPT_BAK中

INSERT INTO DEPT_BAK SELECT * FROM DEPT;

在这里插入图片描述
显示执行成功,查看DEPT_BAK中的数据

SELECT * FROM DEPT_BAK;

在这里插入图片描述
结果显示已经将DEPT表中的数据成功插入DEPT_BAK中。

至此,通过本章的学习,MySQL数据的插入已初步掌握。

如果该文章有帮助到您,请 点赞 支持,谢谢!
有任何疑问,欢迎在评论中留言

最后

以上就是顺心保温杯为你收集整理的MySQL入门_实战5_数据的插入MySQL入门_实战系列文章目录前言的全部内容,希望文章能够帮你解决MySQL入门_实战5_数据的插入MySQL入门_实战系列文章目录前言所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部