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
基本操作コマンド
\Ÿ 全てのデータベースを一覧表示する
\データベースの切り替え
\現在のデータベースの下にあるテーブルを一覧表示します。
\指定されたテーブルのすべてのフィールドを一覧表示します。
\指定したテーブルの基本情報を表示します。
\現在のデータベースの下にあるすべてのスキーマ情報を表示します。
SHOW search_path; 現在使用されているスキーマを表示します。
SET search_path TO myschema; 現在のスキーマをトグルします。
\ログインを終了します。
gaussDBへのmysqlデータ移行
1. mysqlのデータをエクスポートする
show variables like '%secure%' to find the secure_file_priv address.
secure_file_privのアドレスにaaaをmkdirします。
ファイルのパーミッションを変更する 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. 実行中に次のエラーが発生しました: 列 "TASK.TASK_ID" が GROUP BY 節に現れるか、集約関数で使用されなければなりません , 理由
は: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,'999999999999999999999999999999999999999999999999999999999999');
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 と null 文字 '' を同じと見なし、a='' のような null 文字の判定をサポートしないので、a は null と記述しなければなりません。
10. 例えば、CHARは固定長で、スペースを埋めるのに不十分であり、VARCHARタイプは比較時に問題が発生します。
11.シングルクォート'エスケープ、別の''をエスケープするためにシングルクォートを使用する、例えば、xi''an
以上でgaussDBデータベースコマンドの解説を終了します。gaussDBデータベースコマンドの詳細については、BinaryDevelopの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。
関連
-
テーブル変数によるSQL実行効率低下の記録
-
JetBrains DataGripのインストールと使用に関する詳細なチュートリアル
-
データベースシステムの構造詳細説明 3レベルのスキーマ構造
-
DeepinV20 Mariadbのクイックインストールを詳しくご紹介します。
-
SQLインジェクションの実装と防止事例を解説
-
Navicat sqlファイルのインポートとエクスポートを素早く行う方法
-
navicat トランザクションの自動コミット問題について
-
ユニークSQLの原理と応用を解説
-
Navicat Premium 12でOracleに接続する際にoracle library is not loadedと表示される問題の解決
-
SQLにおけるwhereとhavingの違いについて解説します
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQL修正構文文の概要
-
Navicat 15アクティベーションチュートリアル
-
Djangoプロジェクト最適化データベース運用まとめ
-
5分でわかる!データベースのデッドロックのシナリオと解決策
-
Navicat for Mac システムチュートリアルのインストールと使用方法
-
Navicat Premiumを使用して、データベースのテーブル構造情報をExcelにエクスポートする方法
-
SQLインジェクションの例とその解決方法
-
SQLリレーショナルモデルの知識まとめ
-
高額で無料のSQL開発ツール「Beekeeper Studio」解説
-
SQLインジェクションについて詳しく話すいくつかの散在する知識のポイント