gbase数据库中快速备份数据用法
首先,想吐槽一下這個(gè)數(shù)據(jù)庫,為什么硬要整點(diǎn)和別人不一樣的東西,實(shí)現(xiàn)相同的功能,就遵循已有的規(guī)律其實(shí)更容易被大家所接受,不需要通過這個(gè)差異來標(biāo)榜或者突出自己吧。真的是給人浪費(fèi)人好多時(shí)間。
在常規(guī)的數(shù)據(jù)庫中,我們在管理數(shù)據(jù)或表的時(shí)候,如果需要對表做一些操作,常規(guī)方案都會是先建立備份表,先在備份表中進(jìn)行,然后才會把指定操作用在正式表中,所以備份表就成了必需要做的事情,常規(guī)備份表我們一般會選擇這樣的方式:
create table table_name as select * from table_name_b;
但是在gbase中有一些差別,其去掉了as。
create table table_name select * from table_name_b;
可能是因?yàn)間base是收費(fèi)的,所以其用戶社區(qū)沒有很活躍,導(dǎo)致一些資料在查找時(shí)需要花費(fèi)較多時(shí)間。其實(shí)關(guān)于gbase的常規(guī)sql語法可以在其官網(wǎng)中下載文檔查看(就很離譜)。有這功夫,我還查半天干嘛,我直接看文檔就好了,關(guān)鍵文檔中的目錄信息又無法直接定位到你想要看到的信息。算了,不想說了,就一點(diǎn)差異而已。
在其他的數(shù)據(jù)庫中,如果只是想要復(fù)制表結(jié)構(gòu),一般我們會選擇使用
create table table_name as select * from table_name_b where 1 > 2;
在gbase中提供了只復(fù)制表結(jié)構(gòu)的方案
create table table_name like table_name_b
在gbase中show create table table_name;語句可以把建表語句直接導(dǎo)出,和mysql,sqlite一致。而pg數(shù)據(jù)庫中是不支持的。
昨天在gbase中運(yùn)行了update?table?set a = b from b where ...語句,發(fā)現(xiàn)也是不支持的,列存儲數(shù)據(jù)庫對于數(shù)據(jù)的更改還是比較困難一些,但是好像是提供了一個(gè)merge語句。在這種環(huán)境下,這種場景如果換一種方式實(shí)現(xiàn),建議就還是利用create select *?方式把所有需要的信息放在一張新表里,把新表名字改成目標(biāo)表,相對而言會更快。其實(shí)本質(zhì)就是使用建立臨時(shí)表的方法。
gbase使用和mysql很類以,包括python連接gbase用的包也是pymysql。
總結(jié)
以上是生活随笔為你收集整理的gbase数据库中快速备份数据用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [日常训练] Surprise me
- 下一篇: gbase数据库锁表解决办法