Kaip MySQL sukuria / numeta laikiną lentelę? MySQL laikinųjų lentelių vaidmuo

MySQLKaip sukurti/išmesti temp lentelę?MySQLLaikinųjų lentelių vaidmuo

MySQL laikina lentelė

MySQL laikinosios lentelės yra labai naudingos, kai reikia saugoti laikinus duomenis.Laikinos lentelės matomos tik esamame ryšyje. Kai ryšys bus uždarytas, Mysql automatiškai ištrins lentelę ir atlaisvins visą vietą.

Laikinos lentelės buvo pridėtos MySQL 3.23 versijoje. Jei jūsų MySQL versija yra senesnė nei 3.23 versija, negalite naudoti MySQL laikinųjų lentelių.Tačiau retas kuris dabar naudoja tokią žemą versiją.MySQL duomenų bazėpaslauga.

Laikiną MySQL lentelę mato tik dabartinis ryšys. Jei MySQL laikinajai lentelei sukurti naudojate PHP scenarijų, laikinoji lentelė bus automatiškai sunaikinta, kai tik bus vykdomas PHP scenarijus.

Jei naudojate kitą MySQL kliento programą, kad prisijungtumėte prie MySQL duomenų bazės serverio ir sukurtumėte laikiną lentelę, laikina lentelė bus sunaikinta tik uždarius kliento programą.Žinoma, galite ją sunaikinti ir rankiniu būdu.

pavyzdys

Toliau pateikiamas paprastas MySQL laikinosios lentelės naudojimo pavyzdys. Šis SQL kodas gali būti taikomas PHP scenarijaus funkcijai mysql_query().

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 



                                   

  

kai naudojateRODYTI TABULIUSKai komanda parodys duomenų lentelių sąrašą, negalėsite matyti lentelės SalesSummary.

Jei atsijungiate nuo dabartinės MySQL sesijos, naudokiteSELECTkomandą nuskaityti iš pradžių sukurtus laikinosios lentelės duomenis, tada pamatysite, kad lentelės duomenų bazėje nėra, nes išėjus laikinoji lentelė buvo sunaikinta.


Nuleiskite laikinąją MySQL lentelę

Pagal numatytuosius nustatymus laikinosios lentelės automatiškai sunaikinamos, kai atsijungiate nuo duomenų bazės.Žinoma, galite naudoti ir dabartinėje MySQL sesijojeNURODYMAS STALASkomanda rankiniu būdu numesti laikinąją lentelę.

Toliau pateikiamas laikinos lentelės rankinio išmetimo pavyzdys:

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' 存在  

发表 评论

Jūsų el. pašto adresas nebus skelbiamas. Naudojami privalomi laukai * Etiketė

Pereikite į viršų