MySQL GENERATED COLUMN은 무엇이고 테이블 생성 시 어떻게 사용하나요?

王林
풀어 주다: 2023-09-12 18:29:12
앞으로
1218명이 탐색했습니다.

什么是 MySQL GENERATED COLUMN 以及如何在创建表时使用它?

기본적으로 생성되는 컬럼은 CREATE TABLE 또는 ALTER TABLE 문에서 사용할 수 있는 기능으로 SQL에서 INSERT 또는 UPDATE 절을 통해 실제로 데이터를 보내지 않고 데이터를 저장하는 방법이다. 이 기능은 MySQL 5.7에서 추가되었습니다. 생성된 열은 테이블 필드 내에서 작동합니다. 구문은 다음과 같습니다. -

Syntax

column_name data_type [GENERATED ALWAYS] AS (expression)
[VIRTUAL | STORED] [UNIQUE [KEY]]
로그인 후 복사

여기서 먼저 열 이름과 데이터 유형을 지정합니다.

  • 그런 다음 GENERATED ALWAYS 절을 추가하여 해당 열이 생성된 열임을 나타냅니다.
  • 그런 다음 적절한 옵션을 사용하여 생성된 열 유형(VIRTUAL 또는 STORED)을 나타냅니다. 기본적으로 MySQL은 생성된 열의 유형을 명시적으로 지정하지 않으면 VIRTUAL을 사용합니다.

뒤에는 AS 키워드 뒤 중괄호 안에 표현식을 지정합니다. 표현식에는 리터럴, 매개변수가 없는 기본 제공 함수, 연산자 또는 동일한 테이블의 열에 대한 참조가 포함될 수 있습니다. 함수를 사용하는 경우 스칼라이고 결정적이어야 합니다.

마지막으로 생성된 열을 저장하면 이에 대한 고유 제약 조건을 정의할 수 있습니다.

Example

이 예에서는 아래와 같이 생성된 열과 함께 직원 세부 정보가 포함된 Employee_data라는 테이블을 만듭니다. -

mysql> Create table employee_data(ID INT AUTO_INCREMENT PRIMARY KEY, First_name VARCHAR(50) NOT NULL, Last_name VARCHAR(50) NOT NULL, FULL_NAME VARCHAR(90) GENERATED ALWAYS AS(CONCAT(First_name,' ',Last_name)));
Query OK, 0 rows affected (0.55 sec)

mysql> DESCRIBE employee_data;
+------------+-------------+------+-----+---------+-------------------+
| Field      | Type        | Null | Key | Default | Extra             |
+------------+-------------+------+-----+---------+-------------------+
| ID         | int(11)     | NO   | PRI | NULL    | auto_increment    |
| First_name | varchar(50) | NO   |     | NULL    |                   |
| Last_name  | varchar(50) | NO   |     | NULL    |                   |
| FULL_NAME  | varchar(90) | YES  |     | NULL    | VIRTUAL GENERATED |
+------------+-------------+------+-----+---------+-------------------+
4 rows in set (0.00 sec)

mysql> INSERT INTO employee_data(first_name, Last_name) values('Yashpal','Sharma');
Query OK, 1 row affected (0.09 sec)

mysql> INSERT INTO employee_data(first_name, Last_name) values('Krishan','Kumar');
Query OK, 1 row affected (0.09 sec)

mysql> INSERT INTO employee_data(first_name, Last_name) values('Rakesh','Arora');
Query OK, 1 row affected (0.08 sec)

mysql> Select * from employee_data;
+----+------------+-----------+----------------+
| ID | First_name | Last_name | FULL_NAME      |
+----+------------+-----------+----------------+
| 1  | Yashpal    | Sharma    | Yashpal Sharma |
| 2  | Krishan    | Kumar     | Krishan Kumar  |
| 3  | Rakesh     | Arora     | Rakesh Arora   |
+----+------------+-----------+----------------+
3 rows in set (0.00 sec)
로그인 후 복사

위 내용은 MySQL GENERATED COLUMN은 무엇이고 테이블 생성 시 어떻게 사용하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!