>  기사  >  백엔드 개발  >  MySQL 여정을 시작하세요

MySQL 여정을 시작하세요

WBOY
WBOY원래의
2023-09-02 14:09:071321검색

최근 몇 년 동안 MongoDB, Firebase, Redis와 같은 최신 NoSQL 데이터베이스가 등장했음에도 불구하고 SQL 데이터베이스는 여전히 개발자들 사이에서 매우 인기가 높습니다.

SQL(Structured Query Language)은 MySQL, PostgreSQL, Oracle 및 MS SQL Server와 같은 널리 사용되는 데이터베이스를 포함하여 다양한 데이터베이스의 데이터와 상호 작용하는 데 사용되는 언어입니다.

이 기사에서는 WordPress와 같은 콘텐츠 관리 시스템, Shopify와 같은 전자상거래 플랫폼, Twitter와 같은 소셜 미디어 플랫폼을 지원하는 오픈 소스 데이터베이스인 MySQL을 시작하기 위해 알아야 할 모든 것을 배우게 됩니다.

MySQL의 작동 방식, 관계형 데이터베이스 및 일부 주요 개념, 명령줄을 사용하여 MySQL 데이터베이스를 설치하고 상호 작용하는 방법, MySQL에서 데이터를 생성, 읽기, 업데이트 및 삭제하기 위한 최신 SQL 구문을 배우게 됩니다.

객체 관계형 매퍼(ORM)에 대해 알아보세요

관계형 데이터베이스를 사용하는 대부분의 개발자는 실제로 원시 SQL을 작성하지 않습니다. 더 일반적으로는 객체 관계형 매핑(ORM)을 수행하는 라이브러리를 사용합니다.

이러한 라이브러리는 기본적으로 데이터베이스 테이블을 사이트의 서버 측 개체처럼 보이게 하므로 선택한 개체 지향 프로그래밍 언어를 사용하여 데이터를 쉽게 조작할 수 있습니다.

ORM의 예로는 Sequelize(JavaScript), Eloquent(Laravel), SQLAlchemy(Python) 및 Active Record(Ruby on Rails)가 있습니다.

ORM을 사용하면 원시 SQL 코드를 작성할 필요가 없습니다. 대신 개체 지향 프로그래밍에 대한 지식을 활용하여 SQL 데이터베이스에서 데이터를 생성, 읽기, 업데이트 및 삭제할 수 있습니다. ORM을 사용하면 관계형 데이터베이스를 보다 쉽고 직관적으로 사용할 수 있습니다.

관계형 데이터베이스 관리 시스템(RDMS)

기본적으로 관계형 데이터베이스 관리 시스템은 데이터베이스와 쿼리 언어라는 두 가지 주요 구성 요소로 구성됩니다.

데이터베이스 자체는 단지 테이블의 모음일 뿐입니다. 각 테이블에서 실제 데이터는 스프레드시트처럼 열과 행으로 구성됩니다. 관계형 데이터베이스의 테이블은 각 테이블에 공통된 데이터를 기반으로 연결되거나 관련될 수 있습니다.

쿼리 언어는 데이터베이스의 데이터를 조작하고 읽는 데 사용됩니다. 대부분의 관계형 데이터베이스에서 데이터를 조작하는 데 사용되는 쿼리 언어는 SQL의 변형입니다.

SQL 데이터베이스의 몇 가지 주요 개념

MySQL 사용법을 배우려면 먼저 다음 SQL 데이터베이스 개념을 시각적으로 설명하기 위해 몇 가지 기본 개념을 이해해야 합니다. DrawSQL이라는 데이터베이스 시각화 도구를 사용하겠습니다. 먼저 스키마와 데이터 유형에 대해 알아봅니다.

스키마 및 데이터 유형

스키마는 테이블의 전체 구조와 다른 테이블과의 관계를 정의하는 청사진으로 생각할 수 있습니다.

예를 들어 다음 Users 테이블의 스키마를 고려해 보세요.

踏上您的 MySQL 之旅
사용자 테이블

위의 테이블 다이어그램에서 각 행은 키가 데이터베이스의 열을 나타내고 값이 데이터베이스에 저장할 수 있는 데이터 유형을 나타내는 사전이라는 것을 알 수 있습니다.

MySQL에는 여러 데이터 유형이 있으며 SQL 데이터베이스 데이터 유형도 다릅니다.

정수 값을 허용하는 id 键前面也有一个键。这表明 id기본 키 제약 조건을 사용하여 정의된다는 점도 알 수 있습니다.

따라서 각 열의 id 값은 비워 둘 수 없으며 고유해야 합니다. 따라서 두 명 이상의 사용자는 동일한 기본 키를 공유할 수 없으며 각 행은 기본 키로 식별될 수 있습니다.

이러한 규칙이 함께 users 테이블의 구조를 형성합니다.

MySQL 데이터베이스의 제약 조건에 대해 자세히 살펴보겠습니다.

제약조건

앞서 지정된 키의 값이 테이블의 모든 열에 대해 고유함을 보장하는 기본 키 제약 조건을 살펴보았습니다.

MySQL에서 제약 조건은 테이블에 저장되는 값을 허용하거나 제한하는 규칙입니다. 이는 테이블에 삽입될 데이터 유형을 제한하여 테이블 내 데이터의 정확성과 완전성을 보장하는 데 도움이 됩니다.

다음 제약 조건은 MySQL에서 일반적으로 사용됩니다.

  • NOT NULL: 열이 NULL 값을 가질 수 없는지 확인하세요 ​​
  • UNIQUE: 열의 모든 값이 서로 다른지 확인하세요
  • 主键: NOT NULL과 UNIQUE의 조합 - 테이블의 각 행을 고유하게 식별합니다
  • 外键: 두 테이블을 함께 연결하는 데 사용됩니다
  • CREATE INDEX: 빠르게 데이터베이스를 생성하고 데이터베이스에서 데이터를 검색하는 데 사용됩니다
  • CHECK: 열의 값이 지정된 조건을 충족하는지 확인하세요
  • DEFAULT: 값이 지정되지 않은 경우 열의 기본값을 설정합니다.

데이터베이스 정규화

더 많은 컨텍스트를 추가하기 위해 Users 테이블이 온라인 쇼핑 웹사이트에 등록된 사용자를 저장하는 데 사용된다고 가정해 보겠습니다.

일반적으로 온라인 쇼핑 웹사이트의 데이터베이스에는 Product 테이블과 Shopping Cart 테이블이 있어야 합니다. 제품에는 사용자가 사용할 수 있는 모든 제품이 포함되며 쇼핑 카트에는 특정 사용자가 구매하려는 특정 품목과 각 품목의 수량이 포함됩니다. p>

지금까지 생성된 모든 테이블은 다음과 같습니다.

踏上您的 MySQL 之旅

이 모든 테이블은 고유한 엔터티입니다. 예를 들어, carts 테이블에는 사용자에 대한 정보를 저장할 필요가 없습니다.

기술적으로 장바구니 데이터를 Users 테이블에 병합하는 데 방해가 되는 것은 없습니다. 결국, 두 정보 세트는 모두 관련되어 있습니다(사용자는 장바구니를 가지고 있습니다). 그러나 이 접근 방식은 결국 관리하기 매우 어려운 혼잡한 테이블로 이어집니다.

대신 우리는 보다 지속 가능한 접근 방식을 취하고 모든 장바구니 관련 데이터를 저장하기 위해 별도의 쇼핑 카트 테이블을 만들었습니다. 그런 다음 외래 키 user_idproduct_idcarts 테이블에 배치하여 다른 테이블에 대한 참조를 만듭니다.

이렇게 하면 장바구니는 장바구니를 소유한 사용자와 장바구니에 있는 제품에 대한 모든 정보에 액세스할 수 있습니다. 단, 실제로는 해당 정보가 저장되어 있지 않습니다.

관계형 데이터베이스에서 테이블을 결합하고 연결하는 이 방법을 정규화라고 합니다. 이 기사에서는 정규화의 기본 사항만 다루었습니다. 웹 애플리케이션용 데이터베이스 스키마를 설계하는 경우 정규화에 대해 자세히 읽어 볼 가치가 있습니다.

MySQL 설치 및 사용 방법 알아보기

이제 MySQL과 MySQL Server에 대해 더 높은 수준으로 이해했으니, 시스템에 MySQL을 설치하여 연습해 보겠습니다.

시스템에 MySQL을 설치하려면 MySQL 커뮤니티 다운로드 페이지로 이동하여 MySQL 설치 프로그램을 다운로드하세요.

다운로드가 완료된 후 설치 프로그램을 실행하고 설치 마법사를 완료하여 MySQL을 설치하세요.

설치 유형 선택 시 MySQL 서버 제품을 반드시 포함하세요. Developer Default 옵션을 사용하는 것이 좋습니다.

MySQL을 시작하는 설정 과정에서 사용자 이름과 비밀번호를 생성하라는 메시지가 표시됩니다. 나중에 데이터베이스에 연결하는 데 필요하므로 이를 기억해 두십시오.

설치가 성공적으로 완료되면 명령줄에서 MySQL 서버 명령에 액세스할 수 있습니다.

그러나 명령줄에서 MySQL을 사용하려면 먼저 자신을 인증해야 합니다. 다음 명령을 실행하고 자리 표시자에 사용자 이름을 입력하세요.

으아아아

관리자 비밀번호를 입력하라는 메시지가 표시되며 두 세부 정보가 모두 정확하면 명령줄에서 MySQL에 대한 액세스 권한이 부여됩니다.

MySQL의 기본 사용자 이름은 root이고 기본 비밀번호는 비어 있다는 점을 기억하세요.

MySQL은 일반적인 SQL 작업을 어떻게 처리하나요?

MySQL 서버 및 데이터베이스 생성

MySQL에서 데이터베이스를 생성하려면 CREATE DATABASE 문 뒤에 데이터베이스 이름을 사용합니다:

으아아아

문은 시스템에 작업을 지시하는 코드입니다. SQL 문은 항상 세미콜론으로 끝납니다. 대문자로 표시된 단어는 예약된 SQL 키워드이며 SQL은 이를 해석하여 특정 작업을 수행합니다.

위 명령을 실행하면 MySQL에 shopping_site라는 빈 데이터베이스가 생성됩니다.

MySQL 인스턴스에 있는 모든 데이터베이스를 보려면 SHOW DATABASE를 실행하세요.

데이터베이스에 테이블 만들기

새 데이터베이스에 테이블을 만들려면 CREATE TABLE 문을 사용하고 그 뒤에 테이블 이름과 이 테이블에 포함하려는 열 목록이 포함된 대괄호를 입력하세요.

으아아아

User의 각 열에 대해 해당 열의 데이터 유형을 지정합니다. 또한 idemail 열에 일련의 제약 조건을 추가했습니다.

이 명령을 실행하면 데이터베이스에 users라는 비어 있지만 구조화된 테이블이 생성됩니다.

테이블에 새 기록 만들기

테이블에 새 레코드를 생성하려면 INSERT INTO 문을 사용한 다음 값을 삽입할 테이블을 사용하세요.

으아아아

첫 번째 괄호에는 값을 삽입하려는 열을 지정합니다. 그런 다음 두 번째 괄호에는 올바른 순서로 삽입할 값을 지정합니다.

이 명령을 실행하면 이 값이 users 테이블의 지정된 열에 삽입됩니다.

id 필드를 자동 증가로 설정했기 때문에 이 값은 자동으로 추가됩니다. 또한 타임스탬프는 MySQL에 의해 자동으로 생성되므로 직접 지정할 필요가 없습니다.

从表中读取

要从数据库查询数据,请使用 SELECT 语句。

例如,如果我们想从 users 表中选择所有内容,我们可以使用以下语句:

SELECT * FROM users;

星号 (*) 代表我们数据库中的所有内容。该语句将返回整个表以及每一列。

如果我们只需要列的子集,例如 idemail,我们可以指定列来代替星号:

SELECT id, email FROM users;

在选择数据方面,我们的能力是无限的。

删除表格

要从 MySQL 中完全删除表,请使用 DROP 语句,后跟表名称:

DROP TABLE users;

现在,使用此命令时需要小心!它将永久删除users表中的所有数据。另外,不要将其与 DROP DATABASE 语句混淆,该语句会删除整个数据库。

就是这样!现在您知道如何使用 MySQL!

MySQL 是一个开源关系数据库管理系统,即使在今天,它仍然为网络的重要部分提供支持。结构化查询语言或 SQL 用于在 MySQL 数据库中操作和存储数据。

在这篇文章中,我们回顾了 SQL 的一些关键概念,包括 ORM、模式、约束和数据库规范化。我们还回顾了 MySQL 的安装和设置过程。

最后,我们介绍了一些负责在 MySQL 中操作数据的 SQL 语句。

위 내용은 MySQL 여정을 시작하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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