首页 > 数据库 >无涯教程-MySQL - 临时表

无涯教程-MySQL - 临时表

时间:2023-11-27 16:03:32浏览次数:45  
标签:教程 NULL name 0.00 MySQL 无涯 mysql total SalesSummary

在某些情况下,临时表对于保留临时数据可能非常有用,临时表应该知道的最重要的事情是,当当前客户端会话终止时,它们将被删除。

创建临时表

在MySQL 3.23版中添加了临时表。如果您使用的MySQL版本早于3.23,则不能使用临时表,但可以使用堆表。

语法:

mysql> CREATE TEMPORARY TABLE table_name (
   column_1, column_2, ..., table_constraints
);

以下程序是一个示例,向您显示临时表的用法。

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)

发出 SHOW TABLES 命令时,临时表不会在列表中列出,现在,如果您要退出MySQL会话,然后发出 SELECT 命令,那么数据库中将找不到可用的数据,甚至您的临时表也将不存在。

删除临时表

语法:

mysql> DROP TEMPORARY TABLE table_name;

默认情况下,当数据库连接终止时,MySQL将删除所有临时表,如果需要删除它们,则可以通过发出 DROP TABLE 命令来删除它们,但是,在DROP TABLE语句中使用 TEMPORARY 关键字是一种很好的做法。

以下程序是删除临时表的示例-

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;
ERROR 1146: Table 'Learnfk.SalesSummary' doesn't exist

参考链接

https://www.learnfk.com/mysql/mysql-temporary-tables.html

标签:教程,NULL,name,0.00,MySQL,无涯,mysql,total,SalesSummary
From: https://blog.51cto.com/u_14033984/8586825

相关文章

  • 如何使用JMeter测试https请求?800字教程包教包会!
    HTTP与HTTPS略有不同,所以第一次使用JMeter测试https请求时遇到了问题,百度一番后找到解决方法:加载证书。下面内容主要记录这次操作,便于后续参考:操作浏览器:谷歌(1)下载被测网站证书,点击安全锁,选择安全证书 (2)查看证书的详细信息,显示所有后点击复制到文件(3)依次下一步,选择DER编......
  • Sealos 云操作系统私有化部署教程
    Sealos私有云已经正式发布了,它为企业用云提供了一种革命性的新方案。Sealos的核心优势在于,它允许企业在自己的机房中一键构建一个功能与Sealos公有云完全相同的私有云。这意味着企业可以在自己的控制和安全范围内,享受到公有云所提供的灵活性和扩展性。这对于需要高度数据安全......
  • 无涯教程-MySQL - NULL 语句
    前面已经介绍了如何利用SQL的SELECT命令配合WHERE子句来获取MySQL表中的数据,但假如尝试给出一个条件,将字段或列值与NULL比对,则会出现异常。为了处理这种情况,MySQL提供了三个运算符-ISNULL      -如果列值为NULL,则此运算符返回true。ISNOTNULL-如果......
  • 超详细的Mysql锁 实战分析,你想知道的都在这里~
    1.mysql回表查询在这里提起主要是用于说明mysql数据和索引的结构,有助于理解后续加锁过程中的一些问题。mysql索引结构和表数据结构是相互独立的,根据索引查询,只能找到索引列和主键聚簇索引。如果select语句中不包含索引列,mysql会根据主键聚簇索引二次回表查询所需要的数据,查询出......
  • 3、python脚本连接本地mysql数据库读取表数据
    #coding:utf-8frompymysqlimportconnectdata_list=[]#将数据存入数据库conn=connect(host="10.36.128.83",port=20002,database="sthjj_sthj",user="lw_lwc",password=&qu......
  • Mysql Varchar(n) 占用字符、字节数浅析
    一、概述varchar(n)括号中的n代表最大可容纳的字符的个数,注意,并不是代表字节的个数一个中文和一个英文都是一个字符,只不过mysql的编码格式不同时,一个英文和一个中文所占用的存储字节数不同,一个英文字符占用的字节数是1,中文字符和英文字符不同,以下是常用的编码格式......
  • node版本管理神器nvm安装使用教程(Windows11版本)
    安装前提在安装nvm之前,我们需要先将已有的node.js全部卸载!下载安装包进行安装第一步,下载安装包,nvm下载地址可下载以下文件:nvm-noinstall.zip:绿色免安装版,但使用时需要进行配置。nvm-setup.zip:安装版,推荐使用nvm-setup.exe:无需解压,直接安装,墙裂推荐!!!如下图: 第二步,进行......
  • 线上业务系统的迁移思路【MySQL】
    概论在日常开发场景中,迁移数据库是非常常见的。但是线上业务系统进行迁移,并不是见一个简单的问题,必须考虑到迁移过程中线上系统的可用性、性能等。本文针对MySQL对迁移策略进行讨论。实现方法思路一:binlogMySQL的binlog日志是一种二进制格式的日志,binlog记录所有的DDL和DML语......
  • 无涯教程-MySQL - 安装设置
    MySQL的所有下载均位于MySQL下载中,选择MySQLCommunityServer的版本号,以及将在其上运行的平台。Linux安装建议在Linux系统上安装MySQL的方法是通过RPM。 现在,您将需要遵循以下步骤,继续进行安装-[root@host]#rpm-iMySQL-x.x.xx.i386.rpm您可以在/usr/bin和/usr/sbin......
  • mysql 第一个查询结果中排除掉第二个查询结果
    selecte.ENAME,d.LOCfromempe,deptdwheree.DEPTNO=d.DEPTNOand(d.LOC='DALLAS'ord.LOC='CHICAGO');第一个语句搜索结果有SMITHALLEN等很多ENAME|LOC|------+-------+SMITH|DALLAS|ALLEN|CHICAGO|WARD|CHICAGO|JONES|DALLAS|MARTIN|CHI......