この記事では、データベース言語 SQL に関する関連知識を提供します。主に SQL 命令、テーブル処理、および SQL の高度なスキルに関連する問題を紹介します。皆様のお役に立てれば幸いです。
# #SQL 命令は、SQL を使用してデータベース内のテーブル データを保存、読み取り、処理する方法を指します。
一般的な SQL 命令には次のものが含まれます。
1.1 SELECT: 選択
(1) 機能: データベーステーブルからデータを選択します。テーブル内の 1 つまたは複数の列のすべてのデータを読み取る機能。
テーブルとは何ですか?テーブルは、データを保存することを目的としたデータベース内の構造です。
(2) ステートメント:
select カラム名 1、カラム名 2... from テーブル名1.2 DISTINCT: 区別 (選択)
# (1) 機能: データを処理するときに、テーブル内の異なるデータ値を見つける必要がありますつまり、各値が出現する回数に関係なく、列の個別の値に何が含まれているかを知る必要があります。現時点では、distinct を使用してください。
(2) ステートメント:
テーブル名から個別の列名を選択します1.3 WHERE: クエリあり条件
(1) 関数: 条件付きで選択的に情報をクエリする必要がある場合は、where
( 2) ステートメントを使用します。
select カラム名 from table name where 条件1.4 AND OR: AND、OR (接続条件)
(1) 機能: where の複雑な条件は、2 つ以上の単純な条件を and または or で接続して構成されます。 SQL ステートメントには、単純な条件が無限に存在する可能性があります。
#(2) ステートメント:
単純条件 1 および|または単純条件 2 のテーブル名から列名を選択します...##1.5 IN: 不連続な範囲の値を取得する (where と連携)
(1) 関数: in 節、通常は where が続きます。組み合わせて使用すると、条件が不連続な範囲の値を取ることを意味します
(2) ステートメント: select columns name from table name where columns name ascondition in (value) 1, 値 2, 値 3...) 存在します
(3) 補足: in 節の括弧内の値が 1 つだけの場合は、次と同等です。 ... where 列名 = 値 1
1.6 BETWEEN: 連続範囲の値を取得します (where で調整)
(1) 機能: in コマンドは、データベース内の値を 1 つまたは複数の不連続な値の範囲内で取得するコマンドであり、behind コマンドは、データベース内の値を連続した範囲内で取得するコマンドです。通常、where と組み合わせて使用されます。
(2) ステートメント: select columns name from table name where columns name between value 1 and value 2
1.7 LIKE: 検索モードあり (where と連携)
(1) 機能: パターンに基づいて必要なデータを検索します。通常、where と組み合わせて使用されます。
(2) ステートメント: select columns name from table name where 列名は {mode}
(3 ) {モード}:
たとえば、A_B は、A が A で始まり B で終わることを意味し、中間には 1 文字しか存在できません。ABC% は、で始まる文字列を意味します。 ABC、�C は ABC で終わる文字列を意味し、�C% はパターン ABC を含む文字列を表します。
1.8 ORDER BY: ソート
(1) 機能: 取得したデータを体系的に表示します。ソート表示、正順または逆順です。
(2) ステートメント: select columns name from table name where 条件は列名順 [ASC, DESC]
(3) [ ] はオプション、必須ではないことを意味します。 ASC は小さいものから大きいものへを意味し、DESC はその逆を意味します。デフォルトでは ASC が使用されます。 (4) 注: where が存在する場合は、where を order by 句の前に置く必要があります。 (5) 補足: 複数の列名を同時にソートできます。列名 1 [ASC, DESC]、列名 2 [ASC, DESC] の順に並べます。両方の列を小さいものから大きいものにソートすることを選択した場合、この句の結果は次のようになります: 列名 1 を小さいものから大きいものにソートします。同じ列名 1 を持つクエリ結果が複数ある場合、これらの結果は列名 2 に従って昇順に並べられます。 (1) 関数: データベースの多くの内容は数値の形で存在します。これらの数値に対して操作を実行する場合、いくつかの定義された関数を通じて直接実行できます。 # (2) 共通関数: ##AVG: 平均値 #COUNT: 数 MAX: 最大値 : 最小値 : 合計 1.10 COUNT: count (2) ステートメント: (3) 注: 1.11 GROUP BY: 分類 関数を含む列名に加えて、それを group by 句 に配置する必要があります。 (2) ステートメント: select 列名 1 sum(列名 2) from テーブル名グループ by 列名 1 having 句は SQL 文の最後にあります。 (2) ステートメント: (3) 注: 関数列のみが選択されている場合は、group by 句は必要ありません。 1.13 ALIAS: エイリアス(テーブルまたはカラム用) 列名のエイリアス: これは、SQL によって生成された結果を読みやすくするためのものです。 テーブル エイリアス: from 句のテーブル名の後にスペースを残し、使用するテーブル エイリアスをリストします。 つまり、これら 2 つのエイリアスは、置換されるテーブル名または列名の後に配置され、テーブル名または列名とスペースで区切られます。 (2) ステートメント: Column alias from table nameTable alias (3) 注: 列のエイリアスは、列名の直後だけでなく、... ... where 句はテーブル接続において重要な役割を果たします。 where の使用を誤ると、デカルト結合 (2 つのテーブルの 2 行ごとのすべての可能な組み合わせ) が発生する可能性があります。 (1) 機能: 私たちがよく呼ぶ左結合は内部結合です。内部接続の場合、データが選択される前に、両方のテーブルが同じ値を持つ必要があります。 値が別のテーブルに存在するかどうかに関係なく、テーブル内のすべての情報をリストしたい場合。現時点では、外部接続 (SQL OUTER JOIN) が必要です。 (2) ステートメント: 外部接続の構文はデータベースによって異なります。たとえば、Oracle では、where 句ですべてのデータを選択するテーブルの後に ( ) を追加して、このテーブル内のすべてのデータが必要であることを示します。 (3) 注: 2 番目のテーブルに相対データがない場合、SQL は NULL を返します。 (1) 機能: 異なる列名で得られた結果を連結します。 。各データベースによって提供されるメソッドは異なる場合があります: #MySQL: CONCAT() SQL サーバー: (2) ステートメント: concat(文字 1、文字 2、文字 3...) (3) 注: Oracle の concat() では、パラメータは 2 つだけ許可されます。つまり、一度に結合できる文字列は 2 つだけです。ただし、 || を使用すると、複数の文字列を一度に連結できます。
#データベースが異なると、この関数の名前は異なります: MySQL: substr(), substring() Oracle: substr() SQL サーバー: substring() (2) ステートメント: は、pos 位置から始まる文字を選択することを意味します。この構文は SQL Server には適用されません。 は、str の pos 位置から開始して、長さ len の文字列を選択することを意味します。 データベースが異なるとメソッドが異なります: MySQL: トリム()、rtrim()、ltrim() #Oracle: rtrim()、ltrim() SQL サーバー: rtrim()、ltrim() #(2) ステートメント: trim([[位置] [削除する文字列] from] string) (3) 注: If If there is no削除する文字列のリスト。空白がある場合は空白が削除されます。 2. テーブル処理 2.1 CREATE TABLE: テーブルの作成
create table テーブル名 # # (列名 1 属性、 列名 2 属性、 ## 列名 3 属性); (1) 機能: どのデータをテーブルに保存できるか、または借用できるかを指定するために使用されます。後で alter table ステートメントによって指定されます。 (2) 一般的な制限は次のとおりです: not null unique check 主キー 外部キー ## (1) 効果: 列の値を許可しない場合null 値を持ちますが、制限が適用されます。列の値に null を含めることが許可されていない場合は、その列に not null を指定する必要があります。 (2) ステートメント: create table table name (column名前 1 属性 not null、 列名 2 属性 not null、
(2) ステートメント:
(column名前 1 属性は null ではありません unique、 列名 3 属性は null );
主キーとして指定された列には、一意の特性が含まれている必要があります。ただし、一意の列が必ずしも主キーであるとは限りません。 (2) ステートメント:
(column名前 1 属性 check(列名 1>10) not null unique, カラム名 3 属性);
(1) 関数: 主キー )テーブル内で一意の値です。 つまり、テーブル内の各行の値を一意に確認するために使用されます。 主キーは、元のデータ内の列または人工列 (元の値と関係のない列) にすることができます。 主キーには 1 つ以上の列を含めることができます。主キーに複数の列が含まれる場合、それは複合キーと呼ばれます。 (2) ステートメント: MySQL の場合: create table table Name (列名 1 属性チェック (列名 1>10) not null unique, 列名 2 属性 not null, 列名 3 属性、 主キー(列名 1)); #create table テーブル名 #(列名 1 属性チェック(列名前 1>10) null でない一意の 、列名 2 属性が null でない、# ##列名3 属性); #SQL Server の場合: #create table table name 列名 2 属性 not null、 列名 3 属性); (3) 既存のテーブル構造を変更して主キーを設定する方法: MySQL: alter table table name add Primary key (カラム名 2) Oracle: alter table テーブル名 add 主キー (カラム名 2) SQL Server: alter table テーブル名 add主キー (列名 2) (4) 注: alter ステートメントを使用して主キーを追加する前に、次のことを行う必要があります。主キー列が null 以外に設定されているかどうかとして使用されていることを確認します。つまり、主キー列は null であってはなりません。 (1) 機能: 外部キーは 1 つまたは複数のポイントを指します。別の A テーブルの主キー列に。 外部キーの目的は、値の参照整合性を判断することです。つまり、承認された値のみがデータベースに保存されます。 (2) ステートメント: MySQL の場合: create table table名前 1 (列名 1 属性チェック(列名 1>10) not null unique、 列名 2 属性 not null、 列名 3 属性、 主キー (列名 1) #外部キー (列名 2) はテーブル名 2 (主キー列) を参照します ); ##Oracle の場合: create table テーブル名 1 #列名 2 の属性が null ではありません。 ##列名 3 の属性参照テーブル名 2 (主キー列) SQL Server の場合: #create table テーブル名 1 (列名 1 属性チェック(列名1>10) null ではない一意の主キー、 列名 2 属性が null ではない、 列名 3 属性参照テーブルname 2 (主キー列) ); (3) 既存のテーブル構造を変更して外部キーを設定する方法: MySQL: alter table テーブル名 1 外部キー (カラム名 2) 参照テーブル名 2 (カラム名 2) を追加 Oracle: alter table テーブル名 1 add(constraint xxx) 外部キー(列名 2) 参照 テーブル名 2(列名 2) SQL Server: alter table テーブル名 1 add 外部キー(列名 2) 参照テーブル名 2 (列名 2) 2.8 CREATE VIEW: 新しいビュー (2) ステートメント: create view ビュー名を SQL ステートメントとして; このうち、SQL ステートメントは、次のようになります: select columns name from table name; (3) 注: ビューを使用して 2 つのテーブルを接続できます。この場合、ユーザーは結合操作を実行して 2 つの異なるテーブルから検索することなく、1 つのビューテーブルから必要な情報を直接見つけることができます。 2.9 CREATE INDEX: 新しいインデックスの作成 インデックスは、表から必要な情報をすばやく見つけるのに役立ちます。 テーブルにインデックスがない場合、データベース システムはレポートされたデータ全体を読み出す必要があります。このプロセスはテーブル スキャンと呼ばれます。 適切なインデックスが存在する場合、データベース システムはまずこのインデックスを使用してテーブル内の必要なデータの場所を見つけ、次にその位置に直接移動してデータを取得します。高速化 データを取得する速度。 インデックス作成は、システム効率の向上に役立ちます。インデックスは 1 つ以上の列をカバーできます。 (2) ステートメント: create Index インデックス名 (列名 1、列名 2); (1) 機能: テーブルの作成後、テーブルの構造を変更する必要がある場合があります。たとえば、列の追加、列の削除、列名の変更、列属性の変更などです。 (2) 文: alter テーブル名 カラム名 [変更方法] [変更方法] 共通は: #列を追加: 列名 2 属性を追加 ##列属性の変更: 列名 2 の新しい属性を変更
(2) ステートメント: ##2.12 TRUNCATE TABLE: テーブルの内容をクリア (2) ステートメント: truncate table テーブル名 2.13 INSERT INTO: コンテンツをテーブルに挿入します (2) ステートメント: テーブル名 (列 1、列 2...) の値に挿入します。 (値 1、値 2...) テーブル名 1 に挿入 (列 1、列 2...) 列名 3、列名を選択テーブル名 2 から 4 2.14 更新: テーブルの内容を更新 (2) ステートメント: テーブル名セット列名 1= 新しい値の条件を更新します。 2.15 DELETE FROM: a を削除します。行または複数行 (2) ステートメント: delete from table name where 条件 # #3高度な SQL Rankingrank 中央値中央値 累積合計累計値 合計に対する合計の割合 合計に対する累積パーセント 3.1 UNION: merge ユニオンの制限の 1 つは、2 つの SQL ステートメントによって生成される列が同じ属性タイプである必要があることです。 さらに、 union を使用すると、異なるデータ値のみが表示されます。つまり、結果の値は繰り返されません。個別の を選択します。 (2) ステートメント: SQL union ##SQL ステートメント 2 (3) 注: SQL ステートメントで (または両方のステートメントを一緒に) select disinct 列名を使用すると、まったく同じ結果が得られる可能性があります。 (1) 機能: 2 つの SQL ステートメントの結果をマージすることも目的とします。 違いは、union all では、データ値が重複しているかどうかに関係なく、条件を満たすすべてのデータがリストされることです。結果値は再現可能です。 (2) ステートメント: SQL ステートメント 1 Union all SQL ステートメント 2 (1) 機能: Union と同様に、intersect も 2 つの SQL ステートメントによって生成された結果を処理します。 違いは、union は基本的に OR であるのに対し、intersect は AND に似ていることです。つまり、union は結合であり、intersect は結合 です。 (2) ステートメント: SQL ステートメント 1 intersect SQL ステートメント 2 (3) 注: intersect コマンドでは、異なる値のみが表示されます。一度リストアップされます。 (1) 関数: mius 2 つの SQL ステートメントに適用されることを指します。 まず最初の SQL ステートメントによって生成された結果を見つけて、次にこれらの結果が 2 番目の SQL ステートメントの結果の中にあるかどうかを確認します。存在する場合、最初のデータは削除され、最終結果には表示されません。 2 番目の SQL ステートメントで生成された結果が最初の SQL ステートメントで生成された結果に存在しない場合、このデータも破棄されます。 (減算と似ていますか? 最終的には、最初の SQL ステートメントにのみ現れ、2 番目の SQL ステートメントには現れない項目だけが残ります) (2) ステートメント: ##minus SQL ステートメント 2 #(3) 注: マイナス コマンドを使用すると、異なる値は 1 回だけリストされます。 3.5 サブクエリ where 句または Having 句に別の SQL ステートメントを挿入すると、サブクエリが作成されます。 サブクエリの役割は、まずテーブルを結合するために使用できます。次に、サブクエリが 2 つのテーブルを結合する唯一の方法である場合があります。 (2) ステートメント: select 列名 1 from テーブル名 1 where 列名 2 [比較演算子] ( selectテーブル名 2 から列名 2 where 条件) このうち、[比較オペランド] は等しいオペランド (=、>=、>、 ##3.6 EXISTS 基本的に、 。 存在する場合、システムは外側のクエリで SQL を実行します。そうしないと、SQL ステートメント全体で結果が生成されません。 (2) ステートメント: select columns name 1 from table name 1 where names (select columns name 2 from table name) 2 where 条件)3.7 CASE (2) ステートメント: select #条件 1 の場合、結果 1 条件 2 の場合、結果 2 #[else result n] テーブル名から #終了 (3) 補足: 条件は数値でも式でも構いません。 else 句は必要ありません。 推奨学習: mysql ビデオ チュートリアル1.9 関数
select 関数名 (列名) from テーブル名
( 1 ) 機能: Count、テーブル内で見つかった適格なエントリの総数をカウントします。
(1) 機能: 複数の列を選択する場合name また、列名の少なくとも 1 つに関数のアプリケーションが含まれている場合は、group by コマンドを使用する必要があります。この場合、他のすべての列名でグループ化されていることを確認する必要があります。つまり、
(1) 関数: 関数が生成する値の条件を設定します。 。
(1) 関数: テーブル用の関数および列のエイリアス。
(1) 関数: 2 つのテーブルを介して同じ列が 2 つのテーブルを接続します。
1.15 外部接続
1.16 CONCATENATE: 連結文字
1.17 SUBSTRING: インターセプト文字
(1) 機能: SQL の部分文字列関数を使用して Part を取得します。データの列の。
(1) 機能: trim() 関数は、文字列内の文字の先頭または末尾を削除するために使用されます。最も一般的なのは、先頭または末尾の空白を削除することです。
テーブル処理手順では、SQL を使用してデータベース内の各テーブルを処理し、追加、削除、変更する方法を参照します。 、など。
(1) 機能: データベースにテーブルを作成します
##(2) ステートメント:
2.2 CONSTRAINT: 制限
2.3 NOT NULL: 列の値を NULL 以外に制限する
2.4 UNIQUE: 列の値を一意になるように制限します
( 1) 機能: 列内の値が異なることを確認します。 create table table name
(3) 注: 2.5 CHECK
(1) 機能: 列内のすべての値が次のとおりであることを確認します。一貫した特定の条件。 create table table name
(3) 注: MySQL データベースにはチェック制限がまだ実装されていません。 2.6 主キー:主キー
#Oracle の場合:
(列名 1 属性チェック(列名 1>10) not null 一意の主キー、
2.7 外部キー: 外部キー
(1)機能: ビューテーブルを仮想テーブルとして使用できます。通常のテーブルとは異なり、テーブルには実際にデータが格納されますが、ビューはテーブル上に構築された構造であり、それ自体は実際にデータを格納しません。
(1) 機能:
#2.10 ALTER TABLE: テーブルの変更
2.11 DROP TABLE: テーブルの削除
(1) 機能: データベースからテーブルをクリアします (テーブルを削除します) )
(1) 関数: テーブル内のすべてのデータをクリアします (テーブルは削除しません)
(1)機能: データはフォームに入力されます。
(1)機能: テーブル内のデータを変更します。
# (1) 機能: 場合によっては、一部のデータをデータベースから直接削除する必要があります。 (1 つ以上の行が削除されます)
SQL を使用してより複雑な操作を実行する方法、および SQL を使用してこれらの操作を実行する方法:
(1) 機能: 目的は、2 つの SQL ステートメントの結果を結合することです。この観点からすると、union は join に似ています。
ステートメント 1
3.2 UNION ALL
##3.3 INTERSECT
#3.4 MINUS
#SQL ステートメント 1
(1) 機能: サブクエリ。1 つの SQL ステートメントに別の SQL を入れます。
(1) 関数: in を前に使用します、>、
(1) 関数: case は if- として使用されます。 then-else のような論理キーワード。
以上がSQL コマンド、テーブル処理、および高度な SQL 知識ポイントの概要について話しましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

SQL学習曲線は急ですが、練習とコアの概念を理解することで習得できます。 1.基本操作には、選択、挿入、更新、削除が含まれます。 2。クエリの実行は、分析、最適化、実行の3つのステップに分けられます。 3.基本的な使用法は、従業員情報の照会など、Join Connection Tableの使用などです。 4.一般的なエラーには、エイリアスとSQLインジェクションの使用が含まれないことが含まれ、それを防ぐためにパラメーター化されたクエリが必要です。 5.パフォーマンスの最適化は、必要な列を選択し、コードの読みやすさを維持することにより達成されます。

SQLコマンドは、DQL、DDL、DML、DCL、TCLのMySQLの5つのカテゴリに分割され、データベースデータの定義、操作、制御に使用されます。 MySQLは、語彙分析、構文分析、最適化、実行を通じてSQLコマンドを処理し、インデックスとクエリオプティマイザーを使用してパフォーマンスを向上させます。使用法の例には、データクエリの選択を選択し、マルチテーブル操作に参加します。一般的なエラーには、構文、ロジック、パフォーマンスの問題、および最適化戦略には、インデックスの使用、クエリの最適化、適切なストレージエンジンの選択が含まれます。

SQLの高度なクエリスキルには、複雑なデータ分析要件を処理できるサブクエリ、ウィンドウ関数、CTE、複雑な結合が含まれます。 1)サブクエリは、各部門で最高の給与を持つ従業員を見つけるために使用されます。 2)ウィンドウ関数とCTEを使用して、従業員の給与成長傾向を分析します。 3)パフォーマンス最適化戦略には、インデックスの最適化、クエリの書き換え、パーティションテーブルの使用が含まれます。

MySQLは、標準のSQL関数と拡張機能を提供するオープンソースリレーショナルデータベース管理システムです。 1)MySQLは、制限句の作成、挿入、更新、削除、拡張などの標準のSQL操作をサポートしています。 2)InnodbやMyisamなどのストレージエンジンを使用しています。これらは、さまざまなシナリオに適しています。 3)ユーザーは、テーブルの作成、データの挿入、ストアドプロシージャの使用など、高度な機能を介してMySQLを効率的に使用できます。

sqlmakesdatamanagemagementisibletoallbyproviding asimpleyetpowerfultoolset andmanagingdatabases.1)itworks withersortifyify what what what what what what what what whatysortsopecifyifyを許可します

SQLインデックスは、巧妙なデザインを通じてクエリパフォーマンスを大幅に改善できます。 1. Bツリー、ハッシュ、フルテキストインデックスなどの適切なインデックスタイプを選択します。 2。複合インデックスを使用して、マルチフィールドクエリを最適化します。 3.オーバーインデックスを避けて、データメンテナンスのオーバーヘッドを減らします。 4.不要なインデックスの再構築や削除など、定期的にインデックスを維持します。

SQLの制約を削除するには、次の手順を実行します。削除する制約名を特定します。 ALTER TABLEステートメントを使用してください:Table Table Name Drop Constraint Constraint Nameを変更します。削除を確認します。

SQLトリガーは、特定のイベントが指定されたテーブルで実行されたときに特定のアクションを自動的に実行するデータベースオブジェクトです。 SQLトリガーをセットアップするには、トリガー名、テーブル名、イベントタイプ、トリガーコードを含むCreate Triggerステートメントを使用できます。トリガーコードは、ASキーワードを使用して定義され、SQLまたはPL/SQLステートメントまたはブロックが含まれます。トリガー条件を指定することにより、Where句を使用して、トリガーの実行範囲を制限できます。トリガー操作は、インサート、更新、または削除ステートメントを使用してトリガーコードで実行できます。新しいキーワードと古いキーワードを使用して、トリガーコードの影響を受けるキーワードを参照できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
