W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Mycat暫時(shí)只支持新增/刪除 庫和表
create database
會(huì)在prototype
節(jié)點(diǎn)建立對(duì)應(yīng)的物理庫,所以客戶端能馬上執(zhí)行show
語句查詢物理庫的信息,但是在其他存儲(chǔ)節(jié)點(diǎn)并不馬上執(zhí)行,直到物理表用到該物理庫的時(shí)候才建立。
create database IF NOT EXISTS db1
create table
在已經(jīng)存在表的情況下,會(huì)覆蓋已經(jīng)存在的表的數(shù)據(jù),并根據(jù)生成的存儲(chǔ)節(jié)點(diǎn)信息向存儲(chǔ)節(jié)點(diǎn)執(zhí)行建表操作。
drop database
會(huì)在prototype
節(jié)點(diǎn)刪除對(duì)應(yīng)的物理庫,但是對(duì)于全局表,分片表的存儲(chǔ)節(jié)點(diǎn)不會(huì)進(jìn)行操作
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會(huì)查找配置的名字以c
為首字符串的集群納入該表的存儲(chǔ)節(jié)點(diǎn),并把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會(huì)在prototype
中執(zhí)行此sql
,把添加prototype
為單表的存儲(chǔ)節(jié)點(diǎn)
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會(huì)在prototype
中執(zhí)行此sql
,然后尋找當(dāng)前名字首字母為c
的集群納入存儲(chǔ)節(jié)點(diǎn)根據(jù)分片規(guī)則開始建庫建表,需要注意的是prototype
不會(huì)存儲(chǔ)任何數(shù)據(jù),僅僅在存儲(chǔ)節(jié)點(diǎn)中進(jìn)行存儲(chǔ).
建表語句支持PolarDB-X CREATE TABLE
,但暫時(shí)不支持全局二級(jí)索引和影子庫.
上述的配置僅僅描述,自動(dòng)化DDL是如何生成配置的.如果涉及到自定義分片算法,自定義數(shù)據(jù)分布,請(qǐng)自己更改配置文件.
添加字段
`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`
僅僅刪除原型庫的物理表,不會(huì)刪除存儲(chǔ)節(jié)點(diǎn)的物理表
RENAME ?TABLE travelrecord2 to travelrecord3`
僅僅更改原型庫的物理表與配置中的表名,不會(huì)更改存儲(chǔ)節(jié)點(diǎn)的表名. 在單表的情況下,會(huì)更新存儲(chǔ)節(jié)點(diǎn)的表名,使單表使用方式一致(如果不是這樣,則會(huì)使用舊的表名,導(dǎo)致路由錯(cuò)誤)
TRUNCATE ?TABLE db1.`travelrecord2``
CHECK TABLE ?db1.travelrecord2;`
掃描邏輯表中對(duì)應(yīng)的所有存儲(chǔ)節(jié)點(diǎn)的表字段信息是否相同,如果不相同則會(huì)顯示錯(cuò)誤的節(jié)點(diǎn)信息,需要人工修正
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: