Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL高级操作

MySQL数据库高级操作实战(克隆表、清空表、创建临时表及约束)

作者:善良的狼人

多年工作中积累整理的数据库高级操作分享给大家,这篇文章主要给大家介绍了关于MySQL数据库高级操作实战的相关资料,其中包括克隆表、清空表、创建临时表及约束等,需要的朋友可以参考下

一、案例扩展

use kgc;
create table if not exists info (
id int(4) zerofill primary key auto_increment,				#指定主键的第二种方式
name varchar(10) not null default '匿名',
cardid int(18) not null unique key,
hobby varchar(50));

二、克隆表

克隆表就是将数据表的数据记录生成到新的表中

1、方法一

create table test01 like KY08;		#通过 LIKE 方法,复制 KY08 表结构生成 test01 表
insert into test01 select * from KY08;
#此方法能保证 新表的表结构、表数据 跟旧表都是一致的

2、方法二

CREATE TABLE test02 (SELECT * from KY08);
#此方法创建的新表的表数据和旧表是一样的,但可能会出现新表的表结构和旧表的不一致
show create table test02\G					#获取数据表的表结构、索引等信息
SELECT * from test02;

三、清空表

删除表内的所有数据

方法一:
delete from test01;
方法二:
truncate table test01;

四、创建临时表

临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查等操作,比如使用 DROP TABLE 语句手动直接删除临时表。

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

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

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

主键表和外键表的理解:

注意:与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主从表的字段具备相同的数据类型、字符长度和约束。

#创建主表 profession
create table profession (pid int(4),proname varchar(50));

#创建从表 student
create table student (id int(4) primary key auto_increment,name varchar(10),age int(3),proid int(4));

#为主表 profession 添加一个主键约束。主键名建议以“PK_”开头。
alter table profession add constraint PK_pid primary key (pid);

#为从表 student 表添加外键,并将 student 表的 proid 字段和 profession 表的 pid 字段建立外键关联。外键名建议以“FK_”开头。
alter table student add constraint FK_pro foreign key (proid) references profession (pid);

desc student;

#插入新的数据记录时,要先主表再从表
insert into profession values(1,'通信工程');
insert into profession values(2,'软件工程');
insert into student values(1,'zhangsan',18,1);
insert into student values(2,'lisi',19,1);
insert into student values(3,'wangwu',20,2);

#删数数据记录时,要先从表再主表,也就是说删除主键表的记录时必须先删除其他与之关联的表中的记录。
delete from student where proid=1;
delete from profession where pid=1;

#查看和删除外键约束
show create table student;
desc student;
alter table student drop foreign key FK_pro;
alter table student drop key FK_pro;

六、MySQL中6种常见的约束

总结

到此这篇关于MySQL数据库高级操作的文章就介绍到这了,更多相关MySQL高级操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文