インタラクティブなサイトを構築するには、データベースを使用して訪問者からの情報を保存する必要があります。たとえば、職業紹介サービス サイトを構築したい場合は、履歴書や興味のある仕事などの情報を保存する必要があります。動的な Web ページの作成にはデータベースの使用も必要です。訪問者の要件を満たす最適な求人を表示するには、データベースから求人情報を取得する必要があります。データベースを使用する必要がある状況は数多くあることがわかります。
この章では、「構造化照会言語」(SQL) を使用してデータベースを操作する方法を学習します。 SQL 言語は、Active のデータベースの標準言語です。
SeverPages では、データベースにアクセスするときは常に SQL 言語を使用します。したがって、SQL をマスターすることは、ASP プログラミングにとって非常に重要です。
注:
個々の文字の発音に従って、「SQL」を「シークエル」と発音することも、S-Q-L と発音することもできます。
どちらの発音も正しく、それぞれに多くの支持者がいます。
本書では「SQL」を「シークエル」と読みます。
この章の学習を通じて、SQL を使用してデータベース クエリを実装する方法を理解し、このクエリを使用してデータ テーブルから情報を取得する方法を学習し、最後に独自のデータベースを設計および構築する方法を学習します。 。
注:
次の章の SQL の概要を通じて、Active を効果的に使用するための SQL を十分に理解できるようになります。
サーバーページ。ただし、SQL は複雑な言語であり、その詳細をすべて本書に含めることは不可能です。 SQL 言語を完全にマスターするには、Microsoft SQL を学ぶ必要があります
サーバーではSQLを使用します。近くの書店に行って Microsoft SQL Sever のコピーを購入してください
6.5.
SQL の概要:
この本は、SQL で Microsoft SQL Sever を操作していることを前提としています。
データベース。 SQL を使用して、他の多くの種類のデータベースを操作することもできます。 SQL はデータベースを操作するための標準言語です。 (実際、SQL 言語には専用の ANSI 標準があります]
注:
サイトで Microsoft を使用しないでください。
Microsoft の代わりにアクセスする
SQLサーバー。 SQL Server は同時に多くのユーザーにサービスを提供できます。サイトのアクセス速度を向上させたい場合は、MS をお勧めします。
アクセスが課題に達していません。
SQL の詳細を学ぶ前に、SQL の 2 つの主要な特徴を理解する必要があります。 1 つの機能は習得するのが簡単ですが、もう 1 つの機能を習得するのは少し難しいです。
最初の特徴は、SQL データベース内のすべてのデータがテーブルに格納されることです。テーブルは行と列で構成されます。たとえば、次の単純なテーブルには名前が含まれています。
メールアドレス:
名前 メールアドレス
住所
................................................. .......
ビル
ゲイツ billg@microsoft.com
社長
クリントン大統領@whitehouse.com
スティーブン・ウォルサー
swalther@somewhere.com
このテーブルには、名前とメールアドレスという 2 つの列があります (列はフィールド、ドメインとも呼ばれます)。
住所。 3 つの行があり、各行には一連のデータが含まれます。連続したデータを結合したものを
レコードと呼びます。
テーブルに新しいデータを追加するたびに、新しいレコードが追加されます。データ テーブルには、数十、数千、さらには数十億のレコードが含まれる場合があります。
10 億もの電子メール アドレスを保存する必要は決してないかもしれませんが、保存できること、そしていつか必要になるかもしれないことを知っておくことは常に良いことです。
データベースにはおそらく数十のテーブルが含まれており、データベースに保存されているすべての情報はこれらのテーブルに保存されています。情報をデータベースに保存する方法を考えるときは、
テーブルに情報を保存する方法を考える必要があります。
SQL の 2 番目の機能は、習得するのが少し難しいです。この言語は、特定の順序でレコードをフェッチできないように設計されています。そうすると SQL の速度が低下するためです。
サーバーのレコード取得効率
。 SQL を使用すると、クエリ条件に基づいてレコードのみを読み取ることができます。
テーブルからレコードを取得する方法を考えるとき、場所によってレコードを読み取ることを考えるのは自然です。たとえば、ループで 1 つずつスキャンして
特定のレコードを選択しようとするとします。 SQL を使用するときは、このように考えないように自分自身を訓練する必要があります。
名前が「Bill」である名前をすべて選択するとします。
Gates" レコードの場合、従来のプログラミング言語を使用している場合は、テーブル内のレコードを 1 つずつ表示して名前フィールドが "Bill" であるかどうかを確認するループを構築できます。
Gates"。
レコードを選択するこの方法は可能ですが、効率的ではありません。SQL を使用すると、「Bill と等しい名前フィールドをすべて選択します」と言うだけです。
Gates レコード」の場合、SQL は
一致するすべてのレコードを選択します。SQL はクエリを実装する最適な方法を決定します。
取得したいテーブルの最初の 10 レコードを作成します。従来のプログラミング言語を使用すると、最初の 10 レコードをフェッチした後にループを終了することは可能ですが、SQL の観点から見ると、これは不可能です
それがわかっているときは、最初は。 SQL を使用して、実現できるはずの特定の機能を実現できないと、イライラしてしまい、SQL に悪意のある手紙を書きたくなるかもしれません
。デザイナー。しかし、後で、SQL のこの機能が制限ではないだけでなく、強みであることに気づくでしょう。 SQL は位置に基づいてレコードを読み取らないため、レコードを非常に高速に読み取ることができます。
要約すると、SQL には 2 つの特徴があります。SQL の観点から見ると、テーブル内のレコードはシーケンシャルではありません。次のセクションでは、SQL を使用してテーブル
から特定のレコードを選択する方法を学習します。
SQL を使用してテーブルからレコードを取得します。
SQL の主な機能の 1 つは、データベース クエリを実装することです。インターネットに詳しい方なら
エンジンを使用している場合は、クエリについてはすでに慣れています。クエリを使用して、特定の基準を満たす情報を取得します。たとえば、ASP 情報を含むすべてのサイトを検索したい場合は、次のように接続できます。
Yahoo! とアクティブサーバーのペアを実行します
ページ検索。この
クエリを入力すると、説明に検索式が含まれるすべてのサイトのリストが表示されます。
インターネットのほとんど
このエンジンでは論理クエリが可能です。論理クエリには、特定のレコードを選択するために使用する AND、OR、NOT などの特別な演算子を含めることができます。たとえば、AND を使用してクエリ結果を制限できます。 Activeのペアを実行すると、
サーバーページとSQL検索。説明にも含まれている
アクティブサーバーページを取得します。
SQL レコードも含まれます。クエリ結果を制限する必要がある場合は、AND を使用できます。
クエリの結果を展開する必要がある場合は、論理演算子 OR を使用できます。たとえば、検索を実行すると、説明に「Active」が含まれるすべてのファイルが検索されます。
サーバー
ページ または
SQL サイトの場合、受け取るリストには、説明に一方または両方の式が含まれるすべてのサイトが含まれます。
検索結果から特定のサイトを除外したい場合は、NOT を使用できます。たとえば、クエリ「アクティブ」
「SQL」ではなく「サーバー ページ」を指定すると、アクティブ サーバーを含むサイトのリストが返されます。
ページはありますが、SQL はありません。特定のレコードを除外する必要がある場合は、NOT を使用できます。
SQL で実行されるクエリは、インターネット検索エンジンで実行される検索と非常に似ています。
SQLクエリを実行すると、論理演算子を含むクエリ条件を使用して
レコードのリストを取得できます。現時点では、クエリ結果は 1 つ以上のテーブルからのものです。
SQL クエリの構文は非常に単純です。 email_table というテーブルがあるとします。
テーブルには名前とアドレスの 2 つのフィールドが含まれており、Bill Gates の電子メール アドレスを取得するには、次のクエリを使用できます:
SELECT email from
email_table WHERE name="Bill Gates"
このクエリが実行されると、 Bill が email_table という名前のテーブルから読み取られます
ゲイツの電子メール アドレス。この単純なステートメントは 3 つの部分で構成されます:
■ SELECT ステートメントの最初の部分では、選択する列の名前を指定します。この例では、電子メール列のみが選択されています。実行時
この場合、電子メール列の値のみが表示されます
billg@microsoft.com。
■
SELECTT ステートメントの 2 番目の部分では、データをクエリするテーブルを指定します。この例では、クエリ対象のテーブルは email_table と呼ばれます。
■
最後に、SELECT ステートメントの WHERE 句で、選択する条件を満たすレコードを指定します。この例では、クエリ条件は、name 列の値のみが Bill Gates であることです。
レコード
が選択されました。
ビル・ゲイツはおそらく複数のメールアドレスを持っています。テーブルに Bill が含まれている場合
ゲイツ氏の複数の電子メール アドレス。上記の SELECT ステートメントを使用して、彼の
メール アドレスをすべて読み取ります。 SELECT ステートメントは、値が Bill であるすべての名前フィールドをテーブルから取得します。
Gates レコードの電子メール フィールドの値。
前述したように、クエリにはクエリ条件に論理演算子を含めることができます。ビル・ゲイツを読みたいなら
または、クリントン大統領のすべてのメール アドレスについては、以下のクエリ ステートメントを使用できます:
SELECT email FROM email_table
WHERE name="ビル・ゲイツ" または
name="大統領
クリントン「
この例のクエリ条件は、前のクエリ条件よりも少し複雑です。このステートメントは、テーブル email_table から Bill としてリストされているすべての名前を選択します。
ゲイツ氏やクリントン大統領の記録。テーブルにビル・ゲイツまたは大統領が含まれている場合
クリントン氏の複数の住所、すべて読まれた。
SELECT ステートメントの構造は非常に直感的です。テーブルから一連のレコードを選択するよう友人に依頼した場合、非常に似た方法でリクエストを作成することができます。 SQLで
SELECT ステートメントでは、「特定の列が特定の条件を満たす WHERE テーブルから特定の列を SELECT」します。
次のセクションでは、SQL クエリを実行してレコードを選択する方法を紹介します。これは、SELECT ステートメントを使用してテーブルからデータを取得するさまざまな方法に慣れるのに役立ちます。
上記は SQL データ操作の基礎 (初級) 1 の内容です。その他の関連記事については、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。