我用CREATE TEMPORARY TABLE SELECT的正确语法摔了一会儿。想出了一些事情,我想与社区的其他人分享答案。

有关该语句的基本信息可以在以下MySQL链接中找到:

有时候,解释规范可能是艰巨的。由于大多数人从示例中学到最好的,我将分享我如何创建一个工作语句,以及如何修改它为您工作。

>添加多个索引

此语句显示如何添加多个索引(请注意,索引名称 – 小写 – 是可选的):

CREATE TEMPORARY TABLE core.my_tmp_table

(INDEX my_index_name (tag, time), UNIQUE my_unique_index_name (order_number))

SELECT * FROM core.my_big_table

WHERE my_val = 1

>添加一个新的主键:

CREATE TEMPORARY TABLE core.my_tmp_table

(PRIMARY KEY my_pkey (order_number),

INDEX cmpd_key (user_id, time))

SELECT * FROM core.my_big_table

>创建其他列

您可以创建一个新表,该表的列数多于SELECT语句中指定的列。在表定义中指定附加列。在表定义中指定并且在select中找不到的列将是新表中的第一列,后面是SELECT语句插入的列。

CREATE TEMPORARY TABLE core.my_tmp_table

(my_new_id BIGINT NOT NULL AUTO_INCREMENT,

PRIMARY KEY my_pkey (my_new_id), INDEX my_unique_index_name (invoice_number))

SELECT * FROM core.my_big_table

>从SELECT重新定义列的数据类型

您可以重新定义所选列的数据类型。在下面的示例中,列标签是core.my_big_table中的MEDIUMINT,我将其重新定义为core.my_tmp_table中的BIGINT。

CREATE TEMPORARY TABLE core.my_tmp_table

(tag BIGINT,

my_time DATETIME,

INDEX my_unique_index_name (tag) )

SELECT * FROM core.my_big_table

>创建期间的高级字段定义

所有通常的列定义都可以在创建正常表时使用。例:

CREATE TEMPORARY TABLE core.my_tmp_table

(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

value BIGINT UNSIGNED NOT NULL DEFAULT 0 UNIQUE,

location VARCHAR(20) DEFAULT "NEEDS TO BE SET",

country CHAR(2) DEFAULT "XX" COMMENT "Two-letter country code",

INDEX my_index_name (location))

ENGINE=MyISAM

SELECT * FROM core.my_big_table

mysql 临时表建索引_使用select中的索引在MySQL中创建一个临时表相关推荐

  1. C语言socket accept()函数(提取出所监听套接字的等待连接队列中第一个连接请求,创建一个新的套接字,并返回指向该套接字的文件描述符)

    文章目录 名称 使用格式 功能参数描述 参数 sockfd addr addrlen 返回值 示例 man 2 文档中的accept解释 错误处理 名称 accept() 接收一个套接字中已建立的连接 ...

  2. mysql auto_increment建表_在mysql表中创建一个ID auto_increment(在事实之后)

    小编典典 例如,这是一个具有主键但不是的表AUTO_INCREMENT: mysql> CREATE TABLE foo ( id INT NOT NULL, PRIMARY KEY (id) ...

  3. mysql四种常用的索引_四种常见的索引类型

    主键索引:数据记录里面不能有 null,数据内容不能重复,在一张表里面不能有 多个主键索引. 普通索引:使用字段关键字建立的索引,主要是提高查询速度 唯一索引:字段数据是唯一的,数据内容里面能否为 n ...

  4. mysql 大量数据 更改索引_一文看懂ICP原理--MySQL用索引去表里取数据的一种优化...

    概述 今天主要介绍一下mysql的ICP特性,可能很多人都没听过,这里用一个实验来帮助大家加深一下理解. 一.Index_Condition_Pushdown Index Condition Push ...

  5. mysql 唯一索引_面试官:谈谈你对mysql索引的认识?

    引言 大家好,我渣渣烟.我曾经写过一篇<面试官:讲讲mysql表设计要注意啥>,当时写完后,似乎效果还行! 于是呢,决定再来一个mysql的数据库专题,这篇我们就来谈谈关于索引方面的mys ...

  6. mysql text 查询速度_数据库学习之让索引加快查询速度(四)

    数据库学习之让索引加快查询速度 目录 索引简介 mysql的索引分类 创建索引 添加与删除索引 索引简介 索引在MySQL中也叫做"键",是存储引擎用于快速找到记录的一种数据结构. ...

  7. mysql主键和唯一索引_主键和唯一索引的有什么区别

    主键和唯一索引的区别 -- 区别 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的. 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键. 唯一性索引列允许空值,而主键列不允许为空值 ...

  8. mysql只比较年月_只比较日期和月份与MySQL中的日期字段?

    您可以借助DATE_FORMAT()在MySQL中仅将日期和月份与日期字段进行比较. 语法如下select *from yourTableName WHERE DATE_FORMAT(yourColu ...

  9. mysql 查询系统_使用select和show命令查看mysql数据库系统信息

    (1).select 显示当前日期和时间 mysql> select now(); +---------------------+ | now() | +-------------------- ...

最新文章

  1. 云计算的本质是什么?
  2. NSBundle使用:获取文件路径
  3. 使用 Linux 系统调用的内核命令图解
  4. 简单易懂,ThreadPoolExecutor参数说明
  5. bzoj4245: [ONTAK2015]OR-XOR
  6. torch.backends.cudnn.benchmark 加速训练
  7. php二叉树基本遍历和非递归遍历
  8. HDU1406 完数【水题】
  9. PAT (Basic Level) Practise (中文)- 1006. 换个格式输出整数 (15)
  10. epoll 系列函数简介、与select、poll 的区别
  11. LwIP协议栈源码说明
  12. 计算机教室管理使用规则,多媒体教室使用管理细则
  13. 001_KNN与线性分类器
  14. 【miscellaneous】如何利用硬盘号和CPU序列号为软件加密
  15. vue 获取指定key的value_深入浅出 Vue 中的 key 值
  16. 金融领域的知识图谱搭建简单实操(基于Neo4J)
  17. unity相机旋转带阻尼效果
  18. 当拓普遇上SAP,展翅翱翔的雄鹰飞向了更高的天空
  19. “易+”开源 | 简单可信赖,GameSentry 正式开源
  20. 记录四川移动盒子打开adb命令的方法 型号:UNT401H

热门文章

  1. 智能手机进入开发者模式 小米2A 操作系统Android 4.4 开发者模式
  2. 学成在线案例(完整版)
  3. 从tomcat迁移项目到geronimo
  4. 16进制表示的颜色代码
  5. linux笔记本装载 戴尔,第七代戴尔XPS 13开发版笔记本电脑装载Ubuntu 18.04系统
  6. java 日期format字符串 dd 与 DD ,yy与YY,mm与MM
  7. 状态机(剑圣砍方块)
  8. 土豆数据霍向琦:让时空信息像水电一样服务数字经济
  9. 常用Python标准库对象速查表(2):文件与文件夹操作
  10. Redis修改改端口和链接密码教程笔记