分表
--创建key分表
create table user1(
uid int auto_increment primary key,
uname varchar(20) not null
)engine=myisam default charset=utf8
partition by key(uid) partitions 3;
--创建hash分表
create table user2(
uid int auto_increment primary key,
uname varchar(20) not null
)engine=myisam default charset=utf8
partition by hash(uid) partitions 3;
--创建range分表
create table user3(
uid int auto_increment,
uname varchar(20) not null,
brithday date not null default '0000-00-00',
primary key(uid,brithday)
)engine=myisam default charset=utf8
partition by range(year(brithday))(
partition 80hou values less than (1990),
partition 90hou values less than (2000),
partition 00hou values less than (2010)
);
--创建list分表
create table goods(
gid int auto_increment,
gname varchar(20) not null,
cid int not null,
primary key(gid,cid)
)engine=myisam default charset=utf8
partition by list(cid)(
partition g1 values in(1),
partition g2 values in(2,3),
partition g3 values in(4,5,6)
);
--增加key/hash模式分区
--格式: alter table 表名 add partition partitions 数量
alter table user1 add partition partitions 2;
alter table user2 add partition partitions 2;
--删除key/hsah模式分区
--格式: alter table 表名 coalesce parition 数量
alter table user1 coalesce partition 2;
alter table user2 coalesce partition 2;
--增加range模式分区
--格式: alter table 表名 add partition ( partition 分区名 values less than (值))
alter table user3 add partition(
partition 10hou values less than (2020)
)
--删除range模式分区
--格式:alter table 表名 drop partition 分区名
alter table user3 drop partition 10hou;
--增加list模式分区
--格式:alter table 表名 add partition ( partition 分区名 values in(值))
alter table goods add partition(
partition g4 values in (7)
)
--删除list模式分区
--格式:alter table 表名 drop partition 分区名
alter table goods drop partition g4;
存储引擎
--查询存储引擎
show engines;
--查询库中所有表的状态
--格式:show table status from 库名;
show create table status from a68;
--查询表创建语句
--格式:show create table 表名
show create table tp_user;
--创建基于MyISAM引擎的表
create table user1(
uid int auto_increment primary key,
uname varchar(20) not null
)engine=myisam default charset=utf8;
--创建基于InnoDB引擎的表
create table user2(
uid int auto_increment primary key,
uname varchar(20) not null
)engine=innodb default charset=utf8;
--查询InnoDB存储变量
show variables like 'innodb_file%'
set global innedb_file_per_table=1
标签:存储,--,partition,values,key,mysql,分表,table,alter
From: https://www.cnblogs.com/fuqian/p/16884711.html