mysql 数据表操作进阶
mysql 数据表操作进阶
1 克隆数据表,导入表记录
1.1 方法一
create table [库名.]新的表名 like [库名.]参照表名; #根据参照表的表字段,创建一个新的表
insert into [库名.]新的表名 select * from [库名.]参照表名; #将参照表里的表记录复制到新的表上
复制#创建一个新的空数据表
create table school.class2 like class; #依据class表的表字段,创建一个相同表字段的新的空数据表
show tables;
desc class2
select * from class2
复制#向空的数据表中导入数据(表字段和数值类型要一样)
insert into class2 select * from class;
1.2 方法二
create table 库名.新表名 (select * from 库名.参照表名);
复制create table school.class3 (select * from school.class);
select * from school.class3;
2 查看创建表的过程
列式查看创建数据表的过程
show create table 表名 \G
复制show create table class \G
3 清除表,删除表内的数据
3.1 清空表方法一
delete from [库名.]表名
delete 清除表的特点
delete 清空表后,返回结果内有删除的记录条目;
delete 工作时是一行一行的删除记录数据的;
如果表中有自增长字段,使用delete删除所有记录后,再次天剑的记录会从原来最大记录ID后面继续自增长写入
复制select * from number; #查看当前number 表记录
delete from number; #清空number 表
select * from number; #再查看,确认已经清空
insert into number value(); #向number 表中插入数据。number 表中的字段值是自增长的
select * from number; #再次查看number 表记录,发现其自增长字段的值是从之前最大的开始算
3.2清空表 方法二
truncate table [库名.]表名
trunkcate 清空表的特点
trunkcate 清空白表后,没有返回被删除的条目;
truncate 工作时是将表结构按原样重新建立,因此速度上会比delete清空表快;
使用trunkcate清空表内数据后,ID会从1开始重新记录。
复制runcate table number; #清空number 表
4 创建临时表
create temporary table 表名(字段1 数据类型 约束类型 ,字段2 数据类型 约束类型.......);
临时表的特点
临时表创建之后,使用show databases; 命令时看不到创建的临时表的。
临时表会在退出后自动销毁。
在退出连接之前,也可以执行增删改查等操作,如,drop table 语句手动删除临时表
复制create temporary table test01(id int, name char(30));
show tables;
insert into test01 value(1,'zhangsan');
select * from school.test01;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现