>  기사  >  데이터 베이스  >  mysql에서 행 데이터를 쿼리하는 방법

mysql에서 행 데이터를 쿼리하는 방법

PHPz
PHPz원래의
2023-04-19 14:11:583872검색

MySQL은 매우 인기 있는 관계형 데이터베이스 관리 시스템으로, 테이블에서 데이터를 검색하는 다양한 방법을 지원하며, 그 중 가장 일반적으로 사용되는 방법은 행 데이터를 쿼리하는 것입니다. 이 기사에서는 MySQL을 사용하여 기본 쿼리, 조건부 쿼리 및 다중 테이블 쿼리를 포함하여 행 데이터를 쿼리하는 방법을 소개합니다.

1. 기본 쿼리

MySQL에서 가장 기본적인 행 쿼리 문은 SELECT 문입니다. 기본 형식은 다음과 같습니다.

SELECTcolumn1,column2,... FROM table_name;

여기서,column1,column2 등은 검색할 열 이름을 나타내고 table_name은 검색할 테이블 이름을 나타냅니다.

예를 들어, "이름"과 "나이"라는 두 개의 데이터 열이 포함된 "학생"이라는 테이블이 있는 경우 모든 학생의 이름과 나이를 쿼리하려면 다음 명령문을 사용할 수 있습니다. :

SELECT name , age FROM Students;

이 명령문을 실행한 후 MySQL은 모든 학생의 이름과 나이가 포함된 테이블을 반환합니다.

2. 조건부 쿼리

기본 쿼리는 테이블의 모든 행 데이터를 검색할 수 있지만 더 일반적으로는 특정 조건을 충족하는 행 데이터만 검색하면 됩니다. MySQL은 WHERE 절, LIKE 절 및 IN 절과 같은 조건부 검색을 구현하는 다양한 방법을 제공합니다.

  1. WHERE 절

WHERE 절을 사용하면 반환된 행 데이터가 충족해야 하는 조건을 제한할 수 있습니다. 구문은 다음과 같습니다.

SELECT 컬럼1, 컬럼2, ... FROM table_name WHERE 조건;

여기서 조건은 비교 연산자, 논리 연산자 및 함수 등을 포함할 수 있는 행 데이터 제한을 설명하는 일부 논리 표현식입니다.

예를 들어, 20세 이상의 학생만 쿼리하려는 경우 다음 문을 사용할 수 있습니다.

SELECT name, age FROM Students WHERE age > 20

이 문을 실행한 후 MySQL은 모든 연령을 포함하는 목록을 반환합니다. 20세 이상의 학생 이름과 연령 테이블입니다.

  1. LIKE 절

LIKE 절은 특정 문자열 패턴을 일치시키는 데 사용할 수 있습니다. 구문은 다음과 같습니다.

SELECT 컬럼1, 컬럼2, ... FROM table_name WHERE 컬럼_이름 LIKE 패턴;

여기서 패턴은 와일드카드 문자를 포함하는 문자열이며 와일드카드 문자는 모든 문자 또는 문자 그룹과 일치하는 데 사용할 수 있습니다. 가장 일반적으로 사용되는 와일드카드 문자는 % 및 _이며, 이는 각각 모든 문자 및 단일 문자와 일치합니다.

예를 들어 이름이 "Li"로 시작하는 학생만 쿼리하려는 경우 다음 문을 사용할 수 있습니다.

SELECT name, age FROM Students WHERE name LIKE 'Li%'

이 문을 실행한 후, MySQL은 이름이 "Li"로 시작하는 모든 학생의 이름과 나이가 포함된 테이블을 반환합니다.

  1. IN 절

IN 절을 사용하면 열의 값이 지정된 값 집합에 속하는지 여부를 검색할 수 있습니다. 구문은 다음과 같습니다.

SELECT 컬럼1, 컬럼2, ... FROM table_name WHERE 컬럼_명 IN (value1, value2, ...);

여기서 value1, value2 등은 일치시킬 값을 나타냅니다.

예를 들어 이름이 "Li" 또는 "Zhang"인 학생만 쿼리하려는 경우 다음 명령문을 사용할 수 있습니다.

SELECT 이름, 나이 FROM 학생 WHERE name IN ('Li', 'Zhang') ;

이 명령문을 실행한 후 MySQL은 "Li" 또는 "Zhang"이라는 이름의 모든 학생의 이름과 나이가 포함된 테이블을 반환합니다.

3. 다중 테이블 쿼리

실제 응용 프로그램에서는 일반적으로 여러 테이블에서 데이터를 공동으로 검색해야 합니다. MySQL은 INNER JOIN, LEFT JOIN 및 RIGHT JOIN 등을 포함하여 다중 테이블 쿼리를 구현하는 다양한 방법을 제공합니다.

  1. INNER JOIN

INNER JOIN은 두 테이블 간의 연관 조건을 기반으로 관련 데이터를 동시에 검색할 수 있는 가장 일반적으로 사용되는 공동 쿼리 방법 중 하나입니다. 구문은 다음과 같습니다.

SELECT column1, column2, ... FROM table1 INNER JOIN table2 ON 조건

여기서 table1과 table2는 연결될 두 테이블을 나타내고 조건은 연결 조건이며 일반적으로 열의 일부 열입니다. 테이블 두 개 .

예를 들어, "students" 테이블과 "scores"라는 두 개의 테이블이 있고, "students" 테이블에는 학생의 이름과 나이가 포함되고 "scores" 테이블에는 학생의 이름과 성적이 포함된 경우 다음을 쿼리하려고 합니다. 각 학생의 이름, 나이 및 학년에 대해 다음 명령문을 사용할 수 있습니다.

SELECT Students.name, Students.age, Score.score FROM Students INNER JOIN 점수 ON Students.name = Score.name;

이 명령문을 실행한 후 , MySQL은 각 학생의 이름, 나이, 성적을 포함하는 A 테이블을 반환합니다.

  1. LEFT JOIN

LEFT JOIN은 왼쪽 테이블의 모든 행 데이터와 오른쪽 테이블의 정규화된 행 데이터를 반환할 수 있는 공동 쿼리 방법이기도 합니다. 구문은 다음과 같습니다.

SELECT column1, column2, ... FROM table1 LEFT JOIN table2 ON 조건;

여기서 table1과 table2는 연결될 두 테이블을 나타내고 조건은 연결 조건이며 일반적으로 테이블의 일부 열입니다. 테이블 두 개 .

예를 들어, "students"와 "scores"라는 두 개의 테이블이 있고 모든 학생의 이름, 나이, 학년(있는 경우)을 쿼리하려는 경우 다음 문을 사용할 수 있습니다.

SELECT Students.name, Students .age , Score.score FROM 학생 LEFT JOIN 점수 ON 학생.이름 = 점수.이름;

이 명령문을 실행한 후 MySQL은 모든 학생의 이름, 나이 및 성적(있는 경우)이 포함된 테이블을 반환합니다.

  1. RIGHT JOIN

RIGHT JOIN은 LEFT JOIN과 유사하지만 오른쪽 테이블의 모든 행 데이터와 정규화된 왼쪽 테이블 데이터를 반환합니다. 구문은 다음과 같습니다.

SELECT column1, column2, ... FROM table1 RIGHT JOIN table2 ON 조건

여기서 table1과 table2는 연결될 두 테이블을 나타내고 조건은 연결 조건이며 일반적으로 테이블의 일부 열입니다. 테이블 두 개 .

예를 들어, "students"와 "scores"라는 두 개의 테이블이 있고 모든 점수 기록과 해당 학생의 이름 및 나이(있는 경우)를 쿼리하려는 경우 다음 문을 사용할 수 있습니다.

SELECT Students.name , 학생 .age, 점수.점수 FROM 학생 RIGHT JOIN 점수 ON 학생.이름 = 점수.이름;

이 명령문을 실행한 후 MySQL은 모든 점수 기록과 해당 학생 이름 및 나이(있는 경우)가 포함된 테이블을 반환합니다.

요약

이 글에서는 MySQL을 사용하여 기본 쿼리, 조건부 쿼리, 다중 테이블 쿼리 등 행 데이터를 쿼리하는 방법을 소개합니다. 그 중 기본 쿼리는 테이블의 모든 데이터를 검색할 수 있고, 조건부 쿼리는 지정된 조건에 따라 데이터를 검색할 수 있으며, 다중 테이블 쿼리는 여러 테이블에서 공동으로 데이터를 검색할 수 있습니다. 이러한 기술을 사용하면 데이터를 더 빠르고 정확하게 검색하고 데이터 처리의 효율성과 정확성을 향상시킬 수 있습니다.

위 내용은 mysql에서 행 데이터를 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.