mysql高级操作

128 阅读3分钟

克隆表

格式:
create table 新表名 like 旧表名;
#克隆表
insert into 新表名 like 旧表名;
#将旧表数据导入到新表中
create table test2 (select * from test);
#克隆表的同时将旧表数据导入到新表中

image.png

image.png

image.png

image.png

查看表结构

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

image.png

image.png

清空表,删除所有表结构

deletedelete from 表名;
#一行一行删除,并返回删除记录条目;删除时间较久
#如果表中有自增长字段,使用"DELETE FROM"删除所有记录后,新添加的记录会从原来最大的记录ID后面继续自增写入记录。

truncatetruncate table 表名;
#相当于格式化,不返回删除记录条目,删除速度较快
#使用TRUNCATE TABLE清空表内数据后,ID会从1开始重新记录。

image.png

image.png

创建临时表

  • 临时表创建成功之后,使用"SHOW TABLES"命令是看不到创建的临时表的,临时表会在连接退出后被销毁。

  • 如果在退出连接之前,也可以执行增删改查等操作,比如使用"DROP TABLE"语句手动直接删除临时表。

  • 临时表一般用于测试使用,只有当前连接的用户才能看到,相同用户换个终端登录也看不到。退出当前连接(退出数据库)之后临时表会被销毁。

image.png

image.png

image.png

创建外键约束,保证数据的完整性和一致性

外键的定义: 如果同一个属性字段x在表一中是主键,而在表二中不是主键,则字段x称为表二的外键。

外键的作用:

  • 为了一张表记录的数据不要太过冗余。
  • 保持数据的一致性、完整性。

主键表和外键表的理解:

(1)以公共关键字作主键的表为主键表(父表、主表)

(2)以公共关键字作外键的表为外键表(从表、外表)

注意:

  • 与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主从表的字段具备相同的数据类型、字符长度和约束。
  • 添加外键时必须关联主键(即主表先要添加主键,之后从表再添加外键)

创建主键表和外键表

create table test4 (cid int,cname varchar(10));
#创建主键表
create table test5 (id int,name varchar(10),age int,test4 int);
#创建从键表
alter table test4 ADD constraint PK_CID parimary key (cid)
#为主键的cid创建一个主键约束
alter table test5 ADD constraint 

image.png

image.png

image.png

删除主键表中的数据记录

delete from 外键表 where 外键表中相关联的主键字段
#先删除外键
delete from 主键表 where 要删字段的cid号
#再删除主键,不先删除外键无法删除主键数据

image.png

查看和删除外键约束

show create table 外键;
desc 外键;
#查看外键

alter table 外键 drop foreign key 使用的约束;
#删除约束,但是不会消失,因为别名还存在
alter table 外键 drop key 约束;
#删除别名,删除完成

image.png

image.png

image.png

image.png