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