可以使用INSERT INTO 语句用于向表中插入新的记录,可以同时插入一行或者多行。

1.语法

  1. INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
  2. VALUES (value1, value2, value3,...valueN);
  • column1, column2,…columnN 为表中字段名
  • value1, value2, value3,…valueN 为字段对应的值

注意:在使用 INSERT INTO 语句时,字段列必须和数据值数量相同,且顺序也要对应
如果向表中的所有字段插入值,则可以不需要指定字段,只需要指定插入的值即可。
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

2.示例

--创建一个表
 CREATE TABLE COMPANY(
    ID INT PRIMARY KEY     NOT NULL,
    NAME           TEXT    NOT NULL,
    AGE            INT     NOT NULL,
    ADDRESS        CHAR(50),
    SALARY         REAL,
    JOIN_DATE      DATE

image.png

2.1向表中插入数据

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');

runoobdb=# SELECT * FROM COMPANY;
 id | name | age |                      address                       | salary | join_date
----+------+-----+----------------------------------------------------+--------+------------
  1 | Paul |  32 | California                                         |  20000 | 2001-07-13
(1 行记录)

2.2插入部分字段的数据

上个语句插入了所有的字段,现在选择自己想要插入字段的数据,插入到表中

runoobdb=# INSERT INTO COMPANY(ID,NAME,AGE,ADDRESS,JOIN_DATE) VALUES(2,'Allen',25,'Texas','2007-12-13');
INSERT 0 1

image.png

2.3对字段插入默认值

对 JOIN_DATE 字段使用 DEFAULT 子句来设置默认值,而不是指定值:

runoobdb=# INSERT INTO COMPANY(ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES(3,'Teddy',23,'Norway',20000.00,DEFAULT);
INSERT 0 1

image.png

2.4一次插入多行数据

runoobdb=# INSERT INTO COMPANY(ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES(4,'Mark',25,'Rich-Mond',65000.00,'2007-12-13'),(5,'David',27,'Texas',85000.00,'2007-12-13');
INSERT 0 2

--查看插入效果
runoobdb=# SELECT * FROM COMPANY;
 id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------
  1 | Paul  |  32 | California                                         |  20000 | 2001-07-13
  2 | Allen |  25 | Texas                                              |        | 2007-12-13
  3 | Teddy |  23 | Norway                                             |  20000 |
  4 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-13
  5 | David |  27 | Texas                                              |  85000 | 2007-12-13
(5 行记录)