초보자 및 숙련자를 위한 상위 27개의 MySQL 인터뷰 질문 및 답변 [2022]
게시 됨: 2021-01-07데이터 엔지니어링 또는 데이터 과학 인터뷰가 예정되어 있습니까? 가장 많이 받는 MySQL 인터뷰 질문 을 연습해야 합니까? 이 기사 는 당신이 알아야 할 MySQL 인터뷰 질문 목록을 정리합니다 .
Swiggy, Quora, IMDB 등과 같은 애플리케이션을 빌드하는 방법을 배우십시오.
일반적인 MySQL 인터뷰 질문 및 답변
1. MySQL이란 무엇입니까?
MySQL은 가장 인기 있는 오픈 소스 DBMS(데이터베이스 관리 시스템) 중 하나입니다. MySQL은 사용하기 쉽고 안정적이며 빠릅니다. 임베디드 시스템은 물론 클라이언트-서버 시스템에서 작동하는 DB 관리 시스템입니다.
2. MySQL이 인기 있는 이유는 무엇입니까?
우선 MySQL은 오픈 소스입니다. 둘째, 널리 채택되어 이미 많은 코드를 사용할 수 있습니다. 향후 프로젝트에 참조할 수 있는 전체 개발 시스템도 있습니다. MySQL에는 관계형 데이터베이스가 있습니다. 따라서 정리되지 않은 엉망진창의 큰 덤프보다는 체계적인 스토리지를 갖게됩니다. 그리고 마지막으로 앞서 말했듯이 MySQL은 빠르고 강력합니다.

3. MySQL의 테이블은 무엇입니까? 유형을 설명합니다.
이것은 반드시 알아야 하는 MySQL 인터뷰 질문 입니다. 정답을 보자-
MySQL은 모든 것을 논리적 테이블에 저장합니다. 테이블은 MySQL의 핵심 스토리지 구조로 생각할 수 있습니다. 따라서 테이블은 스토리지 엔진이라고도 합니다. 다음은 MySQL에서 제공하는 스토리지 엔진입니다.
· MyISAM – MyISAM은 MySQL용 기본 스토리지 엔진입니다. 이전 ISAM 스토리지 엔진을 확장합니다. MyISAM은 최대 256TB의 대용량 스토리지를 제공합니다! 테이블을 압축하여 추가 스토리지를 얻을 수도 있습니다. MyISAM 테이블은 트랜잭션에 안전하지 않습니다.
· MERGE - MERGE 테이블은 유사한 구조를 가진 서로 다른 MyISAM 테이블을 하나의 테이블로 통합하는 가상 테이블입니다. MERGE 테이블은 자체 인덱스가 없기 때문에 기본 테이블의 인덱스를 사용합니다.
· ARCHIVE – 이름에서 알 수 있듯이 Archive는 테이블을 압축하여 저장 공간을 줄임으로써 테이블을 보관하는 데 도움이 됩니다. 따라서 아카이브로 많은 기록을 저장할 수 있습니다. 테이블 레코드를 쓰고 읽는 동안 압축-압축 해제 절차를 사용합니다. Zlib 라이브러리를 사용하여 수행됩니다.
· CSV – 이것은 저장 형식에 가깝습니다. CSV 엔진은 값을 CSV(쉼표로 구분된 값) 형식으로 저장합니다. 이 엔진을 사용하면 테이블을 비 SQL 파이프라인으로 쉽게 마이그레이션할 수 있습니다.
· InnoDB – InnoDB는 성능을 구동할 엔진을 선택할 때 가장 최적입니다. InnoDB는 트랜잭션에 안전한 엔진입니다. 따라서 ACID와 호환되며 충돌이 발생한 경우 데이터베이스를 가장 안정적인 상태로 효율적으로 복원할 수 있습니다.
· 메모리 – 메모리 테이블은 이전에 HEAP로 알려졌습니다. 메모리 테이블을 사용하면 테이블이 메모리에 저장되므로 성능이 향상될 수 있습니다. 그러나 같은 이유로 대용량 데이터 테이블에서는 작동하지 않습니다.
· 연합 – 연합 테이블을 통해 원격 MySQL 서버 테이블에 액세스할 수 있습니다. 타사 통합 또는 클러스터 기술 없이도 수행할 수 있습니다.
읽기: 데이터 과학을 위한 SQL: SQL을 선택해야 하는 이유, 이점 및 명령 목록
4. MySQL에서 열 추가 쿼리 작성
이를 위해서는 ALTER TABLE 쿼리가 필요합니다. 호출되면 열과 해당 정의를 언급하기만 하면 됩니다. 이 같은:
ALTER TABLE 자동차
ADD COLUMN 엔진 VARCHAR(80) AFTER 색상;
5. 외래 키란 무엇입니까? MySQL에서 동일하게 구현하는 쿼리를 작성하십시오.
외래 키는 두 테이블을 연결하는 데 사용됩니다. FOREIGN KEY는 다른 테이블의 PRIMARY KEY를 암시하는 한 테이블의 필드(또는 그 조합)입니다. FOREIGN KEY 요구 사항은 테이블 간의 조인을 방해하는 활동을 방지하는 데 사용됩니다.
외래 키를 할당하려면 테이블을 생성할 때 이를 언급하는 것이 중요합니다. FOREIGN KEY 쿼리를 호출하여 할당할 수 있습니다. 이 같은:
FOREIGN KEY(Any_ID) REFERENCES Table_to_reference(Any_ID)
6. MySQL 워크벤치란 무엇입니까?
MySQL Workbench는 데이터베이스 모델러, 디자이너 및 DBA를 위한 결합된 시각적 도구입니다. MySQL Workbench는 관리 도구의 데이터 모델링, SQL 및 서버 설정 세트를 제공합니다. 간단히 말해서 MySQL 워크벤치는 GUI를 통해 데이터베이스 관리 시스템을 운영할 수 있게 해줍니다.
7. MySQL에서 데이터베이스 가져오기/내보내기는 어떻게 작동합니까?
두 가지 방법으로 수행할 수 있습니다. 하나는 phpMyAdmin을 사용하는 것이고, 두 번째는 MySQL의 커맨드 라인 접근을 사용하는 것입니다. 후자는 mysqldump라는 명령을 사용하여 수행할 수 있습니다. 다음과 같이 진행됩니다.
· mysqldump -u 사용자 이름 -p 데이터베이스 이름 > dbsample.sql
데이터베이스를 MySQL로 가져오려면 MySQL 명령으로 부호만 변경하면 됩니다. 명령은 다음과 같습니다.
· mysql -u 사용자 이름 -p 데이터베이스 이름 < dbsample.sql
8. MySQL에서 열이나 행을 어떻게 삭제할 수 있습니까?
이제 ALTER TABLE 명령을 사용한 다음 DROP 명령을 사용하여 열 삭제를 간단히 수행할 수 있습니다. 다음과 같이 진행됩니다.
ALTER TABLE table_name DROP 열 이름;
행을 삭제하려면 먼저 행에 대한 ID가 필요합니다. 그것이 편리하면 조건부 WHERE 명령과 함께 DELETE 명령을 사용하십시오. 이 같은:

carID = 3인 자동차에서 삭제
9. MySQL에서 테이블을 조인하는 다양한 방법은 무엇입니까?
조인은 두 테이블의 공통 열 값을 사용하여 하나 이상의 테이블을 함께 연결하는 데 사용됩니다. 기본적으로 네 가지 유형의 조인이 있습니다.
1. 내부 조인 - 내부 조인은 조인을 만드는 데 사용되는 조건인 조인 술어를 사용합니다. 구문은 다음과 같습니다.
SELECT something FROM tablename INNER JOIN 다른 테이블 ON 조건;
2. 왼쪽 조인 – 왼쪽 조인에도 조인 조건이 필요합니다. 왼쪽 조인은 왼쪽 테이블에서 시작하는 정보를 선택합니다. 왼쪽 테이블의 각 항목에 대해 왼쪽은 오른쪽 테이블의 각 항목을 비교합니다. 구문은 다음과 같습니다.
SELECT 무언가 FROM tablename LEFT JOIN 다른 테이블 ON 조건;
3. 오른쪽 조인 - 왼쪽 조인의 반대이며 쿼리에서 한 가지 차이점이 있지만 조인 이름입니다. 여기서 테이블 순서에 주의해야 합니다. 구문은 다음과 같습니다.
SELECT 무언가 FROM tablename LEFT JOIN 다른 테이블 ON 조건;
4. 교차 조인 – 교차 조인에는 조인 조건이 없습니다. 두 테이블 행의 데카르트 행렬을 만듭니다. 구문은 다음과 같습니다.
테이블 이름에서 무언가를 선택 CROSS JOIN 다른 테이블;
참고: 하나의 테이블만 처리하는 동안 자체 조인도 가능합니다.
그것은 가장 많이 처리되는 MySQL 인터뷰 질문 중 하나입니다 . 면접관은 후보자가 기본 사항을 이해하고 있는지 확인하고 핵심 개념 중 하나에 합류하는 것을 좋아합니다.
읽기: PHP 인터뷰 질문 및 답변
10. MySQL에서 기본 키를 삭제할 수 있습니까? 그렇다면 어떻게?
예, 테이블에서 기본 키를 삭제할 수 있습니다. 다시 사용할 명령은 ALTER TABLE 다음에 DROP입니다. 다음과 같이 진행됩니다.
ALTER TABLE table_name DROP 기본 키;
11. MySQL에서 프로시저란 무엇입니까?
프로시저(또는 저장 프로시저)는 일반 언어와 마찬가지로 데이터베이스에 포함된 하위 프로그램입니다. 저장 프로시저는 이름, SQL 문 및 매개변수로 구성됩니다. MySQL의 캐싱을 활용하므로 준비된 명령문처럼 시간과 메모리가 절약됩니다.
12. MySQL에서 트리거란 무엇입니까?
트리거는 MySQL의 테이블 관련 데이터베이스 개체입니다. 지정된 동작이 발생할 때 활성화됩니다.
이벤트가 발생한 후 또는 전에 트리거를 호출할 수 있습니다. INSERT, DELETE 및 UPDATE에 사용할 수 있습니다. 각 구문을 사용하여 트리거를 정의합니다. 예를 들어 BEFORE INSERT, AFTER DELETE 등입니다.
13. MySQL에 사용자를 추가하는 방법은 무엇입니까?
간단히 말해서 CREATE 명령을 사용하고 필요한 자격 증명을 지정하여 사용자를 추가할 수 있습니다. 먼저 MySQL 계정에 로그인한 다음 구문을 적용합니다. 이 같은:
CREATE USER 'testuser' IDENTIFIED BY '샘플 비밀번호';
다음 명령을 사용하여 사용자에게 권한을 부여할 수 있습니다.
GRANT SELECT ON * . * TO '테스트 사용자';
14. Oracle과 MySQL의 핵심 차이점은 무엇입니까?
핵심 차이점은 MySQL이 단일 모델 데이터베이스에서 작동한다는 것입니다. 즉, Oracle은 다중 모델 데이터베이스인 반면 하나의 기본 구조에서만 작동할 수 있습니다. 그래프, 문서, 키-값 등과 같은 다양한 데이터 모델을 지원할 수 있음을 의미합니다.
또 다른 근본적인 차이점은 Oracle의 지원에는 산업용 솔루션에 대한 가격표가 함께 제공된다는 것입니다. MySQL은 오픈 소스입니다.
이제 이 질문은 주의 깊게 이해해야 하는 MySQL 인터뷰 질문 중 하나입니다. 업계 표준과 회사가 원하는 것을 직접 다루기 때문입니다.
15. MySQL에서 CHAR 및 VARCHAR이란 무엇입니까?
둘 다 문자열을 정의합니다. 핵심 차이점은 CHAR은 고정 길이이고 VARCHAR은 가변 길이라는 것입니다. 예를 들어, CHAR(5)가 정의된 경우 정확히 5개의 문자가 필요합니다. VARCHAR(5)가 정의된 경우 최대 5자까지 사용할 수 있습니다. VARCHAR는 동적 메모리 할당이 가능하기 때문에 메모리 사용의 효율성이 더 높다고 할 수 있습니다.
16. MySQL에는 어떤 드라이버가 필요합니까?
MySQL에는 많은 유형의 드라이버가 있습니다. 대부분 다른 계산 언어와의 연결에 사용됩니다. 그 중 일부는 다음과 같습니다.
· PHP 드라이버
· JDBC
· OBDC
· 파이썬 드라이버
· C – 래퍼
· Perl 및 Ruby 드라이버
17. LIKE 문이란 무엇입니까? %와 _를 LIKE로 설명하세요.
SELECT, UPDATE 및 DELETE와 같은 명령에서 필터를 사용하는 동안 조건에서 감지할 패턴이 필요할 수 있습니다. LIKE는 그렇게 하는 데 사용됩니다. LIKE에는 %(백분율) 및 _(밑줄)라는 두 개의 와일드카드 문자가 있습니다. Percentage(%)는 문자열과 일치하고 밑줄은 단일 문자와 일치합니다.
예를 들어, %t는 나무와 차를 모두 감지합니다. 그러나 _t는 하나의 추가 문자, 즉 ti 또는 te와 같은 문자열만 감지합니다.
18. MySQL에서 타임스탬프를 날짜로 변환하는 방법은 무엇입니까?
DATE_FORMAT 및 FROM_UNIXTIME과 같은 두 가지 명령에 대한 지식이 필요한 다소 간단한 질문입니다.
DATE_FORMAT(FROM_UNIXTIME(`date_in_timestamp`), '%e %b %Y') AS '날짜 형식'
또한 읽기: Java 인터뷰 질문 및 답변
19. MySQL에서는 어떤 경우에도 쿼리를 작성할 수 있습니까?
이 MySQL 인터뷰 질문은 종종 MySQL을 막 시작하는 사람들을 혼란스럽게 합니다. 대부분의 경우 쿼리가 대문자로 작성되거나 일부는 소문자로 작성되지만 MySQL 쿼리에는 이러한 대소문자 구분이 없습니다.
예를 들어, create table tablename과 CREATE TABLE tablename 모두 제대로 작동합니다.
그러나 필요한 경우 BINARY 키워드를 사용하여 쿼리를 대소문자를 구분할 수 있습니다.
이 MySQL 인터뷰 질문 은 특히 쿼리를 명시적으로 대소문자를 구분하도록 요청받은 경우 까다로울 수 있습니다.
20. MySQL에 이미지를 저장하는 방법은 무엇입니까?
이미지는 BLOBS로 변환하여 MySQL 데이터베이스에 저장할 수 있습니다. 그러나 생성하는 오버헤드가 크기 때문에 선호되지 않습니다. 또한 전체 데이터베이스를 로드하는 동안 RAM에 불필요한 로드를 가합니다. 따라서 데이터베이스에 경로를 저장하고 디스크에 이미지를 저장하는 것이 좋습니다.
21. MySQL의 데이터에서 여러 조건 결과를 얻는 방법은 무엇입니까?
두 가지 방법이 있습니다. 첫 번째는 WHERE 조건을 사용할 때 OR 키워드를 사용하는 것입니다. 다른 하나는 값 목록을 사용하여 WHERE와 함께 IN을 확인하고 사용하는 것입니다.
22. MyISAM에서 사용하는 다양한 파일 형식은 무엇입니까?
일반적으로 MyISAM 테이블은 디스크에 세 개의 파일을 사용하여 저장됩니다. 확장자 .MYD 및 .MYI로 각각 정의된 데이터 파일 및 인덱스 파일. 확장자가 .frm인 테이블 정의 파일이 있습니다.
23. DISTINCT는 MySQL에서 어떻게 작동합니까?
DISTINCT는 특정 쿼리의 결과를 가져오는 동안 중복 문제를 방지하는 데 사용됩니다. DISTINCT는 결과에 반복되는 값이 포함되지 않도록 하는 데 사용됩니다. DISTINCT는 SELECT 절과 함께 사용할 수 있습니다. 구문은 다음과 같습니다.
SELECT DISTINCT 무언가 FROM 테이블 이름;
24. 테이블의 컬럼 수에 상한선이 있습니까?
정확한 크기 제한은 많은 요인에 따라 다르지만 MySQL은 최대 크기에 대한 엄격한 제한이 4096개 열입니다. 그러나 말했듯이 주어진 테이블에 대해 유효 최대값은 더 적을 수 있습니다.
25. MySQL에 따라 액세스 제어 목록 또는 ACL이란 무엇입니까?
ACL 또는 액세스 제어 목록은 MySQL 데이터베이스의 보안에 대한 지침을 제공하는 방식으로 사용됩니다. MySQL은 연결 요청, 쿼리 및 기타 작업과 같이 사용자가 수행하는 모든 작업에 대해 ACL 기반 보안을 제공합니다.
26. MySQL에서 연결을 영구적으로 만드는 방법은 무엇입니까?
연결 요청을 할 때 mysql_connect 대신 Mysql_pconnect를 사용하면 연결을 지속할 수 있습니다. 여기서 'p'는 지속적을 의미합니다. 데이터베이스 연결은 매번 닫히지 않습니다.
27. MySQL에서 SAVEPOINT 문을 설명하십시오.
SAVEPOINT는 중첩 트랜잭션이라고도 하는 MySQL에서 하위 트랜잭션을 만드는 방법입니다.

SAVEPOINT는 일반 거래에서 포인트를 표시합니다. 시스템이 롤백할 수 있는 지점을 나타냅니다.
확인하십시오: 인도의 SQL 개발자 급여
세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
결론
그래서, 이것은 몇 가지 MySQL 인터뷰 질문 이었습니다. 주제 및 기타 준비 사항에 대해 알아보려면 upGrad 과정 및 PG 프로그램을 방문하여 경력을 향상할 수 있는 올바른 경로와 지원 프로그램을 찾는 데 도움이 됩니다.
SQL에 대해 배우고 전체 스택 개발에 대해 더 알고 싶다면 작업 전문가를 위해 만들어졌으며 10개 이상의 사례 연구 및 프로젝트, 실용적인 실습을 제공하는 IIIT-B & upGrad의 Full Stack Software Development Executive PG Program을 확인하십시오. 워크샵, 업계 전문가와의 멘토링, 업계 멘토와의 1:1 학습, 최고의 기업과의 400시간 이상의 학습 및 직업 지원.
