기술나눔

데이터베이스 기본 사항

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

여기에 이미지 설명을 삽입하세요.

기본 사용을 위해 로그인

입력하다:mysql -h 127.0.0.1 -P 3306 -u root -p

-hmysql 서비스가 배포된 호스트에 대한 로그인을 지정합니다.
-P액세스하려는 포트 번호를 지정하세요.
-u로그인한 사용자 지정
-p입력할 비밀번호를 지정하세요

-h 127.0.0.1을 쓰지 않으면 기본값은 로컬로 연결하는 것입니다.
-P 3306을 쓰지 않으면 기본값은 3306 포트 번호에 연결하는 것입니다.

입력하다:mysql -y root
여기에 이미지 설명을 삽입하세요.

데이터베이스의 기본 개념

데이터베이스 스토리지 솔루션

서버 관점에서의 이해

mysql데이터베이스 서비스의 클라이언트입니까?
mysqld데이터베이스 서비스의 서버 측입니다.
MySQL은 본질적으로 C(mysql) S(mysqld) 모드 기반의 네트워크 서비스입니다.

Mysql은 네트워크 프로세스이고, 해당 mysqld는 이 네트워크 서비스의 백엔드입니다.

여기에 이미지 설명을 삽입하세요.

사용할 수 있다netstat -lntp포트 번호를 확인하세요.

여기에 이미지 설명을 삽입하세요.

기능의 관점에서 이해하기

mysql은 데이터 액세스 서비스를 제공하는 네트워크 프로그램 세트입니다.
mysqld 데이터베이스 서비스

데이터베이스(Database): 일반적으로 디스크나 메모리에 저장되는 특정 구조로 정리된 데이터를 말한다. 디스크에 저장되는 데이터베이스 솔루션의 집합이므로 데이터베이스를 저장하는 매체는 디스크나 메모리이다.

파일을 사용하여 데이터를 저장할 수 있는데 왜 데이터베이스가 필요한가요?
파일 저장 데이터에는 다음과 같은 단점이 있습니다.

  • 파일 보안 문제
  • 파일은 데이터 쿼리 및 관리에 도움이 되지 않습니다.
  • 파일은 대량의 데이터를 저장하는 데 도움이 되지 않습니다.
  • 프로그램에서 파일을 제어하는 ​​것이 불편함

데이터베이스의 본질은 데이터 콘텐츠를 저장하기 위한 솔루션 세트입니다. 데이터베이스 필드 또는 요구 사항이 주어지면 클라이언트/데이터베이스 파일이 결과를 직접 제공합니다.

여기에 이미지 설명을 삽입하세요.

사용 예

  1. 데이터베이스 설정은 기본적으로 Linux의 디렉터리입니다.
    설립하다helloworldcreate database helloworld
    여기에 이미지 설명을 삽입하세요.

  1. 데이터베이스에 테이블을 생성하는 핵심은 Linux에서 해당 파일을 생성하는 것입니다.
    사용helloworlduse helloworld그리고 테이블을 생성하세요

여기에 이미지 설명을 삽입하세요.


논리적 저장 구조:
select * from student;
행렬식 구조
여기에 이미지 설명을 삽입하세요.

위의 작업은 실제로 mysqld에 의해 수행됩니다.


  1. 데이터베이스의 본질도 파일이지만 이러한 파일은 프로그래머가 직접 조작하는 것이 아니라 프로그래머를 돕기 위해 데이터베이스 서비스에서 조작하는 것입니다.

주류 데이터베이스(관계형)

  • SQL Sever: Microsoft 제품, .Net 프로그래머가 선호하는 중형 및 대형 프로젝트입니다.
  • Oracle: Oracle 제품은 대규모 프로젝트와 복잡한 비즈니스 로직에 적합합니다. 동시성은 일반적으로 MySQL만큼 좋지 않습니다.
  • MySQL: Oracle에 속하는 세계에서 가장 인기 있는 데이터베이스로 동시성이 뛰어나 복잡한 비즈니스에는 적합하지 않습니다. 전자상거래, SNS, 포럼 등에서 주로 사용됩니다. 간단한 SQL 처리에 좋은 효과를 줍니다.
  • PostgreSQL: 캘리포니아 대학교 버클리 캠퍼스의 컴퓨터 공학과에서 개발한 관계형 데이터베이스로 개인용, 상업용 또는 학술 연구용으로 무료로 사용, 수정 및 배포할 수 있습니다.
  • SQLite: 비교적 작은 C 라이브러리에 포함된 ACID 호환 관계형 데이터베이스 관리 시스템인 경량 데이터베이스입니다. 그 설계 목표는 임베디드이며 많은 임베디드 제품에 사용되어 왔습니다. 임베디드 장치에서는 단지 수백 K의 메모리만으로도 충분할 수 있습니다.
  • H2: Java로 개발된 임베디드 데이터베이스입니다. 이는 단지 클래스 라이브러리일 뿐이며 애플리케이션 프로젝트에 직접 임베드될 수 있습니다.

서버, 데이터베이스, 테이블 간의 관계

소위 데이터베이스 서버 설치는 컴퓨터에 데이터베이스 관리 시스템 프로그램을 설치하는 것을 의미합니다. 일반적으로 개발자는 각 응용 프로그램에 대해 데이터베이스를 생성합니다.
응용 프로그램에서 엔터티의 데이터를 저장하기 위해 일반적으로 데이터베이스에 여러 테이블을 생성하여 프로그램에서 엔터티의 데이터를 저장합니다.

여기에 이미지 설명을 삽입하세요.

MySQL 전체 아키텍처

MySQL은 Unix/Linux, Windows, Mac 및 Solaris와 같은 거의 모든 현재 운영 체제에서 실행할 수 있는 이식 가능한 데이터베이스입니다. 다양한 시스템에는 서로 다른 기본 구현이 있지만 MySQL은 기본적으로 각 플랫폼에서 물리적 아키텍처의 일관성을 보장할 수 있습니다.

여기에 이미지 설명을 삽입하세요.

MySQL 분류

  • DDL [데이터 정의 언어] 저장된 데이터의 구조를 유지하는 데 사용되는 데이터 정의 언어
    대표 지침:create, drop, alter
  • DML [데이터 조작 언어] 데이터를 조작하는 데 사용되는 데이터 조작 언어
    대표 지침:insertdeleteupdate
  • DML은 명령을 나타내는 별도의 데이터 쿼리 언어인 DQL로 구분됩니다. select
  • DCL [Data Control Language] 권한 관리 및 거래를 주로 담당하는 데이터 제어 언어
    대표 지침:grantrevokecommit

스토리지 엔진

스토리지 엔진은 데이터베이스 관리 시스템이 데이터를 저장하는 방법, 저장된 데이터를 인덱싱하는 방법, 데이터를 업데이트하고 쿼리하는 방법을 구현하는 방법입니다.
MySQL의 핵심은 여러 스토리지 엔진을 지원하는 플러그인 스토리지 엔진입니다.

스토리지 엔진 보기: `엔진 표시;

스토리지 엔진 비교:
여기에 이미지 설명을 삽입하세요.
`

여기에 이미지 설명을 삽입하세요.