MySQLKiel krei/faligi temptabelon?MySQLLa rolo de provizoraj tabloj
MySQL-provizora tabelo
MySQL-provizora tabelo estas tre utila kiam ni bezonas konservi iujn provizorajn datumojn.Provizoraj tabeloj estas videblaj nur en la nuna konekto. Kiam la konekto estas fermita, Mysql aŭtomate forigos la tabelon kaj liberigos la tutan spacon.
Provizoraj tabeloj estis aldonitaj en MySQL-versio 3.23. Se via MySQL-versio estas pli malalta ol versio 3.23, vi ne povas uzi MySQL-provizorajn tabelojn.Tamen, estas malofte uzi tian malaltan version nun.MySQL-datumbazoservo.
La provizora tabelo de MySQL estas videbla nur al la nuna konekto.Se vi uzas PHP-skripton por krei provizoran tabelon de MySQL, la provizora tabelo estos aŭtomate detruita kiam la PHP-skripto estas ekzekutita.
Se vi uzas alian MySQL-klientprogramon por konekti al la MySQL-datumbaza servilo por krei provizoran tabelon, la provizora tabelo estos detruita nur kiam la klientprogramo estas fermita.Kompreneble, vi povas ankaŭ detrui ĝin permane.
ekzemplo
La sekvanta montras simplan ekzemplon de uzado de MySQL-provizora tabelo, la sekva SQL-kodo povas esti aplikita al la mysql_query() funkcio de la PHP-skripto.
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 秒)
kiam vi uzasMONTRU TABELOJNKiam la komando montras la liston de datumtabloj, vi ne povos vidi la tabelon de SalesSummary.
Se vi eliras la nunan MySQL-sesion, tiam uzuELEKTUkomando por legi la origine kreitajn provizorajn tabelajn datumojn, tiam vi trovos, ke la tabelo ne ekzistas en la datumbazo, ĉar la provizora tabelo estis detruita kiam vi eliras.
Forigu MySQL-provizoran tabelon
Defaŭlte, provizoraj tabeloj estas aŭtomate detruitaj kiam vi malkonektas de la datumbazo.Kompreneble vi ankaŭ povas uzi en la nuna MySQL-sesioFALO TABLOkomando por mane faligi la provizoran tabelon.
La sekvanta estas ekzemplo de mane faligado de provizora tabelo:
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 Blogo ( https://www.chenweiliang.com/ ) konigis "Kiel MySQL kreas/forigas provizoran tabelon? The Role of MySQL Temporary Tables" por helpi vin.
Bonvenon dividi la ligon de ĉi tiu artikolo:https://www.chenweiliang.com/cwl-497.html
Por malŝlosi pliajn kaŝitajn trukojn🔑, bonvenon aliĝi al nia Telegram-kanalo!
Kunhavigu kaj ŝatu se ĝi ŝatas! Viaj akcioj kaj ŝatoj estas nia daŭra instigo!