首页 编程设计 insert into 语法(insertinto语句)

insert into 语法(insertinto语句)

insert into 语法(insertinto语句)

SQL 中的 INSERT INTO 语句用于向表中插入新记录

INSERT INTO 语句可以有两种语句形式

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可

INSERT INTO table_name VALUES (value1, value2 ,...);

这种语句要求插入的数据要按照创建表时字段的顺序排列数据

第二种形式需要指定列名及被插入的值

INSERT INTO table_name ( column1, column2,...)VALUES (value1, value2 ,...);

这种语句形式不要求 column1 、column2 与表结构创建的顺序一致,但要求 column 与 value 要一一对应

演示数据

先在 MySQL 数据库运行下面的语句创建测试数据

CREATE DATABASE IF NOT EXISTS twle default character set utf8mb4 collate utf8mb4_unicode_ci;

USE twle;

DROP TABLE IF EXISTS `lession`;

CREATE TABLE `lession` (

id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,

name varchar(32) default '',

views int(11) NOT NULL default '0',

created_at DATETIME

);

SQL INSERT INTO 语句

假设我们要向 "lession" 表中插入一个新的行

可以使用下面的 SQL 语句插入 Python 基础教程 课程

INSERT INTO lession VALUES(1, 'Python 基础教程',981,'2017-04-18 13:52:03');

运行以上 SQL 语句,输出结果如下

mysql> INSERT INTO lession VALUES(1, 'Python 基础教程',981,'2017-04-18 13:52:03');

Query OK, 1 row affected (0.01 sec)

使用 SQL 中的 SELECT 语句 查看 lession 表,显示如下

mysql> SELECT * FROM lession;

+----+---------------------+-------+---------------------+

| id | name | views | created_at |

+----+---------------------+-------+---------------------+

| 1 | Python 基础教程 | 981 | 2017-04-18 13:52:03 |

+----+---------------------+-------+---------------------+

在指定的列插入数据

使用 INSERT INTO 语句的时候也可以指定列名

下面的 SQL 语句将插入一个新行,但是只在 "name"、"views"、"created_at" 列插入数据(id 字段会自动更新)

INSERT INTO lession (name,views,created_at) VALUES('Scala 基础教程',73,'2017-04-18 16:03:32');

运行以上 SQL 语句,输出结果如下

mysql> INSERT INTO lession (name,views,created_at) VALUES('Scala 基础教程',73,'2017-04-18 16:03:32');

Query OK, 1 row affected (0.01 sec)

使用 SQL 中的 SELECT 语句 查看 lession 表,显示如下

mysql> SELECT * FROM lession;

+----+---------------------+-------+---------------------+

| id | name | views | created_at |

+----+---------------------+-------+---------------------+

| 1 | Python 基础教程 | 981 | 2017-04-18 13:52:03 |

| 2 | Scala 基础教程 | 73 | 2017-04-18 16:03:32 |

+----+---------------------+-------+---------------------+

你应该注意到,我们没有向 id 字段插入任何数字

id 列是 AUTO INCREMENT ,会自动更新的,表中的每条记录都有一个唯一的数字

插入多条数据

如果需要插入多条记录,可以在 VALUES 关键字后跟上多个记录,每个记录之间使用逗号分隔

下面的 SQL 语句向表 lession 中插入 Ruby 基础教程 和 SQL 基础教程

INSERT INTO lession(id,name,views,created_at) VALUES

(3, 'Ruby 基础教程',199,'2017-05-01 06:16:14'),

(4, 'SQL 基础教程', 533,'2017-05-02 08:13:42');

运行以上 SQL 语句,输出结果如下

mysql> INSERT INTO lession(id,name,views,created_at) VALUES

-> (3, 'Ruby 基础教程',199,'2017-05-01 06:16:14'),

-> (4, 'SQL 基础教程', 533,'2017-05-02 08:13:42');

Query OK, 2 rows affected (0.01 sec)

Records: 2 Duplicates: 0 Warnings: 0

1.Insert into语法是用来插入数据的SQL语句。它的全称是“insert into”,是传统的SQL语句语法,它将用来帮助在数据库表中添加新的行。它属于数据操纵语言(DML)的一部分,用于向表中插入数据和行。

insert into语句通常分为四部分:insert语句本身、表名字、用来定义所要插入数据的列名称和插入的值们:

(1)INSERT INTO 表名称

INSERT INTO语句用于对表中进行插入数据和行,因此必须先指定表中要添加数据的表名称。

(2)(列1,列2,…)

接下来,必须指定插入哪些列名称,以及将要插入的值应该出现在哪个列,这样正确的数据才能进入正确的列中。

(3)VALUES(值1,值2,…)

接着,在VALUES关键字之后,必须提供与列相对应的值,且值的个数要和列的个数一致(如果要插入null值,则可用NULL关键字)。

(4)WHERE 条件

最后,有可能需要在INSERT语句中添加一个WHERE条件来筛选要插入数据的行,通常是在一个已有的表中插入一些新的行时使用的。

比如:

INSERT INTO tableName(column1,column2,column3, …)

VALUES(value1,value2,value3, …)

WHERE condition;

使用INSERT INTO语句时,必须注意,如果表中已经有数据,那么插入的数据的列的类型应该要和表中已有数据的类型相同,否则可能会出现问题。另外,如果插入的数据中有某些字段是不可空的,那么插入数据时必须提供相应的值。

热门文章

Copyright © 2024 智能网 - 系统编程和数码游戏介绍_知识_教程服务平台!All Right Reserved - 备案号 : 蜀ICP备18030039号

免责声明:智能网所有文字、图片等资料仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,如有问题,请联系我们删除。