PostgreSQL풍부한 세트가 있습니다PostgreSQL사용범퍼카 토토 만들기명령.
표 8-1모든 것을 보여줍니다"별명"열PostgreSQL역사적 이유로. ~ 안에
표 8-1. 데이터 범퍼카 토토
이름 | 별칭 | 설명 |
---|---|---|
bigint | int8 | 서명 8 바이트 정수 |
bigserial | Serial8 | 8 바이트 정수가 자동화 |
비트 | 고정 길이 비트 문자열 | |
비트 값 (n) | varbit (n) | 가변 길이 비트 문자열 |
부울 | bool | Logical Boolean (true/false) |
Box | 비행기의 직사각형 상자 | |
BYTEA | 이진 데이터 | |
캐릭터 변동 (n) | varchar (n) | 가변 길이 문자열 |
캐릭터 (n) | char (n) | 고정 길이 문자열 |
CIDR | IPv4 또는 IPv6 네트워크 주소 | |
Circle | 비행기의 원 | |
날짜 | 달력 날짜 (연도, 월, 일) | |
이중 정밀 | float8 | 이중 정밀 부동 소수점 번호 |
inet | IPv4 또는 IPv6 호스트 주소 | |
Integer | int, int4 | 서명 4 바이트 정수 |
interval (p) | 시간 범위 | |
line | 비행기의 무한 선 (완전히 아닙니다 | |
LSEG | 평면의 선 세그먼트 | |
MacAddr | Mac 주소 | |
Money | 통화 금액 | |
숫자 [(p, s)] | 십진 [(p, s)] | 선택 가능한 정밀도가있는 정확한 숫자 |
PATH | 비행기에서 열고 닫힌 기하학적 경로 | |
포인트 | 평면의 기하학적 지점 | |
Polygon | 비행기에서 닫힌 기하학적 경로 | |
Real | float4 | 단일 정밀 부동 소수점 번호 |
smallint | int2 | 2 바이트 정수 서명 |
Serial | Serial4 | 4 바이트 정수를 자동화하는 |
텍스트 | 가변 길이 문자열 | |
시간 [(p)] [시간대가없는 | 시간의 시간 | |
시간 [(p)] with Time Zone | Timetz | 시간대를 포함한 시간 |
타임 스탬프 [(p)] [시간대가없는 | 타임 스탬프 | 날짜와 시간 |
타임 스탬프 [(p)] with Time Zone | Timestamptz | 시간대를 포함한 날짜와 시간 |
호환성 :다음 범퍼카 토토 (또는 철자SQL: 비트, 비트 varying, 부울, char, 캐릭터 다양한, 캐릭터, Varchar, 날짜, 더블, Integer, 간격, 숫자, Decimal, Real, smallint, Time(시간대가 있거나없는),타임 스탬프(시간대가 있거나없는).
각 데이터 범퍼카 토토에는 외부 표현이 결정됩니다PostgreSQL:
일부 연산자 및 기능 (예 : 추가 및
숫자 범퍼카 토토은 2, 4 및 8 바이트로 구성됩니다표 8-2나열
표 8-2. 숫자 범퍼카 토토
이름 | 스토리지 크기 | 설명 | 범위 |
---|---|---|---|
smallint | 2 바이트 | 소규모 정수 | -32768 ~ +32767 |
Integer | 4 바이트 | 정수에 대한 일반적인 선택 | -2147483648 ~ +2147483647 |
bigint | 8 바이트 | 대형 정수 | -9223372036854775808 ~ 922337203685475807 |
Decimal | 변수 | 사용자 지정 정밀도, 정확한 | 제한 없음 |
숫자 | 변수 | 사용자 지정 정밀도, 정확한 | 제한 없음 |
Real | 4 바이트 | 가변-프레시션, eencact | 6 십진 자릿수 정밀 |
이중 정밀 | 8 바이트 | 가변-프레시션, eencact | 15 소수 자릿수 정밀 |
Serial | 4 바이트 | AutoinCrementing Integer | 1 ~ 2147483647 |
bigserial | 8 바이트 | 대형 자동화 정수 | 1 ~ 9223372036854775807 |
숫자 범퍼카 토토에 대한 상수의 구문이 설명되어 있습니다.섹션. 숫자 범퍼카 토토에는 해당 전체 세트가 있습니다9 장자세한 내용은. 그만큼
범퍼카 토토smallint, Integer및bigint저장
범퍼카 토토Integer평소입니다smallint범퍼카 토토은 일반적으로 디스크 공간이 프리미엄 인 경우에만 사용됩니다.bigint범퍼카 토토은 다음과 같은 경우에만 사용해야합니다Integer범위는 충분하지 않습니다.
thebigint범퍼카 토토이 작동하지 않을 수 있습니다bigint동일하게Integer(그러나 여전히 8 바이트를 차지합니다
SQLInteger(또는int) 및smallint. 범퍼카 토토bigint및 범퍼카 토토 이름int2, int4및int8와 공유되는 확장자입니다SQL데이터베이스
참고 :범퍼카 토토 열이있는 경우smallint또는bigint
... 여기서 smallint_column = 42시스템이 범퍼카 토토을 할당하기 때문에 인덱스를 사용하지 않습니다Integer상수 42로,PostgreSQL현재
... 여기서 smallint_column = '42'시스템이 범퍼카 토토 해상도를 지연시킵니다
범퍼카 토토숫자숫자를 저장할 수 있습니다숫자범퍼카 토토은 매우 느립니다
다음에서 우리는이 용어를 사용합니다.스케일of숫자IS정밀of숫자전체 숫자의 총 수치는 총 수입니다.
숫자 범퍼카 토토의 정밀도와 스케일은 모두숫자구문 사용
숫자 (정밀, 스케일)
정밀도는 양수 여야합니다. 스케일 0 또는
숫자 (정밀)
0의 스케일을 선택합니다. 지정
숫자
정밀도 또는 스케일없이 열이 생성됩니다.숫자선언 된 열SQL표준이 필요합니다
값의 정밀도 또는 스케일이
범퍼카 토토Decimaland숫자동등합니다. 두 범퍼카 토토 모두의 일부입니다SQL표준.
데이터 범퍼카 토토Realand이중 정밀가변적이며 가변적입니다IEEE이진 플로팅 포인트 산술 용 표준 754 (단일 및
부당 함은 일부 값을 정확하게 변환 할 수 없음을 의미합니다
정확한 저장 및 계산이 필요한 경우 (예 :숫자대신 입력.
이들로 복잡한 계산을하고 싶다면
평등에 대한 두 개의 부동 소수점 값 비교 5 월
대부분의 플랫폼에서Real범퍼카 토토이 있습니다더블범퍼카 토토은 일반적으로 약 1e-307까지 범위를 갖습니다
PostgreSQL도 지원합니다floatandfloat (p)부정확 한 숫자를 지정합니다pPostgreSQLfloat (1)tofloat (24)ASRealwhilefloat (25)tofloat (53)select더블. 의 값p허용 범위 외부에서 오류를 그립니다.float정밀도가 지정되지 않은 상태로 사용됩니다이중 정밀.
참고 :이전PostgreSQL7.4, 정밀도float (p)너무 많은 것을 의미했습니다Realand더블정확히 24 비트와 53 비트가 있습니다p모두에 사용됩니다
데이터 범퍼카 토토Serialandbigserial진정한 범퍼카 토토이 아니라 단지 aauto_increment일부가 지원하는 속성
테이블 생성TableName ( Colname시리얼
지정과 동일합니다.
시퀀스 만들기TableName_Colname_Seq;TableName ( ColnameInteger Default NextVal ( 'TableName_Colname_seq ') null
따라서 우리는 정수 열을 만들어NOT NULL제약 조건이 적용됩니다고유 한또는기본 키복제를 방지하기위한 제약 조건
참고 :이전PostgreSQL 7.3, Serial암시고유 한. 이것은 더 이상 자동이 아닙니다.
시퀀스의 다음 값을 삽입하려면Serial열,를 지정하십시오Serial열에 할당해야합니다삽입성명서 또는 사용을 통한기본값키 단어.
범퍼카 토토 이름SerialandSerial4동등합니다 : 둘 다 CreateInteger열. 범퍼카 토토 이름bigserialandSerial8작업bigint열.bigserial31수명의 식별자
a를 위해 생성 된 시퀀스Serial소유 열이있을 때 열이 자동으로 삭제됩니다PostgreSQL릴리스Serial열 자체;NextVal
함수), 시퀀스가 제거되면 고장됩니다.Serial열의 시퀀스