MySQL は、Web サイトやエンタープライズ アプリケーションで広く使用されているオープン ソースのリレーショナル データベース管理システムです。 MySQL のインストールと使用に加えて、必要なスキルはデータベースのクエリです。クエリは非常に重要であり、必要なデータを検査、フィルタリング、取得できるようにするためです。この記事では、基本的なクエリ、高度なクエリ、接続クエリなど、MySQL データベースにクエリを実行する方法を紹介します。
1. 基本的なクエリ
SELECT ステートメントは、データベース テーブルからデータを取得するために使用されます。どの列を取得するか、どのテーブルからデータを取得するかを指定します。構文は次のとおりです:
SELECT 列 1, 列 2, ... FROM テーブル名;
例:
SELECT 名前、年齢 FROM 学生;
上記のステートメントは、students テーブルから name 列と age 列のデータを取得します。
WHERE ステートメントは、特定の行をフィルターし、条件を満たすデータのみを返すために使用されます。これは SELECT ステートメントの後にあり、構文は次のとおりです:
SELECT 列 1, 列 2, ... FROM テーブル名 WHERE 条件;
例:
SELECT 名, age FROM students WHERE age > 18;
上記のステートメントは、students テーブルから 18 歳以上の生徒の名前と年齢を取得します。
ORDER BY ステートメントは、指定した列に従って取得したデータを並べ替えるために使用されます。データを昇順または降順に並べることができます。構文は次のとおりです:
SELECT 列 1, 列 2, ... FROM テーブル名 WHERE 条件 ORDER BY 列 1, 列 2, ... ASC|DESC;
例:
SELECT name , age FROM students WHERE age > 18 ORDER BY age DESC;
上記のステートメントは、students テーブルから 18 歳以上の生徒の名前と年齢を取得し、降順で並べ替えます。年。
LIMIT ステートメントは、取得する行数を制限するために使用されます。通常、レコードの最初の N 行を取得するか、レコードの最初の M 行をスキップするために、ORDER BY ステートメントとともに使用されます。構文は次のとおりです:
SELECT 列 1, 列 2, ... FROM テーブル名 WHERE 条件 ORDER BY 列 1, 列 2, ... ASC|DESC LIMIT N OFFSET M;
例:
SELECT name, age FROM students WHERE age > 18 ORDER BY age DESC LIMIT 10;
上記のステートメントは、students テーブルから 18 歳以上の生徒の名前と年齢を取得します。レコードの最初の 10 行を返します。
2. 高度なクエリ
LIKE ステートメントは、特定のスタイルのデータをフィルターするために使用され、多くの場合、あいまい一致に使用されます。 WHERE ステートメントで使用できます。構文は次のとおりです:
SELECT column1, column2, ... FROM table_name WHERE column_name LIKE pattern;
WHERE 文はワイルドカードを含む文字列です。 % および _ ワイルドカードを使用して、任意の文字と 1 つの文字に一致させることができます。例:
SELECT name, age FROM students WHERE name LIKE '%zhang%';
上記のステートメントは取得します。 「zhang」を含む学生テーブルの学生レコードの名前。
IN ステートメントは、列内の複数の値と一致するクエリに使用されます。 WHERE ステートメントで使用できます。構文は次のとおりです:
SELECT column1, column2, ... FROM table_name WHERE column_name IN (value1, value2, ...);
For例:
SELECT name, age FROM students WHERE age IN (18, 19, 20);
上記のステートメントは、年齢が 18、19、または 20 歳の生徒レコードを学生のテーブル。
NOT ステートメントは、条件を満たさない行をフィルター処理するために WHERE ステートメントで使用されます。構文は次のとおりです:
SELECT 列 1, 列 2, ... FROM テーブル名 WHERE NOT 条件;
例:
SELECT 名前、年齢 FROM 学生 WHERE NOT 年齢= 18;
上記のステートメントは、学生テーブルから年齢が 18 歳以外の学生レコードを取得します。
3. 接続クエリ
接続クエリは、複数のテーブルからデータを取得し、結果を結合するために使用されます。通常、INNER JOIN または LEFT JOIN ステートメントが使用されます。構文は次のとおりです。
SELECT 列 1, 列 2, ... FROM テーブル名 1 JOIN テーブル名 2 ON テーブル名 1.列名=テーブル名 2.列名 WHERE 条件;
ここで、TABLE_NAME1 と TABLE_NAME2 は、テーブル名 1 とテーブル名 2 の名前です。接続する 2 つのテーブル。JOIN 句で接続するタイプを指定し、ON 条件で結合テーブルの列を指定します。
INNER JOIN ステートメントは、両方のテーブルに共通の行データを返します。これには、同じ列値を持つ両方のテーブルの行が含まれます。構文は次のとおりです:
SELECT 列 1, 列 2, ... FROM テーブル名 1 INNER JOIN テーブル名 2 ON テーブル名 1.列名=テーブル名 2.列名;
例:
SELECT students.name, course.name FROM students INNER JOIN course ON students.course_id=courses.course_id;
上記のステートメントは、students テーブルと course テーブルから名前とコース名を取得し、それらを結合します。
LEFT JOIN ステートメントは、左側のテーブルのすべての行と、右側のテーブルの一致する行を返します。右側のテーブルに一致する行がない場合、結果セットの右側のテーブル列は NULL になります。構文は次のとおりです:
SELECT 列 1, 列 2, ... FROM テーブル名 1 LEFT JOIN テーブル名 2 ON テーブル名 1.列名=テーブル名 2.列名;
例:
SELECT students.name、courses.name FROM students LEFT JOIN course on students.course_id=courses.course_id;
上記のステートメントは、学生テーブルから名前とコース名を取得し、コースに登録していない学生もすべて含めます。
概要
上記は、MySQL の基本、高度、および接続クエリ メソッドをクエリする方法です。これらのメソッドをマスターすることは、MySQL を使用する上で重要であり、データベース管理者や開発者がより効果的に管理するのに役立ちます。 . データを取得します。
以上がmysqlにクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。