Impala - Chèn câu lệnh
Các INSERT Tuyên bố của Impala có hai mệnh đề - into và overwrite. Chèn câu lệnh vớiinto mệnh đề được sử dụng để thêm bản ghi mới vào bảng hiện có trong cơ sở dữ liệu.
Cú pháp
Có hai cú pháp cơ bản của INSERT tuyên bố như sau -
insert into table_name (column1, column2, column3,...columnN)
values (value1, value2, value3,...valueN);
Ở đây, column1, column2, ... columnN là tên của các cột trong bảng mà bạn muốn chèn dữ liệu vào.
Bạn cũng có thể thêm các giá trị mà không cần chỉ định tên cột, nhưng bạn cần đảm bảo thứ tự của các giá trị theo cùng thứ tự với các cột trong bảng như hình dưới đây.
Insert into table_name values (value1, value2, value2);
CREATE TABLE là từ khóa yêu cầu hệ thống cơ sở dữ liệu tạo một bảng mới. Tên hoặc mã định danh duy nhất cho bảng tuân theo câu lệnh CREATE TABLE. Tùy ý bạn có thể chỉ địnhdatabase_name cùng với table_name.
Thí dụ
Giả sử chúng ta đã tạo một bảng có tên student trong Impala như hình dưới đây.
create table employee (Id INT, name STRING, age INT,address STRING, salary BIGINT);
Sau đây là một ví dụ về việc tạo một bản ghi trong bảng có tên employee.
[quickstart.cloudera:21000] > insert into employee
(ID,NAME,AGE,ADDRESS,SALARY)VALUES (1, 'Ramesh', 32, 'Ahmedabad', 20000 );
Khi thực hiện câu lệnh trên, một bản ghi được chèn vào bảng có tên employee hiển thị thông báo sau.
Query: insert into employee (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh',
32, 'Ahmedabad', 20000 )
Inserted 1 row(s) in 1.32s
Bạn có thể chèn một bản ghi khác mà không cần chỉ định tên cột như hình dưới đây.
[quickstart.cloudera:21000] > insert into employee values (2, 'Khilan', 25,
'Delhi', 15000 );
Khi thực hiện câu lệnh trên, một bản ghi được chèn vào bảng có tên employee hiển thị thông báo sau.
Query: insert into employee values (2, 'Khilan', 25, 'Delhi', 15000 )
Inserted 1 row(s) in 0.31s
Bạn có thể chèn thêm một vài bản ghi trong bảng nhân viên như hình bên dưới.
Insert into employee values (3, 'kaushik', 23, 'Kota', 30000 );
Insert into employee values (4, 'Chaitali', 25, 'Mumbai', 35000 );
Insert into employee values (5, 'Hardik', 27, 'Bhopal', 40000 );
Insert into employee values (6, 'Komal', 22, 'MP', 32000 );
Sau khi chèn các giá trị, employee bảng trong Impala sẽ như hình dưới đây.
+----+----------+-----+-----------+--------+
| id | name | age | address | salary |
+----+----------+-----+-----------+--------+
| 1 | Ramesh | 32 | Ahmedabad | 20000 |
| 2 | Khilan | 25 | Delhi | 15000 |
| 5 | Hardik | 27 | Bhopal | 40000 |
| 4 | Chaitali | 25 | Mumbai | 35000 |
| 3 | kaushik | 23 | Kota | 30000 |
| 6 | Komal | 22 | MP | 32000 |
+----+----------+-----+-----------+--------+
Ghi đè dữ liệu trong bảng
Chúng ta có thể ghi đè các bản ghi của một bảng bằng mệnh đề ghi đè. Các bản ghi ghi đè sẽ bị xóa vĩnh viễn khỏi bảng. Sau đây là cú pháp của việc sử dụng mệnh đề ghi đè.
Insert overwrite table_name values (value1, value2, value2);
Thí dụ
Sau đây là một ví dụ về việc sử dụng mệnh đề overwrite.
[quickstart.cloudera:21000] > Insert overwrite employee values (1, 'Ram', 26,
'Vishakhapatnam', 37000 );
Khi thực hiện truy vấn trên, điều này sẽ ghi đè dữ liệu bảng với bản ghi được chỉ định hiển thị thông báo sau.
Query: insert overwrite employee values (1, 'Ram', 26, 'Vishakhapatnam', 37000 )
Inserted 1 row(s) in 0.31s
Khi xác minh bảng, bạn có thể thấy rằng tất cả các bản ghi của bảng employee được ghi đè bởi các bản ghi mới như được hiển thị bên dưới.
+----+------+-----+---------------+--------+
| id | name | age | address | salary |
+----+------+-----+---------------+--------+
| 1 | Ram | 26 | Vishakhapatnam| 37000 |
+----+------+-----+---------------+--------+
Chèn dữ liệu bằng Trình duyệt Huế
Mở trình chỉnh sửa Truy vấn Impala và nhập insertTuyên bố trong đó. Và nhấp vào nút thực thi như được hiển thị trong ảnh chụp màn hình sau.
Sau khi thực hiện truy vấn / câu lệnh, bản ghi này được thêm vào bảng.