>  기사  >  데이터 베이스  >  mysql이 데이터 테이블을 생성할 때 기본값을 지정하는 방법에 대한 튜토리얼

mysql이 데이터 테이블을 생성할 때 기본값을 지정하는 방법에 대한 튜토리얼

巴扎黑
巴扎黑원래의
2017-05-15 14:19:336089검색

기본값 지정

행을 삽입할 때 값을 지정하지 않으면 MySQL에서는 해당 시점에 사용할 기본값을 지정할 수 있습니다. 기본값은 CREATE TABLE 문의 열 정의에 DEFAULT 키워드를 사용하여 지정됩니다.

다음 예를 살펴보세요.

입력:

create table orderitems
(
order_num              int                 NOT NULL,
order_item              int                NOT NULL,
prod_id              char(10)            NOT NULL,
quantity                  int                 NOT NULL   DEFAULT1,
item_price         decimal(8,2)      NOT NULL,
PRIMARY KEY ( order_num,order_item)
)ENGINE = InnoDB;

출력: 이 명령문은 주문을 구성하는 항목이 포함된 orderitems 테이블을 생성합니다(주문 자체는 다음 위치에 저장됨). 주문 테이블). 수량 열에는 주문한 각 항목의 수량이 포함되어 있습니다. 이 예에서 열 설명에 DEFAULT 1이라는 텍스트를 추가하면 MySQL은 수량을 지정하지 않은 경우 수량 1을 사용하도록 지시합니다.

허용되지 않는 함수 대부분의 DBMS와 달리 MySQL은 기본값으로 함수 사용을 허용하지 않고 상수만 지원합니다.

NULL 값 대신 기본값 사용 많은 데이터베이스 개발자는 특히 계산이나 데이터 그룹화에 사용되는 열의 경우 NULL 열 대신 기본값을 사용합니다.

확장된 지식:

엔진 유형이란 무엇인가요?

지금까지 사용된 CREATE TABLE 문은 모두 ENGINE=InnoDB 문으로 끝나는 것을 눈치채셨을 것입니다.

다른 DBMS와 마찬가지로 MySQL에도 데이터를 전문적으로 관리하고 처리하는 내부 엔진이 있습니다. CREATE TABLE 문을 사용하면 엔진이 구체적으로 테이블을 생성하고, SELECT 문을 사용하거나 다른 데이터베이스 처리를 수행하면 엔진이 내부적으로 요청을 처리합니다. 대부분의 경우 이 엔진은 DBMS 내에 숨겨져 있으므로 그다지 주의를 기울일 필요가 없습니다.

그러나 MySQL은 다른 DBMS와 달리 여러 엔진을 가지고 있습니다. 이는 MySQL 서버 내에 숨겨져 있는 여러 엔진을 패키징하고 모두 CREATE TABLE 및 SELECT와 같은 명령을 실행할 수 있습니다.

왜 여러 엔진을 출시하나요? 서로 다른 기능과 특성을 가지고 있기 때문에 다양한 작업에 적합한 엔진을 선택하면 좋은 기능과 유연성을 제공할 수 있습니다.

물론 이러한 데이터베이스 엔진을 완전히 무시할 수 있습니다. ENGINE= 문을 생략하면 대부분의 SQL 문에 기본적으로 사용되는 기본 엔진(MyISAM일 가능성이 높음)이 사용됩니다. 그러나 모든 문이 기본적으로 이를 사용하는 것은 아닙니다. 이것이 ENGINE= 문이 중요한 이유입니다(그리고 이 책의 샘플 테이블에 두 개의 엔진이 사용되는 이유도 있습니다).

다음은 알아야 할 몇 가지 엔진입니다.

1.InnoDB는 신뢰할 수 있는 트랜잭션 처리 엔진이지만 전체 텍스트 검색을 지원하지 않습니다.

2. MEMORY 기능은 MyISAM과 동일하지만 데이터가 디스크가 아닌 메모리에 저장되므로 속도가 매우 빠릅니다(특히 임시 테이블에 적합).

3. 전체 텍스트 검색. 그러나 트랜잭션 처리는 지원되지 않습니다.

엔진 유형을 혼합할 수 있습니다. MyISAM을 사용하는 productnotes 테이블을 제외하고 이 책의 샘플 테이블은 모두 InnoDB를 사용합니다. 그 이유는 작성자가 트랜잭션 처리를 지원하기를 원하지만(따라서 InnoDB 사용) 제품 노트에서 전체 텍스트 검색도 지원해야 하기 때문입니다(따라서 MyISAM 사용).

외래 키는 엔진을 교차할 수 없습니다. 엔진 유형을 혼합하는 데 큰 결함이 있습니다. 참조 무결성을 적용하는 데 사용되는 외래 키는 여러 엔진에 걸쳐 있을 수 없습니다. 즉, 한 엔진을 사용하는 테이블은 다른 엔진을 사용하는 테이블이 있는 외래 키를 참조할 수 없습니다.

그럼 어떤 엔진을 사용해야 할까요? 필요한 기능에 따라 다릅니다. MyISAM은 아마도 성능과 기능으로 인해 가장 인기 있는 엔진일 것입니다. 그러나 안정적인 트랜잭션 처리가 필요하지 않은 경우 다른 엔진을 사용할 수 있습니다.

위 내용은 mysql이 데이터 테이블을 생성할 때 기본값을 지정하는 방법에 대한 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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