Table Management
1.Cloning a Table
create table
new_table like
original_table;
insert into
new_table select * from
original_table;
2.Saving a Query Result in a Table
insert into dst_tb1(i,s) select val,name from src_tb1;
将src_tb1表中val和name两列的所有行分别复制到dst_tb1的i和s两列中。
insert into dst_tb1 select * from src_tb1 where val > 100 and name like 'A%;
insert into dst_tb1(i,s) select count(*),name from src_tb1 group by name;
create table dst_tb1 select * from src_tb1 where 0;
创建一个空的目的表
create table dst_tb1 select b,d from src_tb1;
假设src_tb1中有列a、b、c、d,你可以只复制b和d两列到目的表
create table dst_tb1 select c、a、b from src_tb1;
如果源表中列abc按顺序出现,而用户希望复制完成之后各列在目的表中出现顺序为cab
create table dst_tb1( id int not null auto_increment, primary key(id)) select a,b,c from src_tb1;
目的表dst_tb1中4列出现顺序为id,a,b,c。其中abc三列根据源表查询结果赋值,而id列从1开始连续自加,为行序号。
create table dst_tb1 select inv_no,sum(unit_cost*quantity) as total_cost from src_tb1 group by inv_no;
使用total_cost重命名sum(unit_cost*quantity)列
注:使用create table...select 来创建目的表,在带来方便的同时也有一些限制。这主要是由于使用查询结果来创建表,对新表的描述和定义能力不如直接使用create table语句那么强大。对于新创建的目的表mysql不能确定其某些列属性,例如列索引和默认值。可以使用如下技巧,使得目的表中包含这些信息:
(1).如果希望目的表和源表一样,可以使用create table...like
(2).如果希望在目的表中使用索引,可以在sql语句中指明。例如,在scr_tb1中id列是主键,state和city两列作为索引,可以赋予dst_tb1同样的属性。
create table dst_tb1(PRIMARY KEY(id),index(state,city)) select * from src_tb1;
(3).有的属性不能克隆到目的表,例如auto_increment属性和列的默认值。对于这些属性,可以在目的表创建并完成数据复制之后,使用alter table来设置目的表相应的属性。例如,src_tb1的id列不但具有primary key属性,同时具有auto_increment属性,可以这样克隆:
create table dst_tb1(PRIMARY KEY(id)) select * from src_tb1;
alter table dst_tb1 modify id int unsigned not null auto_increment;
3.Creating Temporary Tables
create temporary table tb1_name;
普通的建表语句
create temporary table new_table like original_table;
克隆表
create temporary table tb1_name select...;
根据查询结果建表
注:(1).只有在最后一次使用之后,数据库才会自动删除临时表。如果一个临时表在一个数据库连接内多次重复使用,那么每一次重复使用之前应该先使用drop table 显式地删除该临时表(在一个数据库连接中,如果重复两次使用同一个表名创建临时表,而未删除第一次创建的临时表,将导致数据库错误)
(2).应用程序中使用一个与普通表同名的临时表时,应用程序只会对该临时表就行修改。但是如果数据库连接错误断开,而所使用的应用程序自动创建了数据库连接,那么以后对数据库的修改,都将直接作用于普通表,而不是临时表(已经被自动删除)。
4.Checking or Changing a Table's Storage Engine
select engine from information_schema.tables where table_schema='test' and table_name='customer';
检测information_schema,或使用show table status,或使用show create table 语句,来确定一张表当前使用的引擎。
show table status like 'customer'\G
show create table customer\G
alter table customer engine=innodb;
使用alter table以及一个engine子句,来改变一张表所用的引擎。
注意,改变一个很大的表所用的存储引擎可能会耗费很长时间,并花费大量CPU以及I/O资源。
分享到:
相关推荐
【智能表管理系统单机版】是一款专为管理射频卡智能表设计的软件,由泰安轻松表计有限公司开发。该系统版本为TP射频卡一卡通单机版V2.4,型号为TP-0826,适用于中小型企业和社区的智能表数据管理。 在智能表管理...
一款强大的HBase表管理系统,目前系统集成的功能有,命名空间管理,表管理,列簇管理,标签机制,快照管理,以及一些常见的统计指标展示等,另外,系统还内置了HBaseSQL的功能,欢迎大家下载。 一款强大的HBase表...
"自己学校课程表管理查询系统"是一个专门为学校设计的,用于高效管理和查询学生及教师课程信息的软件系统。这样的系统通常包含多个核心功能模块,旨在优化教学管理过程,提高教学效率,同时也方便师生查看和规划自己...
【课程表管理系统C#】是一个基于C#编程语言开发的应用程序,主要目的是为了方便管理和跟踪个人或集体的课程安排。这个系统集成了增、删、改、查四大基础操作,这是任何数据管理应用的核心功能。增,即添加新的课程...
还有谁米表管理系统简介 有谁米表管理系统有域名挑选和在线竞拍两大功能,前端是响应式橘红色风格,大气简洁上档次。由还有谁博客博主张世奇制作,方便操作简洁易懂,非常适合新手米农搭建使用,采用ASP ACCESS形式...
MAC地址表管理 一个简单可行的办法,优化网络交换性能,增加网络管理的安全性。
电力行业DLT698.45电能表管理软件(V1.1.0.67)发布201907.rar--来源于其它用户分享。LT698.45-101/104电能表管理软件(V1.1.0.67)发布201907.rar
国网DLT698.45电能表管理软件,很好用的698.45电表软件,支持各种读取数据,参数,以及设置参数,此软件在手,走遍天下不愁!
密码表管理系统,包括用户登陆,密码的加密解密,插入删除修改等功能
课程表管理系统源码 源码描述: 本课程表管理系统功能简单适合初学者参考,实现了基本数据的添加与展示,分页采用第三方控件。 具体功能包括: 管理员信息管理:添加新用户 用户信息显示 教师信息管理:教师信息...
HBaseManager,是一款强大的HBase表管理系统,目前系统集成的功能有,命名空间管理,表管理,列簇管理,标签机制,快照管理,以及一些常见的统计指标展示等,另外,系统还内置了HBaseSQL的功能
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设...水电气表管理系统源码+项目说明.zip水电气表管理系统源码+项目说明.zip
日程表管理工具 日程表管理工具 日程表管理工具 日程表管理工具 日程表管理工具 日程表管理工具
家庭IC卡燃气表管理系统,附收费报警LCD显示功能.zip家庭IC卡燃气表管理系统,附收费报警LCD显示功能.zip家庭IC卡燃气表管理系统,附收费报警LCD显示功能.zip家庭IC卡燃气表管理系统,附收费报警LCD显示功能.zip家庭...
IPv4/v6 双栈路由器邻居表管理设计与实现 本文讨论了高性能 IPv4/v6 双栈路由器邻居表管理的设计与实现。该路由器采用ipv4/v6 双协议栈,具有两个独立的邻居表,即 IPv4 邻居表和 IPv6 邻居表。为了实现高效的邻居...
该管理系统可被在校大学生使用,我们常常忘记今天上什么课,又常常不知道在哪里上课,手机是我们常用的工具,用上这个系统之后,可以很方便的查看今天上什么课,里面有全部的源代码,以及 已经发布的可安装程序,...
金融业并表管理咨询服务是金融行业中一个重要的领域,它涉及到金融机构如何综合管理其多个子公司和业务部门的财务数据,以提供全面、准确的财务报告。在金融行业,这种并表管理对于监管合规、风险控制以及决策支持都...
数据库表管理思维导图
在Android平台上,开发一个简单的课程表管理应用是一个基础但实用的项目,可以帮助用户有效地规划和跟踪他们的学习计划。本项目的核心技术围绕SQLite数据库展开,它是一个轻量级、嵌入式的数据库,非常适合移动设备...
关于ORACLE分区表的管理教程 使用适当的存储设置创建表 控制表占用的空间 分析表以检查完整性和移植 从数据字典中检索有关表的信息 在不同格式的 ROWID 之间转换