최근 몇 년 동안 MongoDB, Firebase, Redis와 같은 최신 NoSQL 데이터베이스가 등장했음에도 불구하고 SQL 데이터베이스는 여전히 개발자들 사이에서 매우 인기가 높습니다.
SQL(Structured Query Language)은 MySQL, PostgreSQL, Oracle 및 MS SQL Server와 같은 널리 사용되는 데이터베이스를 포함하여 다양한 데이터베이스의 데이터와 상호 작용하는 데 사용되는 언어입니다.
이 기사에서는 WordPress와 같은 콘텐츠 관리 시스템, Shopify와 같은 전자상거래 플랫폼, Twitter와 같은 소셜 미디어 플랫폼을 지원하는 오픈 소스 데이터베이스인 MySQL을 시작하기 위해 알아야 할 모든 것을 배우게 됩니다.
MySQL의 작동 방식, 관계형 데이터베이스 및 일부 주요 개념, 명령줄을 사용하여 MySQL 데이터베이스를 설치하고 상호 작용하는 방법, MySQL에서 데이터를 생성, 읽기, 업데이트 및 삭제하기 위한 최신 SQL 구문을 배우게 됩니다.
관계형 데이터베이스를 사용하는 대부분의 개발자는 실제로 원시 SQL을 작성하지 않습니다. 더 일반적으로는 객체 관계형 매핑(ORM)을 수행하는 라이브러리를 사용합니다.
이러한 라이브러리는 기본적으로 데이터베이스 테이블을 사이트의 서버 측 개체처럼 보이게 하므로 선택한 개체 지향 프로그래밍 언어를 사용하여 데이터를 쉽게 조작할 수 있습니다.
ORM의 예로는 Sequelize(JavaScript), Eloquent(Laravel), SQLAlchemy(Python) 및 Active Record(Ruby on Rails)가 있습니다.
ORM을 사용하면 원시 SQL 코드를 작성할 필요가 없습니다. 대신 개체 지향 프로그래밍에 대한 지식을 활용하여 SQL 데이터베이스에서 데이터를 생성, 읽기, 업데이트 및 삭제할 수 있습니다. ORM을 사용하면 관계형 데이터베이스를 보다 쉽고 직관적으로 사용할 수 있습니다.
기본적으로 관계형 데이터베이스 관리 시스템은 데이터베이스와 쿼리 언어라는 두 가지 주요 구성 요소로 구성됩니다.
데이터베이스 자체는 단지 테이블의 모음일 뿐입니다. 각 테이블에서 실제 데이터는 스프레드시트처럼 열과 행으로 구성됩니다. 관계형 데이터베이스의 테이블은 각 테이블에 공통된 데이터를 기반으로 연결되거나 관련될 수 있습니다.
쿼리 언어는 데이터베이스의 데이터를 조작하고 읽는 데 사용됩니다. 대부분의 관계형 데이터베이스에서 데이터를 조작하는 데 사용되는 쿼리 언어는 SQL의 변형입니다.
MySQL 사용법을 배우려면 먼저 다음 SQL 데이터베이스 개념을 시각적으로 설명하기 위해 몇 가지 기본 개념을 이해해야 합니다. DrawSQL이라는 데이터베이스 시각화 도구를 사용하겠습니다. 먼저 스키마와 데이터 유형에 대해 알아봅니다.
스키마는 테이블의 전체 구조와 다른 테이블과의 관계를 정의하는 청사진으로 생각할 수 있습니다.
예를 들어 다음 Users 테이블의 스키마를 고려해 보세요.
위의 테이블 다이어그램에서 각 행은 키가 데이터베이스의 열을 나타내고 값이 데이터베이스에 저장할 수 있는 데이터 유형을 나타내는 사전이라는 것을 알 수 있습니다.
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>
지금까지 생성된 모든 테이블은 다음과 같습니다.
이 모든 테이블은 고유한 엔터티입니다. 예를 들어, carts 테이블에는 사용자에 대한 정보를 저장할 필요가 없습니다.
기술적으로 장바구니 데이터를 Users 테이블에 병합하는 데 방해가 되는 것은 없습니다. 결국, 두 정보 세트는 모두 관련되어 있습니다(사용자는 장바구니를 가지고 있습니다). 그러나 이 접근 방식은 결국 관리하기 매우 어려운 혼잡한 테이블로 이어집니다.
대신 우리는 보다 지속 가능한 접근 방식을 취하고 모든 장바구니 관련 데이터를 저장하기 위해 별도의 쇼핑 카트 테이블을 만들었습니다. 그런 다음 외래 키 user_id
和 product_id
를 carts 테이블에 배치하여 다른 테이블에 대한 참조를 만듭니다.
이렇게 하면 장바구니는 장바구니를 소유한 사용자와 장바구니에 있는 제품에 대한 모든 정보에 액세스할 수 있습니다. 단, 실제로는 해당 정보가 저장되어 있지 않습니다.
이제 MySQL과 MySQL Server에 대해 더 높은 수준으로 이해했으니, 시스템에 MySQL을 설치하여 연습해 보겠습니다.
시스템에 MySQL을 설치하려면 MySQL 커뮤니티 다운로드 페이지로 이동하여 MySQL 설치 프로그램을 다운로드하세요.
다운로드가 완료된 후 설치 프로그램을 실행하고 설치 마법사를 완료하여 MySQL을 설치하세요.
설치 유형 선택 시 MySQL 서버 제품을 반드시 포함하세요. Developer Default 옵션을 사용하는 것이 좋습니다.
설치가 성공적으로 완료되면 명령줄에서 MySQL 서버 명령에 액세스할 수 있습니다.
그러나 명령줄에서 MySQL을 사용하려면 먼저 자신을 인증해야 합니다. 다음 명령을 실행하고 자리 표시자에 사용자 이름을 입력하세요.
으아아아관리자 비밀번호를 입력하라는 메시지가 표시되며 두 세부 정보가 모두 정확하면 명령줄에서 MySQL에 대한 액세스 권한이 부여됩니다.
MySQL의 기본 사용자 이름은 root이고 기본 비밀번호는 비어 있다는 점을 기억하세요.
MySQL에서 데이터베이스를 생성하려면 CREATE DATABASE
문 뒤에 데이터베이스 이름을 사용합니다:
문은 시스템에 작업을 지시하는 코드입니다. SQL 문은 항상 세미콜론으로 끝납니다. 대문자로 표시된 단어는 예약된 SQL 키워드이며 SQL은 이를 해석하여 특정 작업을 수행합니다.
위 명령을 실행하면 MySQL에 shopping_site라는 빈 데이터베이스가 생성됩니다.
MySQL 인스턴스에 있는 모든 데이터베이스를 보려면 SHOW DATABASE
를 실행하세요.
새 데이터베이스에 테이블을 만들려면 CREATE TABLE
문을 사용하고 그 뒤에 테이블 이름과 이 테이블에 포함하려는 열 목록이 포함된 대괄호를 입력하세요.
User의 각 열에 대해 해당 열의 데이터 유형을 지정합니다. 또한 id 및 email 열에 일련의 제약 조건을 추가했습니다.
이 명령을 실행하면 데이터베이스에 users라는 비어 있지만 구조화된 테이블이 생성됩니다.
테이블에 새 레코드를 생성하려면 INSERT INTO
문을 사용한 다음 값을 삽입할 테이블을 사용하세요.
첫 번째 괄호에는 값을 삽입하려는 열을 지정합니다. 그런 다음 두 번째 괄호에는 올바른 순서로 삽입할 값을 지정합니다.
이 명령을 실행하면 이 값이 users 테이블의 지정된 열에 삽입됩니다.
要从数据库查询数据,请使用 SELECT
语句。
例如,如果我们想从 users 表中选择所有内容,我们可以使用以下语句:
SELECT * FROM users;
星号 (*
) 代表我们数据库中的所有内容。该语句将返回整个表以及每一列。
如果我们只需要列的子集,例如 id 和 email,我们可以指定列来代替星号:
SELECT id, email FROM users;
在选择数据方面,我们的能力是无限的。
要从 MySQL 中完全删除表,请使用 DROP
语句,后跟表名称:
DROP TABLE users;
现在,使用此命令时需要小心!它将永久删除users表中的所有数据。另外,不要将其与 DROP DATABASE
语句混淆,该语句会删除整个数据库。
MySQL 是一个开源关系数据库管理系统,即使在今天,它仍然为网络的重要部分提供支持。结构化查询语言或 SQL 用于在 MySQL 数据库中操作和存储数据。
在这篇文章中,我们回顾了 SQL 的一些关键概念,包括 ORM、模式、约束和数据库规范化。我们还回顾了 MySQL 的安装和设置过程。
最后,我们介绍了一些负责在 MySQL 中操作数据的 SQL 语句。
위 내용은 MySQL 여정을 시작하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!