MySQL数据表的高级操作(上)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 一、克隆表,将数据表的数据记录生成到新的表中方法1:先克隆表结构,再导入表数据。

一、克隆表,将数据表的数据记录生成到新的表中


方法1:先克隆表结构,再导入表数据。

格式:

create table 新表名 like 旧表名;             #通过LIKE方法,复制旧表的结构生成新表
 insert into 新表名 select * from 旧表名;     #再将旧表数据导入新表
复制代码


示例:

create table tt02 like tt01;    #通过tt01表克隆一个tt02表,这样只克隆表结构,没有表数据
 insert into tt02 select * from tt01;    #将tt01的表数据导入tt02中
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


方法2:创建新表的同时,导入旧表数据。

格式:

create table 新表名 (select * from 旧表名);
复制代码


示例:

create table tt03 (select * from tt01);   #创建tt03表的同时,导入tt01表的数据
复制代码


网络异常,图片无法展示
|


二、查看表结构的三种方法

方法一:
 desc 表名;      #以表格形式显示表结构
 方法二:
 show create table 表名;     #以创建表的命令形式显示表结构
 方法三:
 desc 表名\G       #如果字段较多,也可以使用"desc 表名\G"的方式竖向显示表结构
复制代码


网络异常,图片无法展示
|



网络异常,图片无法展示
|
网络异常,图片无法展示
|

三、清空表,删除表内的所有数据

方法一:delete

delete from 表名;
 #DELETE清空表后,返回的结果内有删除的记录条目;
 DELETE 工作时是一行一行的删除记录数据的,删除时速度较慢;
 如果表中有自增长字段,使用"DELETE FROM"删除所有记录后,新添加的记录会从原来最大的记录ID后面继续自增写入记录。
 示例:
 #delete删除所有数据后,新添加的记录id字段值会在原有的13基础上递增1,即增长为14。
 insert into tt02(cardid,hobby) values(1101,'running');
复制代码



网络异常,图片无法展示
|
网络异常,图片无法展示
|

方法二:truncate

truncate table 表名;    #相当于格式化,速度很快
 #TRUNCATE清空表后,没有返回被删除的条目。
 TRUNCATE 工作时是将表结构按原样重新建立,因此在速度方面 TRUNCATE 会比DELETE清空表快。
 使用TRUNCATE TABLE清空表内数据后,ID会从1开始重新记录。
 示例:
 #truncate删除所有数据后,新添加的记录ID会从1开始重新记录。
 insert into tt02(cardid,hobby) values(1101,'running');
复制代码


网络异常,图片无法展示
|


四、创建临时表 TEMPORARY

  • 临时表创建成功之后,使用"SHOW TABLES"命令是看不到创建的临时表的,临时表会在连接退出后被销毁。
  • 如果在退出连接之前,也可以执行增删改查等操作,比如使用"DROP TABLE"语句手动直接删除临时表。
  • 临时表一般用于测试使用,只有当前连接的用户才能看到,相同用户换个终端登录也看不到。退出当前连接(退出数据库)之后临时表会被销毁。

格式:

CREATE TEMPORARY TABLE 表名(字段1 数据类型,字段2 数据类型[, ...] [, PRIMARY KEY (主键名)]);
复制代码


示例:

create temporary table test01 (        #创建临时表test01
 id int(4) zerofill primary key,
 name varchar(10) not null,
 cardid int(18) not null unique key,
 hobby varchar(50));
 show tables;      #使用"show tables"查看不到临时表
 insert into test01 values (1,'张三',123456,'running');    #向临时表中插入数据
 select * from test01;      #查看临时表的数据,可以查看到
 quit                       #退出mysql
 #退出数据库后重新进入,查看临时表数据,提示表不存在。临时表会在连接退出后被销毁。
 select * from test01;
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
SQL 存储 关系型数据库
轻松入门MySQL:玩转数据表的增、删、改、查(4)
轻松入门MySQL:玩转数据表的增、删、改、查(4)
|
1月前
|
SQL 关系型数据库 MySQL
Python怎么操作Mysql数据库
Python怎么操作Mysql数据库
51 0
|
1月前
|
SQL 关系型数据库 MySQL
python如何操作mysql数据库
python如何操作mysql数据库
24 0
|
2月前
|
SQL 存储 算法
mysql常用指令操作
mysql常用指令操作
|
23天前
|
存储 SQL 关系型数据库
【MySQL】4. 表的操作
【MySQL】4. 表的操作
21 0
|
1月前
|
SQL 关系型数据库 MySQL
|
22天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
1月前
|
存储 SQL 关系型数据库
【mysql】—— 表的操作
【mysql】—— 表的操作
|
1月前
|
SQL 存储 关系型数据库
【mysql】—— 数据库的操作
【mysql】—— 数据库的操作
【mysql】—— 数据库的操作
|
1月前
|
SQL 关系型数据库 MySQL
MySQL中常用的操作语句已汇总
MySQL中常用的操作语句已汇总
62 1

热门文章

最新文章