可以使用INSERT INTO 语句用于向表中插入新的记录,可以同时插入一行或者多行。
1.语法
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
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
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
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
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 行记录)