玖叶教程网

前端编程开发入门

SQL之数据插入(INSERT INTO)的实现

数据插入方式

对数据库中的表进行数据插入时,主要有3种实现方式:

1、编写insert into脚本,在SQL编辑页面直接运行;

2、借助SQL客户端,直接运行insert into脚本文件(文件后缀.SQL),适用于插入数据量较大时,例如表数据的还原;

3、借助SQL客户端,直接导入excel等格式的数据文件,导入时需要对源字段和目标字段进行匹配。

下面主要讲解insert into脚本的编写。

insert into功能

1、通过使用insert into语句,可以方便地向数据库中的表插入数据。

insert into语法结构

insert into主要有三种语法结构

1、单行插入

 INSERT INTO table_name (column_list) VALUES (values_list);

2、多行插入

实现方式1:

INSERT INTO table_name (column_list) VALUES (values_list1), (values_list2),......;

实现方式2:多次使用单行插入

INSERT INTO table_name (column_list) VALUES (values_list1);
INSERT INTO table_name (column_list) VALUES (values_list2);

3、select查询结果插入

INSERT INTO table_name1 (column_list) 
SELECT values_list 
FROM table_name2 
WHERE condition;

重点说明

1、当我们指定列名的时候,顺序可以和表中字段名的顺序不一样,但是列名和插入数据的顺序必须一 一对应。

正确写法:

INSERT INTO 
table_name (column1,column2,column3) 
VALUES (column_value1,column_value2,column_value3);

错误写法:字段1和字段2的列名和数据值不对应,导致脚本报错或插入结果错误

INSERT INTO
table_name (column1,column2,column3)
VALUES (column_value2,column_value1,column_value3);

2、当我们指定列名时,可以只指定部分列,但是未包含的列必须为自增列、有默认值或允许为NULL。

新建表:新建一张表sales_order_item

CREATE TABLE sales_order_item
(
id int NOT NULL AUTO_INCREMENT primary key,
mall_name varchar(10) NOT NULL,
area_name varchar(10) ,
seller_name varchar(10) NOT NULL,
product_count int NOT NULL,
order_status varchar(10) DEFAULT '已付款'
);

正常插入一条数据:由于id为自增列,area_name允许为空,order_status有默认值,所以该脚本可以正常执行

INSERT INTO 
sales_order_item (mall_name,seller_name,product_count) 
VALUES ('城东点','王霞',1);

插入数据时报错:由于mall_name不允许为NULL,所以在插入数据时发生了错误

INSERT INTO
sales_order_item (area_name,seller_name,product_count,order_status)
VALUES ('销售一区','王霞',1,'已付款');

报错内容如下:

3、当要插入的数据包含表中的所有字段时,可以不指定列名,但是数据的顺序必须要和表中字段名的顺序保持一致。

对于需要定时运行的脚本,建议显式指定列名;当不指定列名时,后续如果出现插入列或列顺序调整的情况,就会出现问题

#SQL##如何学习SQL语言##大数据SQL技巧#

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言