W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Mycat暫時只支持新增/刪除 庫和表
create database
會在prototype
節(jié)點建立對應(yīng)的物理庫,所以客戶端能馬上執(zhí)行show
語句查詢物理庫的信息,但是在其他存儲節(jié)點并不馬上執(zhí)行,直到物理表用到該物理庫的時候才建立。
create database IF NOT EXISTS db1
create table
在已經(jīng)存在表的情況下,會覆蓋已經(jīng)存在的表的數(shù)據(jù),并根據(jù)生成的存儲節(jié)點信息向存儲節(jié)點執(zhí)行建表操作。
drop database
會在prototype
節(jié)點刪除對應(yīng)的物理庫,但是對于全局表,分片表的存儲節(jié)點不會進行操作
drop database IF EXISTS db1
CREATE TABLE db1.`customer` (
`id` bigint NOT NULL AUTO_INCREMENT,
`firstname` varchar(100) DEFAULT NULL,
`lastname` varchar(100) DEFAULT NULL,
`modified_date` date DEFAULT NULL,
`created_date` date DEFAULT NULL,
PRIMARY KEY (`id`)
) BROADCAST ENGINE = InnoDB CHARSET = utf8
BROADCAST
是關(guān)鍵字
Mycat會查找配置的名字以c
為首字符串的集群納入該表的存儲節(jié)點,并把sql
添加if not existed
關(guān)鍵字執(zhí)行
CREATE TABLE db1.`customer` (
`id` bigint NOT NULL AUTO_INCREMENT,
`firstname` varchar(100) DEFAULT NULL,
`lastname` varchar(100) DEFAULT NULL,
`modified_date` date DEFAULT NULL,
`created_date` date DEFAULT NULL
, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
Mycat會在prototype
中執(zhí)行此sql
,把添加prototype
為單表的存儲節(jié)點
CREATE TABLE db1.`customer` (
`id` bigint NOT NULL AUTO_INCREMENT,
`firstname` varchar(100) DEFAULT NULL,
`lastname` varchar(100) DEFAULT NULL,
`modified_date` date DEFAULT NULL,
`created_date` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE = InnoDB CHARSET = utf8
DBPARTITION BY hash(id) DBPARTITIONS 2
TBPARTITION BY hash(id) TBPARTITIONS 2
Mycat會在prototype
中執(zhí)行此sql
,然后尋找當(dāng)前名字首字母為c
的集群納入存儲節(jié)點根據(jù)分片規(guī)則開始建庫建表,需要注意的是prototype
不會存儲任何數(shù)據(jù),僅僅在存儲節(jié)點中進行存儲.
建表語句支持PolarDB-X CREATE TABLE
,但暫時不支持全局二級索引和影子庫.
上述的配置僅僅描述,自動化DDL是如何生成配置的.如果涉及到自定義分片算法,自定義數(shù)據(jù)分布,請自己更改配置文件.
添加字段
`ALTER TABLE db1.`travelrecord2```\n`` ADD COLUMN user_id varchar(30);`
修改字段
`ALTER TABLE db1.`travelrecord2```\n`` MODIFY COLUMN user_id varchar(30);`
添加本地索引
`ALTER TABLE db1.`travelrecord2```\n`` ADD INDEX user_id_idx (user_id);`
本地索引更名
ALTER TABLE db1.`travelrecord2```\n`` RENAME INDEX `user_id_idx` TO `iuser_id_idx_new`;`
刪除本地索引
ALTER TABLE db1.`travelrecord2```\n`` DROP INDEX `iuser_id_idx_new`;`
刪除字段
ALTER TABLE db1.`travelrecord2```\n`` DROP COLUMN user_id;`
創(chuàng)建本地索引
CREATE INDEX testIdx ON db1.`travelrecord2` (id);`
刪除索引
DROP INDEX testIdx ON db1.`travelrecord2``
刪除邏輯表
drop ?TABLE db1.`travelrecord2`
僅僅刪除原型庫的物理表,不會刪除存儲節(jié)點的物理表
RENAME ?TABLE travelrecord2 to travelrecord3`
僅僅更改原型庫的物理表與配置中的表名,不會更改存儲節(jié)點的表名. 在單表的情況下,會更新存儲節(jié)點的表名,使單表使用方式一致(如果不是這樣,則會使用舊的表名,導(dǎo)致路由錯誤)
TRUNCATE ?TABLE db1.`travelrecord2``
CHECK TABLE ?db1.travelrecord2;`
掃描邏輯表中對應(yīng)的所有存儲節(jié)點的表字段信息是否相同,如果不相同則會顯示錯誤的節(jié)點信息,需要人工修正
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: