Πώς δημιουργεί/αποθέτει η MySQL έναν προσωρινό πίνακα; Ο ρόλος των προσωρινών πινάκων MySQL

MySQLΠώς να δημιουργήσετε/αποθέσετε έναν πίνακα θερμοκρασίας;MySQLΟ ρόλος των προσωρινών τραπεζιών

Προσωρινός πίνακας MySQL

Ο προσωρινός πίνακας MySQL είναι πολύ χρήσιμος όταν πρέπει να αποθηκεύσουμε κάποια προσωρινά δεδομένα.Οι προσωρινοί πίνακες είναι ορατοί μόνο στην τρέχουσα σύνδεση. Όταν η σύνδεση κλείσει, η Mysql θα διαγράψει αυτόματα τον πίνακα και θα απελευθερώσει όλο τον χώρο.

Προστέθηκαν προσωρινοί πίνακες στην έκδοση 3.23 της MySQL. Εάν η έκδοση MySQL είναι χαμηλότερη από την έκδοση 3.23, δεν μπορείτε να χρησιμοποιήσετε προσωρινούς πίνακες MySQL.Ωστόσο, είναι σπάνιο να χρησιμοποιήσετε μια τόσο χαμηλή έκδοση τώρα.Βάση δεδομένων MySQLυπηρεσία.

Ο προσωρινός πίνακας της MySQL είναι ορατός μόνο στην τρέχουσα σύνδεση. Εάν χρησιμοποιείτε ένα σενάριο PHP για να δημιουργήσετε έναν προσωρινό πίνακα MySQL, ο προσωρινός πίνακας θα καταστρέφεται αυτόματα κάθε φορά που εκτελείται το σενάριο PHP.

Εάν χρησιμοποιείτε άλλο πρόγραμμα-πελάτη MySQL για να συνδεθείτε στον διακομιστή βάσης δεδομένων MySQL για να δημιουργήσετε έναν προσωρινό πίνακα, ο προσωρινός πίνακας θα καταστραφεί μόνο όταν κλείσει το πρόγραμμα-πελάτη. Φυσικά, μπορείτε επίσης να τον καταστρέψετε με μη αυτόματο τρόπο.

Παράδειγμα

Το παρακάτω δείχνει ένα απλό παράδειγμα χρήσης του προσωρινού πίνακα MySQL, ο ακόλουθος κώδικας SQL μπορεί να εφαρμοστεί στη συνάρτηση mysql_query() του σεναρίου PHP.

MySQL的> CREATE TEMPORARY TABLE SalesSummary - > PRODUCT_NAME VARCHAR 50 NOT NULL
     - > TOTAL_SALES DECIMAL 12 2 NOT NULL DEFAULT 0.00 - > avg_unit_price DECIMAL 7 2 NOT NULL DEFAULT 0.00 - > total_units_sold INT UNSIGNED NOT NULL DEFAULT 0 ); 查询OK 0 行受影响0.00  
     
     
     

 

的MySQL > INSERT INTO SalesSummary - > PRODUCT_NAME TOTAL_SALES avg_unit_price total_units_sold - > VALUES
     - > '黄瓜' 100.25 90 2 );
     
        

mysql > SELECT * FROM SalesSummary ; + -------------- + ------------- + ---------------- + --- --------------- + | product_name | total_sales | avg_unit_price | total_units_sold | + -------------- + ------------- + ---------------- + --- --------------- + | 黄瓜      | 100.25 | 90.00 | 2 | + -------------- + ------------- + ---------------- + --- --------------- + 1 集合0.00 



                                   

  

όταν χρησιμοποιείτεΔΕΙΞΤΕ ΤΙΣ ΠΙΝΑΚΕΣΌταν η εντολή εμφανίζει τη λίστα των πινάκων δεδομένων, δεν θα μπορείτε να δείτε τον πίνακα SalesSummary.

Εάν βγείτε από την τρέχουσα περίοδο λειτουργίας MySQL, χρησιμοποιήστε τοSELECTεντολή για ανάγνωση των αρχικά δημιουργημένων δεδομένων προσωρινού πίνακα, τότε θα διαπιστώσετε ότι ο πίνακας δεν υπάρχει στη βάση δεδομένων, επειδή ο προσωρινός πίνακας έχει καταστραφεί κατά την έξοδο.


Απόθεση του προσωρινού πίνακα MySQL

Από προεπιλογή, οι προσωρινοί πίνακες καταστρέφονται αυτόματα όταν αποσυνδέεστε από τη βάση δεδομένων.Φυσικά μπορείτε να χρησιμοποιήσετε και στην τρέχουσα περίοδο λειτουργίας MySQLΠΤΡΑΠΕΖΙ ΠΤΩΣΗΣεντολή για μη αυτόματη απόρριψη του προσωρινού πίνακα.

Το παρακάτω είναι ένα παράδειγμα μη αυτόματης απόθεσης ενός προσωρινού πίνακα:

mysql> CREATE TEMPORARY TABLE SalesSummary (
    -> product_name VARCHAR(50) NOT NULL
    -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
    -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
    -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO SalesSummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> VALUES
    -> ('cucumber', 100.25, 90, 2);

mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)
mysql>DROP TABLE SalesSummary ; 
mysql >   SELECT * FROM SalesSummary ; 
错误1146 'chenweiliang.SalesSummary' 存在  

Ιστολόγιο Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared "Πώς η MySQL δημιουργεί/διαγράφει έναν προσωρινό πίνακα; The Role of MySQL Temporary Tables» για να σας βοηθήσει.

Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-497.html

Για να ξεκλειδώσετε περισσότερα κρυμμένα κόλπα🔑, καλώς ήρθατε στο κανάλι μας στο Telegram!

Κάντε share και like αν σας αρέσει! Τα share και τα likes σας είναι το συνεχές μας κίνητρο!

 

发表 评论

Η διεύθυνση email σας δεν θα δημοσιευτεί. 必填 项 已 用 * 标注

Μεταβείτε στην κορυφή