PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách chèn vào mảng trong PostgreSQL

Đôi khi bạn có thể cần phải chọn vào mảng, nối thêm vào mảng hoặc chèn mảng đối tượng trong PostgreSQL. Trong bài viết này, chúng ta sẽ xem xét cách chèn vào mảng trong PostgreSQL.


Cách Chèn vào Mảng trong PostgreSQL

Dưới đây là các bước để chèn vào mảng trong PostgreSQL. Giả sử bạn có bảng sau nhân viên (id, name, phone_numbers) sao cho cột số điện thoại là một mảng chuỗi.

create table employees ( 
     id int,
     name varchar, 
     phone_numbers varchar[] 
);

Có hai cú pháp được chấp nhận để chèn vào mảng trong PostgreSQL - một cú pháp sử dụng từ khóa ARRAY và cú pháp khác sử dụng dấu ngoặc kép &dấu ngoặc nhọn.


Sử dụng từ khóa ARRAY

Đây là truy vấn SQL để chèn vào mảng trong PostgreSQL bằng từ khóa ARRAY.

# insert into employees (id, name, phone_numbers)
         values (1, ' John Doe', ARRAY ['9998765432','9991234567']);

# select * from employees;
  id |   name    |      phone_numbers
 ----+-----------+-------------------------
   1 |  John Doe | {9998765432,9991234567}


Trong truy vấn trên, chúng tôi sử dụng ARRAY [‘9998765432 ′,’ 9991234567 ’] để chèn mảng vào cột PostgreSQL.


Sử dụng dấu ngoặc đơn và dấu ngoặc nhọn

Chúng ta cũng có thể chèn vào mảng PostgreSQL bằng cách sử dụng dấu nháy đơn và dấu ngoặc nhọn như hình dưới đây.

# insert into employees (id, name, phone_numbers)
  values (2, ' Jim Doe', '{"9996587432","9891334567"}');
 
# select * from employees;
  id |   name    |      phone_numbers
 ----+-----------+-------------------------
   1 |  John Doe | {9998765432,9991234567}
   2 |  Jim Doe  | {9996587432,9891334567}

Trong ví dụ trên, chúng tôi sử dụng ‘{“ 9996587432 ″, ”9891334567”} ’ để chèn vào mảng trong PostgreSQL.

Xin lưu ý, trong trường hợp này, dấu ngoặc nhọn cần được đặt bên trong dấu ngoặc kép. Ngoài ra, vì chúng tôi đang chèn các giá trị chuỗi, chúng cần được đặt trong dấu ngoặc kép, thay vì dấu ngoặc kép, nếu không bạn sẽ gặp lỗi cú pháp.


Chèn mảng đối tượng

Bạn cũng có thể chèn mảng đối tượng nếu bạn có một mảng cột mảng trong PostgreSQL. Hãy để chúng tôi nói rằng bạn có bảng sau sao cho doanh số bán hàng cột là một mảng của mảng.

create table employees ( 
     id int,
     name varchar, 
     sales int[][] 
);

Đây là truy vấn SQL để chèn mảng đối tượng trong PostgreSQL.

# insert into employees (id, name, sales)
             values (2, ' Jim Doe', '{{150,100},{200,100}}');

# select * from employees;
  id |   name   |         sales
 ----+----------+-----------------------
   2 |  Jim Doe | {{150,100},{200,100}}

Xin lưu ý, bạn cần đặt mỗi đối tượng mảng trong dấu ngoặc nhọn riêng biệt, bên trong dấu ngoặc nhọn chính và dấu ngoặc kép, ‘{ { 150.100 } , { 200.100 } } ’ nếu không, bạn sẽ gặp lỗi.


Cần một công cụ báo cáo cho PostgreSQL? Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kết nối Postgres với máy chủ localhost bằng pgAdmin trên Ubuntu?

  2. PostgreSQL chuyển dữ liệu từ CTE đệ quy vào hàm

  3. Kiểm tra KHÔNG ĐẦY ĐỦ cho một bản ghi không trả về TRUE khi biến được đặt

  4. Cách sạch sẽ để sử dụng các chức năng cửa sổ postgresql trong django ORM?

  5. PostgreSQL, truy vấn phức tạp để tính toán các thành phần theo công thức