gaussDB數據庫常用操作命令詳解
GaussDB命令行連接
1.1 ssh連接主機,IP:192.168.28.178,用戶名:root,密碼:Huawei @123
1.2 切換至bin目錄,cd /home/gaussdba/app/bin/
1.3 切換用戶為gaussdba,su gaussdba
1.4 連接gaussDb,gsql -d postgres -p 5432
基本操作命令
\l 列出所有數據庫
\c database_name 切換數據庫
\d 列出當前數據庫下的表
\d tablename 列出指定表的所有字段
\d+ tablename 查看指定表的基本情況
\dn 展示當前數據庫下所有schema信息
SHOW search_path; 顯示當前使用的schema
SET search_path TO myschema; 切換當前schema
\q 退出登錄
mysql數據遷移至gaussDB
1. 導出mysql數據
show variables like '%secure%' 查詢出secure_file_priv地址;
在secure_file_priv地址下mkdir aaa;
修改文件權限chmod -R 777 aaa;
select * from i18n_message into outfile '/tmp/etl/temp.dat' fields terminated by ''';
2. 下載數據並上傳至GaussDb服務器
3. 導入gaussDb
COPY I18N_MESSAGE FROM '/home/gaussdba/app/bin/temp.dat' WITH DELIMITER '''';
切換gaussDb中遇到的問題
1. 執行出現如下錯誤:column “TASK.TASK_ID” must appear in the GROUP BY clause or be used in an aggregate function ,原因
是:select的字段與Group by中的字段要一致或不一致的字段必須使用聚合函數;
2. MySQL中的ifnull函數用nvl函數替換;
3. limit 0,10 ———->limit 10 offset 0;
4. find_in_set(operator, ‘1096,789’) ———->operator ~ concat(‘(‘, replace(‘1096,789’, ‘,’, ‘|’), ‘)’);
5. 不支持uuid(),可以自定義UUID函數,
CREATE OR REPLACE FUNCTION UUID() RETURNS TEXT AS $$ BEGIN RETURN to_number(now()::text,'99999999999999999999999999999999999999999999999'); END; $$ LANGUAGE plpgsql; ALTER FUNCTION UUID() OWNER TO GAUSSDBA;
6. 字符串不能用雙引號””括起來,隻能用單引號”,例如:SELECT “” as local_path ———–>SELECT ” as local_path
7. INSERT INTO ON DUPLICATE KEY ————>REPLACE INTO
8. 模糊查詢,LIKE:區分大小寫,ILIKE:不區分大小寫,MySQL中查詢默認不區分大小寫,所以可以用ILIKE替換
9. GaussDB中認為null和空字符”是一樣的,不支持a=”這種空字符判斷,必須寫成a is null
10. GaussDB中字符串比較時,註意字段類型要一致,例如CHAR是定長的,不足的補空格,和VARCHAR類型比較時就會有問題
11. 單引號’轉義,用一個單引號轉義另一個”,例如xi”an
到此這篇關於gaussDB數據庫常用操作命令的文章就介紹到這瞭,更多相關gaussDB數據庫命令內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- MySQL 生成隨機數字、字符串、日期、驗證碼及 UUID的方法
- 一次SQL查詢優化原理分析(900W+數據從17s到300ms)
- 淺談mysql執行過程以及順序
- MySQL中limit對查詢語句性能的影響
- MySQL 用 limit 為什麼會影響性能