INSERT INTO TABLE_NAME (column1, column2, column3, ……columnN) VALUES (value1, value2, value3, ….. valueN);
INSERT INTO table
(column1, column2, ... )
default VALUES;
INSERT INTO table_name (column1, column2, ... ) SELECT expression1, expression2, ... FROM source_table [WHERE conditions];
参数 | 说明 |
Table_name | 它用来表示现有的表名。 |
column1,column2…columnN | 这些是我们要在其中插入数据的表中的列的名称。 |
WHERE conditions | 这是一个可选参数,在第三种语法中使用。这些是插入记录必须发生的条件。 |
DEFAULT VALUES | 所有列均将使用其默认值进行定义。它用于第二种语法。 |
source_table | 当我们要从另一个表插入数据时使用。它用在第三种语法中。 |
expression1 | DEFAULT, expression2 | DEFAULT | 这些是分配给表中各列的值。 如果指定了 expression1 ,则将授予 column1 值为 expression1, column2 将被赋予expression2的值,依此类推。 如果指定了 DEFAULT ,则一致的列将被其默认值占据。它用在第一种语法中。 |
输出消息 | 说明 |
INSERT Oid 1 | 如果仅插入一行并且Oid是插入的行的数字OID。 |
INSERT 0 # | 如果插入了多行,并且#是插入的行数,则会出现此消息。 |
INSERT INTO myschema."Student"( "St_id", "St_Name", "St_age", "St_address", "St_blood_group") VALUES(101, 'John', 24, 'New York', 'A+') (102, 'Mike', 22, 'Chicago', 'B-'), (103, 'Emily', 24, 'Boston', 'A-'), (104, 'James', 20, 'Philadelphia', 'O+'), (105, 'Sophia', 21, 'New York', 'B+');
CREATE TABLE department (
dept_ID serial PRIMARY KEY,
Dept_name VARCHAR (255) NOT null,
description VARCHAR (255),
location VARCHAR(50)
);
INSERT INTO department (dept_name, location) VALUES ('RESEARCH', 'Newyork');
SELECT * FROM department;
INSERT INTO department (dept_name, location) VALUES ('ACCOUNTING', 'Boston'), ('OPERATIONS','Florida'), ('SALES','Chicago');
SELECT * FROM department;
ALTER TABLE department ADD COLUMN last_update Date;
ALTER TABLE department ALTER COLUMN last_update
SET default CURRENT_DATE;
INSERT INTO department ( Dept_name, last_update) VALUES ('FINANCE','2020-07-02');
INSERT INTO department (Dept_name, last_update)
VALUES('HR',DEFAULT);
Select * from department;
CREATE TABLE department_tmp (LIKE department);
INSERT INTO department_tmp
SELECT *
FROM
department
WHERE
last_update IS NOT null;
SELECT * FROM department_tmp;
INSERT INTO department (dept_name, last_update)
VALUES('IT',DEFAULT)
RETURNING Dept_id;
Select * from department;
CREATE TABLE Customer( Cust_Id int PRIMARY KEY NOT null, Cust_Name TEXT NOT null, Cust_Address CHAR(30), Cust_Age int NOT null Unique );
insert into customer (Cust_Id ,cust_name, Cust_address,Cust_age) values(101, 'john', 'boston',22);
INSERT INTO Customer (Cust_Id ,cust_name, Cust_address,Cust_age) VALUES (102, 'mike', 'newyork',24), (103,'emily', 'newyork',23), (104, 'harvey', 'florida',26);
Select* from customer;