主キー: キーワード: 主キー 機能: null にすることはできず、一意である必要があります。 主キーの分類:
主キーの使用法: 方法1: テーブルt1を作成します( Id int 主キー、 名前varchar(100) ); t1に値(1,'zs')を挿入します。 t1に値(2,'ls')を挿入します。 主キーの自動増分: キーワード: auto_increment テーブルt4を作成します( id int 主キー auto_increment, 名前varchar(100) ); t4(name) に values('zs') を挿入します。 t4 に値 (null、'ls') を挿入します。 ドメイン整合性: 特定のデータ型または制約に準拠する必要があるデータベーステーブルの列(フィールド)を参照します。 データ型 長さ NULL ではない制約: NOT NULL 一意制約: UNIQUE テーブルt5を作成します( ユーザー名varchar(100) NOT NULL UNIQUE、 性別 varchar(100) NOT NULL, phonenum varchar(100) ユニーク ); データ テーブル間の接続: 1. 1 対多 (1*N): 顧客と注文。1 人の顧客は複数の注文を持つことができ、各注文は 1 人の顧客にのみ属します。 顧客テーブルを作成します。 テーブルcustomers(を作成) id int、 名前varchar(100)、 アドレスvarchar(255)、 主キー(id) ); 注文テーブルを作成します。 テーブル注文の作成( order_num int 主キー、 価格 float(8,2)、 ステータス int、 顧客ID int, 制約 customer_id_fk 外部キー(customer_id) 参照 customers(id) ); データを挿入: 2. 多対多: 3 番目のテーブルの外部キーを使用して、2 つのテーブルの主キーを接続します。 教師と生徒の間には多対多の関係があります。1 人の教師は複数の生徒に対応し、1 人の生徒は複数の教師によって指導されます。 教師テーブルを作成します。 テーブル教師を作成する( id int、 名前varchar(100) 給与フロート(8,2) 主キー(ID) ); 学生テーブルを作成します。 学生テーブルを作成する( id int、 名前varchar(100)、 グレードvarchar(100)、 主キー(ID) ); 3番目の表: テーブルteacher_student(を作成する t_id 整数、 s_id 整数、 主キー(t_id,s_id) 制約 teacher_id_fk 外部キー(t_id) 参照 teachers(id), 制約 student_id_fk 外部キー(s_id) 参照 students(id) ); データを挿入: 3. 1 対 1: 1 つのテーブルの外部キーが 2 番目のテーブルの主キーに接続します。これは実際の開発では必要ありません。テーブルを設計するだけで済みます。 複数テーブルクエリ: クロス結合 (直積): 最初のテーブルのすべての行が 2 番目のテーブルのすべての行で乗算されます。最終結果は不正確であるため、通常は使用されません。 内部結合: クロス結合によって取得された結果セットが間違っているためです。したがって、内部接続はクロス接続に基づいています 接続条件に一致する接続テーブル内のデータ行のみがリストされ、一致しないレコードはリストされません。 文法: 暗黙の構文:
明示的な構文:
外部結合: 外部結合は、1 つのテーブルをベース テーブルとして使用し、他のテーブルからの情報を連結します。情報が存在する場合は連結されます。存在しない場合は、null が表示されます。外部結合は、左外部結合と右外部結合に分けられます。 左外部結合: キーワードの左側のテーブルをベーステーブルとして結合します
右外部結合: キーワードの右側のテーブルがベーステーブルです
注: テーブル a の左外部結合テーブル b とテーブル b の右外部結合テーブル a の結果は同じです。 サブクエリ: クエリを実行する際に、別の選択ステートメントの結果が条件として必要な場合があります。このとき、サブクエリが使用されます。メインクエリ (外部クエリ) にデータを提供するために最初に実行されるクエリ (内部クエリ) をサブクエリと呼びます。サブクエリは、ネストされたサブクエリと相関サブクエリに分けられます。 ネストされたサブクエリ: 内部クエリの実行は外部クエリとは独立しています。内部クエリは 1 回だけ実行され、実行完了後にその結果が外部クエリの条件として使用されます (ネストされたサブクエリ内のサブクエリ ステートメントを取り出して個別に実行できます)。 文法と演習: ID 1 の教師が指導するすべての生徒を照会します。
相関サブクエリ: 内部クエリの実行は外部クエリのデータに依存します。外部クエリが実行されるたびに、内部クエリも実行されます。毎回、最初に外部クエリが実行され、外部クエリ テーブル内のタプルが取り出され、現在のタプル内のデータが内部クエリに渡され、次に内部クエリが実行されます。内部クエリの実行結果に基づいて、現在のタプルが外部クエリの where 条件を満たしているかどうかを判断します。満たしている場合、現在のタプルは要件を満たすレコードであり、満たしていない場合は要件を満たしていません。その後、外部クエリは次のタプル データの取得を継続し、すべてのタプルが処理されるまで上記の操作を実行します。 文法と演習: 各科目のテストの点数が平均点を上回る生徒の数を調べます。
上記は、エディターによって導入されたMySqlデータテーブル間の接続とクエリの詳細の統合です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。エディターがすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
>>: Linux exa コマンド (ls よりも優れたファイル表示エクスペリエンス)
MySQL は、異なるユーザーに異なる権限を割り当てることができるマルチユーザー管理データベースであ...
HTTP ステータス コードは、Web サーバーの HTTP 応答ステータスを示すために使用される ...
数日前、Web ページのモジュールを調整していたとき、ページのフォント サイズを 13px に設定し...
個々のウェブマスターにとって、自分のウェブサイトをいかにユニークで個性あふれるものにするかは、常に絶...
ブラウザが IE のどのバージョンであるかを検出するためによく使用される JavaScript コー...
マウスが画像の上を通過したときに画像のハイパーリンクを変更する方法:コードをコピーコードは次のとおり...
この記事の例では、じゃんけんゲームを実装するためのJSの具体的なコードを参考までに共有しています。具...
VMware Tools は VMware 仮想マシンに付属するツールで、VirtualBox (...
序文以前、ローディングスタイルのコンポーネントを作成しました。コードの再利用性を実現するために、この...
Docker は、安全で繰り返し可能な環境でソフトウェアを自動的にデプロイする方法を提供し、コンピュ...
すべてのプラットフォーム用の MySQL ダウンロードは、MySQL ダウンロードから入手できます。...
今日、仕事中に左結合に関するSQLの問題に遭遇しました。後で解決しましたが、この問題を通じてSQLの...
Mavenパッケージを解凍する tar xf apache-maven-3.5.4-bin.tar....
序文IE の将来のすべてのバージョンで Web ページの外観が一貫していることを保証するために、IE...
目次2. 試した方法2.1 キープアライブ2.2 ネストされたルートを持つ CSS 3. 機能説明4...