データベースレコードの小さな差

データベースレコードの小さな差

データ型の違い

1.整数
のMySQL:intを使う、小数、フロート、ダブル、など
のOracle:などにのみ使用数、ノーint型、小数、フロート、ダブルタイプ、
2列
のMysql:varchar型のみのタイプ、無VARCHAR2型の
オラクル:のみVARCHAR2タイプ、無型VARCHAR(工程をnullに等しいVARCHAR2空文字列、まだ空の文字列VARCHAR処理に従ってながら)
3時間のタイプ
のMysql:日付および時刻は、3バイトの
オラクル:日付のみ、および7を構成しますバイト
4.自動成長列
のMysql:自動増加列フィールド、直接添加することができる
オラクル:なし自動増加列フィールド、またはトリガを使用するには、シーケンス完了
5.非空のフィールド
のMySQL:非空のフィールドを空の文字列を保持することができる
オラクル:非空の文字列が空のフィールドを格納することはできません

違いの第二に、機能

1.位置の文字列関数取得
MySQLを:INSTR(フィールド名、文字列)文字列フィールド内の位置の内容を返すために、文字列がそうでなければ(位置(1から始まる)を返すか突き止める用いて、戻り0見つかりません)関数
オラクル:INSTRは(「ソース文字列」、「対象文字列」、「開始位置」、「何度も現れる」)コンテンツが同一返し、後者の2つのパラメータは省略することができる
2遮断文字列関数を
MySQLの:サブストリング( 'ABCD'、2,2&)
オラクル:SUBSTR( 'ABCD'、2,2&)
文字列関数の3の長さ
のMySQL:CHAR_LENGTH( 'AAAASDF')
オラクル:長さ( 'AAAASDF')
時間の関数に4列
MySQLの:STR_TO_DATE(STR、フォーマット)
オラクル:TO_DATE(STR、フォーマット)
5.加算または減算機能
  のMySQL:
  1、DATE_SUB(DATE、DATE間隔ザ・);。
  DATE_SUB(CURDATE()、インターバル1日目。)及び1日
  DATE_SUB(CURDATE( )、インターバル1口)プラス1ヶ月の
  DATE_SUB(CURDATE()、インターバル-1年) マイナス年
  2、DATEDIFF(日付1、日付2) 、TIMEDIFF(日付1、日付2)、日付1 保存DATE2。
  オラクル:直接減算時間または日付; ADD_MONTHS(SYSDATE、1)来月取得し、無add_daysのadd_years機能-取得時間差直接DATE2 DATE1;
6.は、X関数よりも小さくない最小の整数を返し
のMySQL:天井(Xは)
オラクル:CEIL(X-)

第三に、環状構造との間の差

1.Ifサイクル
のMySQL:IF ... ELSEIF
オラクル:IF ... ELSIF
2.Whileサイクル
のMySQL:WHILE DO ...... ...... END WHILE
オラクル:WHILE ...... ......エンドループLOOP
3。用/ループサイクル
のMysql:ループループループキーワードの// LP1名前が
USER_PROFILE(UID)の値(I)。INSERT INTO、
SET Iは= I + 1;
IF I>次に30
休暇LP1; //ループ出る
端を; IF
エンドループ; //エンドループ
オラクル:FOR X逆1..10 LOOPは --reverse 降順
;:(|| X '= X')DBMS_OUTPUT.PUT_LINE
END LOOP;
DBMS_OUTPUT.PUT_LINEを( 'ループエンド:= X「|| X-); X = 1;
END;

第四に、ストレージ構成の違い

1.ストアドプロシージャを作成します。
mysqlの:mysqlのストアドプロシージャを作成し使用して作成され、保存処理に保存されている別のプロシージャを作成することはできません
オラクル:、パッケージを作成するか、または交換するストアドプロシージャを作成するための方法の使用を、そしてストアドプロシージャがパッケージで定義することができた場合記憶処理をストアドプロシージャの複数定義することができない、場合プロシージャで定義されたストアドプロシージャと複数の方法を含む。
2.関数作成
MySQLを:値を返さないことがあり関数複数の機能を作成し、定義するために使用作成返す
オラクル:使用作成または交換の作成方法、およびOracle機能がパッケージ内に定義することができる定義されている場合、パッケージは、ストアドプロシージャと、複数の機能を含むことができる、パッケージの関数で定義されてもよい。定義された関数の場合、関数の各値リターンを返す関数を定義することができます
。3.引数が渡された
MySQLを:INOUT / /アウト機能のパラメータの型をパラメータが前に書かれた、と出て、中に省略することができ、およびINOUT省略することはできません
オラクル:関数パラメータの型に/アウト/ inoutのパラメータ名は、背中に書かれた、と書かれなければならない、省略することはできません
ストアドプロシージャに4コールストアドプロシージャを
MySQLの:ストアドプロシージャを呼び出す保存処理は、コールpro_name(パラメータ)を使用
することができ、直接ストアドプロシージャの名前を書かれたストアドプロシージャを呼び出す:Oracleは
、変数5.手順と異なるの機能を宣言するための位置
MySQLを:...変数が始まる宣言し、本体を終了し、開始後に何かする前に
オラクル:あなたは...エンド本体を開始する前に変数を宣言

第五に、トリガーの違い

1.文の作成
MySQLを:MySQLは、各トリガイベントが唯一のサポートのためのトリガーを作成するために使用するトリガーを作成する
Oracleは:Oracleはトリガーを作成するためにトリガを使用構文を作成したり、交換する、削除、トリガー挿入でトリガすることができ、更新イベント
2.表示編集
MySQLを:mysqlのトリガーが表示されるか、またはクライアントマシンサーバ上で動作する必要性を編集することはできません。
オラクル:.トリガーは、Oracleクライアントを表示したり、編集することができ、サーバマシン上で動作する必要があります

第六に、基本的な文法の違い

1. EXIT文
のMySQL:文は、ストアド・プロシージャ名を残し文が..現在のlableを終了しますlable名前で残している場合、現在のストアドプロシージャを終了している場合は使用して、文を残して
使用exit文、もしexit文:Oracleは現在のループ終了文が循環されなくなった場合ループを抜けるには、現在のプロセスや方法を終了していない。
2.コメントの道
のMySQL:使用「 -メッセージ」や「/ ** ... /」または「/ ... /」メモ
オラクル:Oracleが使う" -メッセージ"またはまたは"#"コメントする"/ ... * /。"
3.現在の時刻と時刻の形式を取得
MySQLを:mysqlの時刻形式ます。%Y-%m-%d% H: %I:%sの、(現在の時間が今で取得)
オラクル:オラクルの時刻形式:YYYY-MM-DD HH: SS、:MI 現在の時間SYSDATE取得する
4.接続文字列
接続文字列を使用してMySQL concatメソッド:MySQLを。一の以上の文字列に接続することができるのMySQLのconcat関数
オラクル:||接続文字列concat関数を使用して、Oracleを使用することもできるが、2つの文字列を接続するだけのOracle concat関数。

七の他の違い

1.ソートクエリ
のMySQL:クエリページ制限補助クエリを使用し
た補助ページングクエリROWNUMの使用:Oracleの
クエリに参加2.を
使用して左のみ参加し、右のようなキーワードの参加:MySQLを
オラクルに:Oracleは左と右の接続を使用することができます接続を(+)達成「(+)」は、他の側が方向に接続されている位置
3ファジークエリ速度
のMysql:「%文字列%」のようなフィールド名を使用して、ファジークエリは
オラクル:Oracleは、「%のようなフィールド名に使用することができますより正確な検索結果は文字列%「(「文字列になりファジークエリが、この方法では、文字列比較関数とInStr関数フィールド名は、)、十分に速く、インデックスを使用することはできません」> 0

ご使用の目安:

。空の文字列を避ける
Bを。OracleデータベースINSTR()を使用する場合、関数のみ最初の2つのパラメータを使用して
、C。cancat()関数を使用し、二つの文字列は、一度だけ、MySQLデータベースに接続されている、あなたは、複数のを接続する必要があります関数を入れ子になったとき

おすすめ

転載: www.cnblogs.com/id-tangrenhui/p/11647785.html