SQLデータの操作:選択して削除し、修正するSQLデータを挿入


  Share  
|


このtutorialdを追加する方法に焦点を当てて、変更、およびデータベース内のテーブルからデータを削除するSQLデータ操作言語を使用しています。 この知識なしで、我々は実際に使用するために、データベースがございましたら;ことは、単純に静的なエンティティの目的がない。

まずデータベース名とテーブルを作成するこのチュートリアルで仕事をしています。 我々のデータベースdmlexampleがコールされるので、作成してみましょう今は、次のステートメント:

  MySQLの>データベースを作成するdmlexample ; 

いったん作成されると、我々が我々を指定する必要が希望される新規のデータベースを使用してこのステートメントを実行する:

  MySQLの>を使用dmlexample ; 

コンソールには今こそ、私たちは、データベースに変更を知らせる;

今我々は我々のデータベースをセットアップして、テーブルを作成してみようと呼ばれるsampletable実験している。 この表は、以下のフィールドが含まれ:ユーザー名、パスワード、年齢、電子メール、および日付のエントリが作成されます。

我々は我々のテーブルを作成して、以下のddl文:

  MySQLの>表を作成sampletable ( ->ユーザー名]テキストは、 - >パスワードのテキストは、 - >年齢i nt 、->電子メールのテキストは、-> d a te c reatedタイムスタンプ) ; 

データの挿入

今我々は我々のテーブルを作成して、どのように我々を見てみましょう行くについての追加情報を行(レコード)のことです。 テーブルの行を追加するには、我々に挿入コマンドを使用する必要があります。 ここでは、 1つの行を追加するにはどのように私たちを私たちのsampletable 。

  MySQLの> sampletable値を挿入する-> ( 'アンドリュー' 、 'クワーティ' 、 2 0、 ' a ndrew@dreamcircle.co.uk' 、 N ULLを) 

通知は、コンソールからのフィードバックがどのように教えてくれることの1つの行に影響されている。 従って、我々は我々のsampletableテーブルを1つの行を追加します。

次に呼ばれるコマンドを使用することができる選択してテーブル内のデータを表示しています。 入る我々は、このコマンドの詳細については後でこのtutotial 、それは非常に重要な、しかし今のところ我々はただやみくもに使用しています。 どれどれdmlexampleどのようなデータは、我々のテーブル:

  MySQLの>を選択してからsampletable * ; 
注意

フィールドにどのように反映さdatecreated通知の日付と時刻を追加するときに、我々のテーブルにレコードを。 これは、我々 NULLを指定したときに、我々の行を追加し、これにより、タイムスタンプをつかみ、現在の日付と時間のフィールドから、システムのデフォルトです。

を追加することも可能で、 1つのデータが複数のレコードのコマンドを実行します。 今してみてみましょうこの3つの別の行を追加することにより、我々のテーブルに挿入し、 1つのコマンドを実行します。 これは、以下の通り:

  MySQLの> sampletable値を挿入する-> ( 'グレン' 、 ' g imboid' 、 2 1、 ' g lenn@chopsewage.com' 、 N ULLを) 、 - >( 'ジム'、 ' l e tmein'、 2 3 、' j i m@email.net'は、 NULLを) 、 -> ( 'ウェス' 、 ' o pensesame' 、 3 1、 ' w es@email.net' 、 N ULLを) ; 

見てわかるとおり、この時期には、コンソールからのフィードバックを示唆して、 3つのレコードが影響を受けた;従って、我々は我々のテーブルのレコードを3つ追加されました。 これを再度確認することができるコマンドを使用して選択します:

  MySQLの>を選択してからsampletable * ; 

これを実行するときに、あなたは、今すぐには4つのテーブルのレコードを参照して(または記録によりますと、ご希望の場合)の情報です。

データを変更する

さて、私たちにデータを追加する方法を知っているテーブルには、どのように我々を見てみましょう行くについては、既存のテーブルのデータを変更します。

表のデータを変更する、我々は、更新プログラムを必要とするコマンドを使用します。 最初にしようすべてのパスワードを変更するには、表の中のすべてのレコードを" changemeです。 " これは、次の声明を成し遂げられたことができます:

  MySQLの> "アップデートセットsampletableパスワード= ' changeme ' ; 
警告

この更新プログラムのコマンド(だけでなく、すべてのSQLコマンド)は非常に強力です。 無謀な使用して大量のデータを破壊することができますが、単純な間違いです。 ほぼすべてのクエリには、少なくとも1つの条件はどこです。

このステートメントを実行するときに我々は、我々に知らせることは、コンソールは、 4つのレコードが影響を受けたとは、我々はすべてのパスワードを変更してテーブルの行です。

今すぐ見ることができるの効果を使用して、テーブルの上にコマンドを選択して、次のとおりです:

  myql >を選択してからsampletable * ; 

明白な疑問を今は、どうすればよい、 1つの行のみを更新したいですか? まあ言ってみれば私たちのパスワードを変更したいグレンgimboidからchangemeに戻る。 私たちは、以下のステートメントを使用するには:

  MySQLの> "アップデートセットsampletableパスワード= ' gimboid 'どこにユーザー名= 'グレン' ; 

このコマンドを実行するときに我々は、コンソールでは、我々が1つの行を通知することに影響されている。 これは、それは、パスワードフィールドのみを更新する場合、ユーザー名フィールドには、グレンに等しい。 もし我々のコマンドを選択して使用して、テーブルの上に今、我々から見ても、グレンのパスワードのみが変更されました。

我々この手法を有効に適用することも私たちの特定のフィールドのみを更新しています。 たとえば、我々のすべてのパスワードを変更する可能性のある人々や若い30歳です。 私たちはここでは、コマンドを必要とするには:

  MySQLの> "アップデートセットsampletableパスワード= '若い'どこ年齢< = 30 

このコマンドを実行するときに我々は、我々に知らせることは、 3つのレコードが影響を受けることは、我々の3つで、 4つのテーブルのレコードがある30歳未満に等しいか。

ヒント

有用なアイデアは、タイムスタンプのフィールドを更新してNULLになる。 これにより、最新の時刻を取得してから、システムのデータベースを実行している(すなわち、実用的な用途としては、最後の時間をメモしてログインして、プレイヤー) 。

データを削除する(削除)

テーブルからデータを削除することでは、データを更新する方法を非常によく似ています。 最初に私たちはどのように見て、 1つの行分のデータを削除しています。 今すぐ削除してみましょうグレン、以下のステートメントを使用して、データベースから:

  MySQLの> "削除sampletableどこからユーザー名= 'グレン' ; 

このコマンドを実行するときに我々は、我々のMySQLのコンソールをクライアントに知らせることは、 1つの行が影響を受ける(すなわち、削除されました) 。

また、更新プログラムとして記述して、我々の条件を指定できることを許可する私たちを削除し、例えば、全員が30歳未満です。 今すぐやめようこれは、次のステートメント:

  MySQLの> "削除sampletableどこから年齢< 30 ; 

このステートメントを実行するときに我々は、我々のクライアントには通知して2つのレコードが影響を受けた、あるいはこの場合は、削除されました。 もし我々は今や我々のテーブルを使用してコマンドを選択して、我々はその1つだけを参照してくださいには、表の列が残っている。

最後に、すべて削除することも可能で、あるテーブルからレコードを1つのステートメントです。 すべて我々に必要なすべての条件を指定することではない、ときとして我々は我々のすべてのパスワードフィールドを更新changemeです。 ここでは、声明には、テーブルのすべてのレコードを削除する(すなわち、テーブルを空にする) 。

  MySQLの> "削除からsampletable ; 

ご覧のとおり、現在の表の情報が含まれていません。

SELECTステートメントを使用して

今まで、私たちは、次のコマンドを表示するだけで使用されるすべてのデータを我々のテーブルsampletable :

  MySQLの>を選択してからsampletable * ; 

これは実際に取得sampletableテーブルからのすべてのフィールドとリピートしてください。 *は、ワイルドカードで、つまり、基本的に何かすることを表します(またはこの例では、すべてのフィールド) 。

話に入る前に、さらなる声明を選択して、まずいくつかのデータを追加して実験を我々のテーブルsampletable 。 次のステートメントを使用するいくつかのデータを挿入する:

  MySQLの> sampletable値を挿入する-> ( 'アンドリュー' 、 'クワーティ' 、 2 0、 ' a ndrew@dreamcircle.co.uk' 、 N ULLを) 、 - >( 'アンドリュー'、 ' l e tmein'、 2 7 、'アンドリュー@メールです。当期純' 、 NULLを) 、 -> ( 'ジョージ' 、 '紙' 、 1 9、 ' g eorge@email.net' 、 N ULLを) 、 - >( 'ジェニー'、 ' j e n999'、 2 7 、' j e n@email.net'は、 NULLを) 、 -> ( 'サンドラ' 、 ' s dra2' 、 2 7、 ' s andra@email.net' 、 N ULLを) ; 

さて、我々は我々のデータをテーブルに追加すると、このようなステートメントを使用して選択して、ワイルドカード( * )は、前たちがやっているとして、それは、すべての情報を取得し、表示するには、コンソールからの表です。 今してみてみましょうこれは、次のステートメントです。

  MySQLの>を選択してからsampletable * ; 

見てわかるとおり、この声明は、 すべての情報を取得するには、テーブルから(すなわち、すべての行とすべての列に含まれる個々のレコード) 。

まあ言ってみれば我々のすべてを取得することは、パスワードを入力します。 すべてのパスワードを取得するsampletable表から、我々は、以下のステートメントを使用する:

  MySQLの>を選択してからパスワードsampletable ; 

単に交換して、どのように注意ワイルドカード( * )を取得して、コラムを願っています。 を取得することも可能で、複数のカラムを区切るカンマを使用しています。 を選択してみてみましょう列のユーザー名とパスワードの両方のカラムのみです。 ここでは、この声明は我々が必要:

  MySQLの>を選択してユーザー名、パスワードからsampletable ; 

このステートメントを実行するときに我々は、見ることができることだけでは、コンソールのユーザー名とパスワードのフィールドは、テーブルから選択されています。

さて、私たち個々のフィールドを取得する方法を知っているから、テーブルでは、 1つのレコードを取得するにはどうしたらよいでしょうか? 簡単に適用することができる条件を選択して声明と同様に、我々は、テーブルを更新するとき、私たちは、テーブルから削除します。 条件付きステートメントを使用して選択して、ディスプレイのみみましょうジェニーのデータベースからの情報です。 ここでは、この声明は我々が必要:

  MySQLの> sampletableどこからユーザー名を選択して* = 'ジェニー' ; 

我々はこのステートメントを実行するときには、ジェニーの詳細が表示されるだけで、 mysqlクライアントコンソールです。

我々の考えを組み込むことも可能指定したフィールドを選択してください。 これは、実用的な例を見つけることに関連して、ユーザー名、パスワードです。 ここでは、どのようにしていきたいとパスワードを取得するに所属ジョージ:

  MySQLの>を選択してユーザー名パスワードはどこからsampletable = 'ジョージ' ; 

このステートメントを実行するときに我々は、我々から見ても、たった1つのフィールドが表示され、これは偶然にもジョージのパスワードを入力します。

注意

我々の特定のフィールドを指定するときに、この例では、我々は、これに限定されないフィールドを選択するために使用することは、我々はどこ節です。

我々のサンプルデータでは、ユーザー名には、 2つの行がアンドリュー。 もし我々は、条件付きステートメントを使用しようとパスワードを取得するためのアンドリュー、我々は実際に2つのパスワードを取得は、 1つのデータベース内の各エントリのアンドリュー。 今してみてみましょうこれだけのための証拠です。 ここでは、我々の声明をする必要があります:

  MySQLの>を選択してユーザー名パスワードはどこからsampletable = 'アンドリュー' ; 

このステートメントを実行するときに我々は、我々から見ても、我々は2つのパスワードは、コンソールに表示されています。

注意

結果から重複を除去することができます別個のオプションを使用しています。 たとえば:別個のユーザー名を選択してからsampletable 。

も見てみましょうどのようにコマンドを助けてもらえるような情報を見つけることが必要です。 のような文字列を使用して、データベースを見つけるのが理想的で、特に部分しかない場合は、完全な文字列(すなわち、検索エンジンのため) 。 たとえば、まあ言ってみれば、誰かを見つけることを願って、次の文字で始まる名前のデータベースj. これを成し遂げるために、我々は、以下の声明を要求:

  MySQLの>のようなユーザー名を選択して*どこからsampletable ' j % ' ; 

注意ここではどのように取得するジェニーは、彼女のユーザー名としては、 1つだけを起動して、 j. ワイルドカードの%を表すようなときに使用されますので、次のステートメントで使用されている場合ではなく我々 :

  MySQLの>のようなユーザー名を選択して*どこからsampletable ' % j % ' ; 

...その手紙jどこでも、文字列が表示されます。 また、注意しておくことができます、 1つ以上の文字:

  MySQLの>のようなユーザー名を選択して*どこからsampletable ' % nny ' ; 

これは、すべての人々を取得して終了して、テキストの名前を" nny 。 " 最後に、我々使われている場合、次のステートメント:

  sampletableのようにどこからユーザー名を選択して* ' % nny % 、 ' ; 

...を含むすべてのレコードを取得することは、 " nny "の名前で、その名前の末尾にはならない"とする"とした。

これは、記事に追加されたジョージイオネスク

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions