• MySQL이란 무엇입니까?
    MySQL은 1,100만 개 이상의 설치가 있는 다중 스레드, 다중 사용자 SQL 데이터베이스 관리 시스템입니다.
    세계에서 두 번째로 인기 있고 널리 사용되는 오픈 소스 데이터베이스입니다.
    이 쿼리 언어에 MySQL 이름이 부여된 방식이 흥미롭습니다.
    My라는 용어는 공동 창립자인 Michael Widenius의 딸의 이름에서 만들어졌으며 SQL은 Structured Query Language의 약어입니다.
    MySQL을 사용하는 것은 개발자에게 무료이지만 기업은 Oracle에 라이선스 비용을 지불해야 합니다. 이전에 MySQL은 처음에 영리 회사인 MySQL AB가 소유했고 Sun Microsystems가 그것을 인수했고 Oracle이 Sun Microsystems를 인수하여 현재 Oracle이 MySQL을 소유하고 있습니다.

    MySQL은 구조화된 쿼리 언어를 기반으로 하는 Oracle 지원 관계형 데이터베이스 관리 시스템(RDBMS)입니다. MySQL은 Windows, Linux 및 UNIX를 포함하여 가장 유명한 운영 체제의 광범위한 범위를 지원합니다.
    MySQL을 사용하여 다양한 응용 프로그램을 개발할 수 있지만 웹 응용 프로그램 및 온라인 게시에만 사용됩니다. Lamp로 알려진 오픈 소스 기업의 기본적인 부분입니다.
  • LAMP는 무엇입니까?
    LAMP는 웹 개발에 사용되는 플랫폼입니다.
    LAMP는 Linux, Apache, MySQL 및 PHP를 운영 체제, 웹 서버, 데이터베이스 및 객체 지향 스크립팅 언어로 사용합니다. 따라서 LAMP로 약칭됩니다.
  • MySQL을 사용하면 어떤 이점이 있습니까?
    -, 유연성 : MySQL은 모든 운영 체제에서 실행됩니다.
    -, Power : MySQL은 성능에 중점을 둡니다.
    -, 엔터프라이즈 수준 SQL 기능: MySQL은 한동안 하위 쿼리, 보기 및 저장 프로시저와 같은 고급 기능이 부족했습니다.
    -, 전체 텍스트 인덱싱 및 검색
    -, 쿼리 캐싱 : 이것은 MySQL의 속도를 크게 향상시키는 데 도움이 됩니다.
    -, 복제(Replication) : 하나의 MySQL 서버를 다른 서버에 복제할 수 있어 많은 이점을 제공합니다.
    -, 구성 및 보안
  • MySQL의 기술 사양은 무엇입니까?
    MySQL에는 다음과 같은 기술 사양이 있습니다.
    -, 유연한 구조
    -, 고성능
    -, 관리하기 쉽고 사용하기 쉽습니다.
    -, 복제 및 고가용성
    -, 보안 및 스토리지 관리
    -, 드라이버
    -, 그래픽 도구
    -, MySQL 엔터프라이즈 모니터
    -, MySQL 엔터프라이즈 보안
    -, JSON 지원
    -, 복제 및 고가용성
    -, 관리 용이성 및 사용 용이성
    -, OLTP 및 트랜잭션
    -, 지리 공간 지원
  • MySQL은 대소문자를 구분합니까?
    MySQL은 대소문자를 구분하지 않습니다.
    OS가 테이블 이름과 데이터베이스의 대소문자 구분을 결정하므로 대소문자 구분은 기본 운영 체제에 의존합니다.
    Windows에서 데이터베이스와 테이블 이름은 대소문자를 구분하지 않지만 UNIX의 경우 대소문자를 구분합니다.
    특히 UNIX 호스트에서 데이터베이스는 대문자 및 소문자 테이블 이름을 허용합니다.
  • MySQL에서 최적화된 쿼리를 작성하는 방법은 무엇입니까?
    MySQL에서 최적화된 쿼리를 작성하기 위한 몇 가지 지침은 다음과 같습니다.
    -, 술어에 함수를 사용하면 안 됩니다.
    -, 술어의 시작 부분에 %와 같은 와일드카드 기호를 사용하지 마십시오.
    -, SELECT 절에는 필요한 열만 사용하십시오.
    -, 항상 inner join 옵션을 사용하십시오.
    -, 정렬된 결과를 가정할 경우 SQL에서는 "Order by" 절을 사용해야 합니다.
  • Mysql_connect와 Mysql_pconnect의 차이점을 알 수 있습니까?
    MySQL_connect
    -, 데이터베이스에 대한 새 연결을 여는 데 사용됩니다.
    -, 요청에 따라 데이터베이스 연결을 열고 닫을 수 있습니다.
    -, 페이지가 로드될 때마다 페이지를 엽니다.

    Mysql_pconnect
    -, 데이터베이스에서 영구 연결을 여는 데 사용됩니다.
    -, 데이터베이스 연결을 닫을 수 없습니다.
    -, 페이지가 로드될 때마다 연결을 열고 닫을 필요가 없습니다.
  • 일반적인 MySQL 명령에는 어떤 것이 있습니까?
    ALTER : 데이터베이스나 테이블 변경
    BACKUP : 테이블 백업
    \c : 입력 취소
    CREATE : 데이터베이스 생성
    DELETE : 테이블에서 행 삭제
    DESCRIBE : 테이블의 컬럼을 설명하기 위해
    DROP : 데이터베이스 또는 테이블 삭제
    EXIT(ctrl+c) : 종료
    GRANT : 사용자 권한 변경
    HELP(\h, \?) : 도움말 표시
    INSERT : 데이터 삽입
    LOCK : 테이블 잠금
    QUIT(\q) : EXIT와 동일
    RENAME : 테이블 이름 바꾸기
    SHOW : 객체에 대한 세부 정보 나열
    SOURCE : 파일 실행
    STATUS(\s) : 현재 상태를 표시합니다.
    TRUNCATE : 테이블 비우기
    UNLOCK : 테이블 잠금 해제
    업데이트: 기존 레코드 업데이트
    USE : 데이터베이스 사용
  • MySQL과 SQL의 차이점은 무엇입니까?
    SQL은 표준 쿼리 언어로 알려져 있습니다. MySQL과 같은 데이터베이스와 상호 작용하는 데 사용됩니다. MySQL은 다양한 유형의 데이터를 저장하고 안전하게 유지하는 데이터베이스입니다.
    데이터베이스 내부에 값을 저장하고 검색하려면 PHP 스크립트가 필요합니다.
    SQL은 컴퓨터 언어인 반면 MySQL은 소프트웨어 또는 응용 프로그램입니다.
    SQL은 데이터베이스 관리 시스템 생성에 사용되는 반면 MySQL은 데이터 처리, 저장, 삭제 및 수정을 가능하게 하는 데 사용됩니다.
  • 데이터베이스와 테이블의 차이점은 무엇입니까?
    데이터베이스와 테이블 사이에는 큰 차이점이 있습니다. 차이점은 다음과 같습니다.
    -, 테이블은 데이터베이스의 데이터 구분을 나타내는 방법이며 데이터베이스는 테이블과 데이터의 모음입니다.
    -, 테이블은 데이터를 서로 관련하여 그룹화하고 데이터 세트를 만드는 데 사용됩니다. 이 데이터세트는 데이터베이스에서 사용됩니다. 어떤 형태로든 테이블에 저장된 데이터는 데이터베이스의 일부이지만 그 반대는 사실이 아닙니다.
    -, 데이터베이스는 조직화된 데이터 및 액세스하는 데 사용되는 기능의 모음인 반면 테이블은 데이터를 저장하는 데 사용되는 행과 열의 모음입니다.
  • MySQL 데이터베이스 서버를 사용하는 이유는 무엇입니까?
    우선 MYSQL 서버는 개발자와 소규모 기업에서 무료로 사용할 수 있습니다.
    MySQL 서버는 오픈 소스입니다.
    MySQL의 커뮤니티는 엄청나고 지지적입니다. 따라서 MySQL에 관한 모든 도움말은 가능한 한 빨리 해결됩니다.
    MySQL은 오랫동안 시장에 나와 있었기 때문에 매우 안정적인 버전을 사용할 수 있습니다. 이전 빌드에서 발생하는 모든 버그를 지속적으로 제거했으며 업데이트할 때마다 매우 안정적인 버전을 제공합니다.
    MySQL 데이터베이스 서버는 매우 빠르고 안정적이며 사용하기 쉽습니다. 소프트웨어를 쉽게 사용하고 수정할 수 있습니다. MySQL 소프트웨어는 인터넷에서 무료로 다운로드할 수 있습니다.
  • MySQL 버전을 확인하는 방법은 무엇입니까?
    아래 명령을 사용하여 Linux에서 MySQL 버전을 확인할 수 있습니다.
    myql -v
    Windows에서 MySQL을 사용하는 경우 MySQL 명령줄 도구를 열면 플래그를 사용하지 않고 버전 정보가 표시됩니다. 서버 정보에 대해 더 알고 싶다면 아래 문장을 사용하세요.
    SHOW VARIABLES LIKE "%version%";
  • MyISAM과 InnoDB의 차이점은 무엇입니까?
    MySQL에서 가장 일반적으로 사용되는 스토리지 엔진은 MyISAM과 InnoDB입니다.
    MyISAM과 InnoDB의 차이점은 다음과 같습니다.
    -, MyISAM은 더 이상 트랜잭션을 지원하지 않지만 InnoDB는 트랜잭션을 지원합니다.
    -, MyISAM은 테이블 수준 잠금을 지원하지만 InnoDB는 행 수준 잠금을 지원합니다.
    -, MyISAM은 전체 텍스트 검색을 지원하지만 InnoDB는 그렇지 않습니다.
    -, MyISAM은 속도를 위해 설계되었지만 InnoDB는 대부분의 성능을 위해 설계되었습니다.
    -, MyISAM은 이제 해외 키를 지원하지 않지만 InnoDB는 외래 키를 지원합니다.
    -, InnoDB에서는 커밋과 롤백을 사용할 수 있지만 MyISAM에서는 사용할 수 없습니다.
    -, MyISAM은 더 이상 ACID(Atomicity, Consistency, Isolation, and Durability)를 지원하지 않지만 InnoDB는 ACID 속성을 지원합니다.
    -, InnoDB 테이블에서 AUTO_INCREMENT 필드는 인덱스의 섹션이지만 현재 MyISAM에는 없습니다.
    -, MyISAM은 별도의 테이블 이름.FRM, 데스크 이름.MYD 및 테이블 이름을 사용하여 디스크 영역에 테이블, 데이터 및 인덱스를 저장합니다. MYI 그러나 InnoDB는 테이블과 인덱스를 테이블스페이스에 저장합니다.
  • 삭제, 삭제 및 자르기의 차이점은 무엇입니까?
    TRUNCATE
    -, 테이블에서 모든 행을 제거합니다.
    -, WHERE 절이 필요하지 않습니다.
    -, 인덱싱된 뷰에는 자르기를 사용할 수 없습니다.
    -, 성능면에서 더 빠릅니다.

    DELETE
    -, 테이블에서 일부 또는 모든 행을 제거합니다.
    -, WHERE 절은 일치하는 조건에 따라 특정 행을 제거하는 데 사용됩니다. 쿼리에서 Where 조건을 사용하지 않으면 모든 행이 삭제됩니다.
    -, 한 번에 하나씩 행을 제거합니다.
    -, 인덱싱된 뷰와 함께 사용할 수 있습니다.

    DROP
    -, 데이터베이스에서 테이블을 제거합니다.
    -, 이 명령을 사용하면 모든 테이블의 행, 인덱스 및 권한도 제거됩니다.
    -, 작업을 롤백할 수 없습니다.
  • MySQL에 열을 추가하는 방법은 무엇입니까?
    열은 테이블의 각 행에 대해 하나의 값을 저장하는 테이블의 일련의 셀입니다. 다음과 같이 ALTER TABLE 문을 사용하여 기존 테이블에 열을 추가할 수 있습니다.
    ALTER TABLE table_name
       ADD COLUMN column_name column_definition [FIRST|AFTER existing_column];
              
  • MySQL에서 테이블을 삭제하는 방법은 무엇입니까?
    Drop Table 문을 사용하여 MySQL에서 테이블을 삭제할 수 있습니다. 이 명령문은 데이터베이스에서 구조 및 정의를 포함하여 테이블의 전체 데이터를 영구적으로 제거합니다.
    따라서 테이블 삭제 시 주의가 필요하다. 명령문을 사용한 후에는 MySQL에서 테이블을 복구할 수 없습니다. 성명서는 다음과 같습니다.
    DROP TABLE table_name;
  • MySQL에 외래 키를 추가하는 방법은 무엇입니까?
    외래 키는 하나 이상의 테이블을 함께 연결하는 데 사용됩니다. 두 테이블을 연결하기 위해 다른 테이블의 기본 키 필드와 일치합니다.
    이를 통해 테이블과 부모-자식 관계를 만들 수 있습니다. 두 가지 방법으로 테이블에 외래 키를 추가할 수 있습니다.
    -, CREATE TABLE 문 사용
    -, ALTER TABLE 문 사용
    다음은 CREATE TABLE OR ALTER TABLE 문을 사용하여 외래 키를 정의하는 구문입니다.
    [CONSTRAINT constraint_name]
        FOREIGN KEY [foreign_key_name] (col_name, ...)
            REFERENCES parent_tbl_name (col_name,...)
              
  • MySQL 비밀번호를 변경하는 방법은 무엇입니까?
    새 메모장 파일에서 아래 명령문을 사용하여 MySQL 루트 암호를 변경하고 적절한 이름으로 저장할 수 있습니다.
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    그런 다음 명령 프롬프트를 열고 MySQL 디렉터리로 이동합니다.
    이제 다음 폴더를 복사하여 DOS 명령에 붙여넣고 Enter 키를 누릅니다.
    C:\Users\javatpoint> CD C:\Program Files\MySQL\MySQL Server 8.0\bin
    다음으로 다음 명령문을 입력하여 비밀번호를 변경하십시오.
    mysqld --init-file=C:\\mysql-notepadfile.txt
    마지막으로 이 새 비밀번호를 사용하여 MySQL 서버에 루트로 로그인할 수 있습니다.
    MySQL 서버를 시작한 후 암호 변경을 확인하기 위해 C:\myswl-init.txt 파일을 삭제합니다.
  • MySQL 쿼리를 최적화하는 다양한 방법은 무엇입니까?
    -, 저장 프로시저를 만드는 동안 "sp_"를 사용하지 마십시오.
    -, SELECT 명령을 사용하는 동안 "*"를 사용하지 마십시오. 또한 SELECT 절에서 불필요한 열을 피하십시오.
    -, 쿼리를 작성하는 동안 테이블 별칭을 사용할 수 있습니다.
    -, 술어 시작 시 와일드카드(%) 사용을 피하십시오.
    -, DISTINCT 및 UNION은 필요한 경우에만 사용해야 합니다.
  • SQL SELECT 문의 순서를 알 수 있습니까?
    SQL SELECT 문의 순서는 다음과 같습니다.
    SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY
  • 데이터베이스 화이트박스 테스팅이란?
    데이터베이스 화이트박스 테스팅은 테이블, 데이터 모델, 스키마 및 참조 무결성 규칙을 다룹니다. 또한 트리거, 데이터베이스 일관성이 있는 논리적 보기 및 ACID 속성을 다룹니다.
  • 데이터베이스 블랙박스 테스팅이란?
    데이터베이스 블랙박스 테스팅은 데이터 매핑, 데이터 저장 및 검색을 다룹니다.
    Database Black Box Testing은 Equivalence Partitioning 및 Boundary Value Analysis와 같은 기술에 사용됩니다.
  • CTE 란 무엇입니까?
    SQL 문에 정의된 임시 결과 집합으로 구성된 표현식을 CTE(Common Table Expression)라고 합니다.
  • MySQL에 존재하는 다른 테이블은 무엇입니까?
    MySQL에는 주로 5가지 유형의 테이블이 있습니다.
    이러한 모든 데이터베이스 엔진 중 MySQL에서 사용되는 기본 데이터베이스 엔진은 MyISAM입니다.
    다섯 가지 유형의 테이블을 알아보려면 아래를 참조하십시오.
    -, MyISAM
    -, Heap
    -, Merge
    -, INNO DB
    -, ISAM
  • 데이터베이스에서 NULL 값을 어떻게 테스트할 수 있습니까?
    NULL 값은 해당 특정 필드에 값이 없는 필드입니다.
    NULL 값은 다른 NULL 값과 비교할 수 없으므로 =, <, <>와 같은 비교 연산자를 사용할 수 없습니다.
    필드를 NULL 값과 비교하려면 IS NULL 및 IS NOT NULL 연산자를 사용해야 합니다.
    IS NULL 및 IS NOT NULL의 구문은 아래를 참조하십시오.
    SELECT column_names FROM table_name WHERE column_name IS NULL;
    SELECT column_names FROM table_name WHERE column_name IS NOT NULL;
              
  • NVL 함수, IFNULL 함수 및 ISNULL 함수의 차이점은 무엇입니까?
    NVL 함수, IFNULL 함수, ISNULL 함수는 모두 NULL 값을 다른 값으로 대체하는 데 사용됩니다.
    ORACLE 사용자는 NVL 기능을 사용하고 MySQL 사용자는 IFNULL 기능을 사용하며 SQL 서버는 ISNULL 기능을 사용합니다.
    예를 들어 NULL 값을 가진 column(column_3)이 있다고 가정해 보겠습니다.
    따라서 아래 명령문을 실행하면 결과는 NULL 값입니다.
    SELECT column_1 * (column_2 + column_3) FROM Example_Table
    이제 이를 극복하기 위해 위의 세 가지 기능을 다음과 같이 사용할 수 있습니다.
    SELECT column_1 * (column_2 + NVL(column_3,0)) FROM Example_Table
    SELECT column_1 * (column_2 + IFNULL(column_3,0)) FROM Example_Table
    SELECT column_1 * (column_2 + ISNULL(column_3,0)) FROM Example_Table
              
  • CHAR_LENGTH와 LENGTH를 구별하시겠습니까?
    CHAR_LENGTH는 문자 수이고 LENGTH는 바이트 수입니다.
    숫자는 라틴 문자의 경우 동일하지만 유니코드 및 기타 인코딩의 경우 다릅니다.
  • MySQL에는 어떤 스토리지 엔진이 사용됩니까?
    스토리지 엔진을 테이블 유형이라고 하며 데이터는 다양한 기술을 사용하여 파일에 저장됩니다.
    기술에는 다음이 포함됩니다.
    -, indexing
    -, Storage mechanism
    -, Locking levels
    -, Capabilities & functions
  • MySQL의 드라이버는 무엇입니까?
    다음은 MySQL에서 사용할 수 있는 드라이버입니다.
    -, PHP Driver
    -, JDBC Driver
    -, ODBC Driver
    -, C WRAPPER
    -, PYTHON Driver
    -, PERL Driver
    -, RUBY Driver
    -, CAP11PHP Driver
    -, Ado.net5.mxj
  • LIKE와 REGEXP 연산자의 차이점은 무엇입니까?
    LIKE 및 REGEXP 연산자는 ^ 및 %로 표현하는 데 사용됩니다.
    SELECT * FROM employee WHERE emp_name REGEXP "^b";
    SELECT * FROM employee WHERE emp_name LIKE "%b";