Tải bản đầy đủ (.pdf) (3 trang)

Bảng tạm (Temporary Table) trong SQL | 79 bài học SQL hay nhất PDF bang tam trong sql

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (299.49 KB, 3 trang )

/>
Copyright © vietjack.com

Bảng tạm (Temporary Table) trong SQL
Có nhiều RDBMS hỗ trợ Bảng tạm (Temporary Table). Bảng tạm (Temporary Table) là một tính
năng tuyệt vời giúp bạn lưu giữ và xử lý các kết quả trung gian bằng việc sử dụng các khả năng
như chọn, cập nhật, kết hợp giống như bạn có thể sử dụng với các bảng điển hình trong SQL
Server.
Bảng tạm (Temporary Table) có thể rất hữu ích trong một số trường hợp khi bạn muốn lưu giữ dữ
liệu tạm thời. Điều quan trọng nhất bạn cần nên biết về Bảng tạm (Temporary Table) là chúng có
thể bị xóa khi Client Session hiện tại kết thúc.
Bảng tạm (Temporary Table) là có sẵn từ MySQL phiên bản 3.23 trở đi. Nếu bạn sử dụng một
phiên bản cũ hơn, bạn không thể sử dụng tính năng này, nhưng bạn có thể sử dụng các Heap
Table.
Như đã đề cập, bảng tạm sẽ chỉ tồn tại khi session là còn tồn tại. Nếu bạn chạy code trong PHP
script, bảng tạm sẽ bị hủy tự động khi script kết thúc việc thực thi. Nếu bạn được kết nối với
MySQL Database thông qua chương trình MySQL Client, thì bảng tạm sẽ tồn tại tới khi bạn đóng
Client hoặc hủy bảng.

Ví dụ
Ví dụ sau minh họa cách sử dụng của bảng tạm.
mysql> CREATE TEMPORARY TABLE DOANHTHU (
-> ten_san_pham VARCHAR(50) NOT NULL
-> , tong_doanh_thu DECIMAL(12,2) NOT NULL DEFAULT 0.00
-> , gia_trung_binh DECIMAL(7,2) NOT NULL DEFAULT 0.00
-> , tong_so_luong INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO DOANHTHU
-> (ten_san_pham, tong_doanh_thu, gia_trung_binh, tong_so_luong)


-> VALUES
-> ('iphone7', 30, 15, 2);

Trang chia sẻ các bài học online miễn phí

Page 1


/>
Copyright © vietjack.com

mysql> SELECT * FROM DOANHTHU;
+--------------+-------------+----------------+------------------+
| ten_san_pham | tong_doanh_thu | gia_trung_binh | tong_so_luong |
+--------------+-------------+----------------+------------------+
| iphone7

|

30 |

15 |

2 |

+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)

Khi bạn thông báo một lệnh SHOW TABLES, thì bảng tạm của bạn sẽ không được liệt kê trong
danh sách. Bây giờ, nếu bạn đăng xuất khỏi MySQL session và sau đó bạn thông báo một lệnh

SELECT, thì bạn sẽ không thấy dữ liệu nào có sẵn trong Database. Ngay khi đó, bảng tạm của bạn
cũng sẽ không tồn tại.

Xóa bảng tạm trong SQL
Theo mặc định, tất cả bảng tạm bị xóa bởi MySQL khi kết nối tới Database của bạn kết thúc. Nếu
bạn vấn muốn xóa chúng, bạn thông báo một lệnh DROP TABLE.
Ví dụ sau minh họa cách xóa một bảng tạm trong SQL.
mysql> CREATE TEMPORARY TABLE DOANHTHU (
-> ten_san_pham VARCHAR(50) NOT NULL
-> , tong_doanh_thu DECIMAL(12,2) NOT NULL DEFAULT 0.00
-> , gia_trung_binh DECIMAL(7,2) NOT NULL DEFAULT 0.00
-> , tong_so_luong INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO DOANHTHU
-> (ten_san_pham, tong_doanh_thu, gia_trung_binh, tong_so_luong)
-> VALUES
-> ('iphone7', 30, 90, 2);

mysql> SELECT * FROM DOANHTHU;
+--------------+-------------+----------------+------------------+
| ten_san_pham | tong_doanh_thu | gia_trung_binh | tong_so_luong |

Trang chia sẻ các bài học online miễn phí

Page 2


/>

Copyright © vietjack.com

+--------------+-------------+----------------+------------------+
| iphone7

|

30 |

15 |

2 |

+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)
mysql> DROP TABLE DOANHTHU;
mysql>

SELECT * FROM DOANHTHU;

ERROR 1146: Table 'VIETJACK.DOANHTHU' doesn't exist

Trang chia sẻ các bài học online miễn phí

Page 3



×