SQL INSERT INTO 语句

SQL INSERT INTO 语句 #

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

SQL INSERT INTO 语法 #

INSERT INTO 语句可以有两种编写形式。

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

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

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

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

INSERT INTO 实例 #

假设我们要向 “domains” 表中插入一个新行。

我们可以使用下面的 SQL 语句:

实例

MariaDB [learnsql]> insert into domains(id,icp,domainname,regdate,enddate) values(60,'west.cn','learnsql.cn','2022/08/17','2028/08/17');
Query OK, 1 row affected (0.002 sec)

MariaDB [learnsql]> select * from domains where id=60;
+----+---------+-------------+------------+------------+
| ID | ICP     | DomainName  | RegDate    | EndDate    |
+----+---------+-------------+------------+------------+
| 60 | west.cn | learnsql.cn | 2022/08/17 | 2028/08/17 |
+----+---------+-------------+------------+------------+
1 row in set (0.001 sec)

在指定的列插入数据 #

我们也可以在指定的列插入数据。

下面的 SQL 语句将插入一个新行,但是只在 “icp"和 “domainname” 列插入数据(id 字段会自动更新):

MariaDB [learnsql]> insert into domains (icp,domainname) values('testicp','testdomain');
Query OK, 1 row affected (0.002 sec)

MariaDB [learnsql]> select * from domains where icp='testicp';
+----+---------+------------+---------+---------+
| ID | ICP     | DomainName | RegDate | EndDate |
+----+---------+------------+---------+---------+
| 61 | testicp | testdomain | NULL    | NULL    |
+----+---------+------------+---------+---------+
1 row in set (0.000 sec)