MySQL에서 실제, 이중 및 플로트의 차이점은 무엇입니까?
Real은 기본적으로 Double의 동의어이지만 real_as_float SQL 모드가 활성화 된 경우 float로 작동 할 수 있습니다. Float는 단일 정밀도 값에 대해 ~ 7 자리 정밀도의 4 바이트를 사용하고, 이중 확정 값에 대해 ~ 15–17 자리 정밀도의 8 바이트를 사용하며, Real의 동작은 SQL 모드에 따라 달라 지므로 플로트 및 예측 가능한 결과에 대해 이중 선호됩니다.
MySQL에서 REAL
, DOUBLE
및 FLOAT
대략적인 숫자 (플로팅 포인트) 값을 저장하는 데 사용되는 모든 데이터 유형이지만 정밀도, 스토리지 크기 및 해석 방법이 다릅니다. 다음은 차이점의 고장입니다.
1. 플로트
- 단일 정밀 플로팅 지점 번호를 저장하는 데 사용됩니다.
- 4 바이트 의 스토리지가 필요합니다.
- 7 자리의 정밀도 (대략)를 제공합니다.
- 구문 :
FLOAT(M,D)
- 여기서M
은 총 숫자이고D
소수점 후 (선택 사항, 주로 디스플레이의 경우) 숫자입니다. - 그러나 정밀 사양이없는
FLOAT
일반적으로 32 비트 (단일 정밀도)입니다. -
FLOAT(p)
지정하는 경우p
는 0에서 24 사이 인 경우 MySQL은FLOAT
사용합니다.p
가 25 ~ 53이면 대신DOUBLE
사용합니다. 이것은 중요하고 종종 혼란 스럽습니다.
예:
플로트-32 비트 단일 정밀도 float (7) - 여전히 단일 정밀도 float (24) - 플로트의 최대 정밀도
2. 더블
- 이중 정제 플로팅 포인트를 나타냅니다.
- 8 바이트 의 스토리지를 사용합니다.
- 정밀도의 약 15 ~ 17 자리 숫자를 제공합니다.
- 크거나 매우 정확한 숫자에 대해
FLOAT
보다 더 정확합니다. - 동의어 :
DOUBLE PRECISION
,REAL
(대부분의 경우 - 아래 참조).
예:
더블 이중 (15,2)
3. 진짜
- SQL 모드에 따라 다르기 때문에 이것은 까다 롭습니다.
- 기본적으로
REAL
DOUBLE PRECISION
의 동의어이며, 이는DOUBLE
(8 바이트, 높은 정밀도)처럼 동작합니다. - 그러나
REAL_AS_FLOAT
SQL 모드를 활성화하면REAL
FLOAT
의 동의어가됩니다. - SO :
REAL
자체 독립 유형이 아닙니다.FLOAT
나DOUBLE
가리킬 수있는 별칭 일뿐입니다.
예:
real- real_as_float가 켜져 있지 않는 한 일반적으로 이중과 동일합니다.
주요 차이점 요약
유형 | 저장 | 정도 | 메모 |
---|---|---|---|
FLOAT
|
4 바이트 | ~ 7 자리 | 단일 정밀도; 더 작고 덜 정확한 숫자에 사용하십시오 |
DOUBLE
|
8 바이트 | ~ 15–17 자리 | 이중 정밀도; 높은 정확도에 대한 기본값 |
REAL
|
4 또는 8 바이트 | 모드에 따라 다릅니다 | 별칭 : 일반적으로 DOUBLE 이지만 REAL_AS_FLOAT 활성화되면 FLOAT 될 수 있습니다. |
실용적인 조언
- 공간을 절약해야 할 때
FLOAT
사용하고 정밀도가 중요하지 않습니다 (예 : 작은 범위의 센서 데이터). - 더 높은 정밀도가 필요할 때
DOUBLE
사용하십시오 (예 : 과학적 계산, 반올림 오류가 범위보다 적은 재정적 근사치). -
REAL
단일 정밀도를 의미한다고 가정하지 마십시오. 기본적으로 그렇지 않습니다. 예측 가능한 동작을 원한다면FLOAT
또는DOUBLE
명시 적으로 사용하십시오. - 이들은 대략적인 값 유형 이므로 정확한 소수점 수학 (통화와 같은)에 적합하지 않습니다. 이를 위해서는
DECIMAL
선호합니다.
기본적으로 주요 차이점은 정밀도, 저장 공간으로 이어집니다. REAL
는 서버 설정에 따라 의미를 바꿀 수있는 별칭 일뿐입니다. 명확성을 위해 FLOAT
고수하고 DOUBLE
늘립니다.
위 내용은 MySQL에서 실제, 이중 및 플로트의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

MySQL에 모든 데이터베이스를 표시하려면 ShowDatabases 명령을 사용해야합니다. 1. MySQL 서버에 로그인 한 후 ShowDatabase를 실행할 수 있습니다. 현재 사용자가 액세스 할 권한이있는 모든 데이터베이스를 나열하도록 명령. 2. Information_Schema, MySQL, Performance_Schema 및 SYS와 같은 시스템 데이터베이스는 기본적으로 존재하지만 권한이 부족한 사용자는이를 볼 수 없을 수 있습니다. 3. SelectSchema_namefrominformation_schema.schemata를 통해 데이터베이스를 쿼리하고 필터링 할 수도 있습니다. 예를 들어, 사용자가 만든 데이터베이스 만 표시하려면 시스템 데이터베이스를 제외합니다. 사용하십시오

기존 테이블에 기본 키를 추가하려면 AddPrimarykey 절을 사용하여 Altertable 문을 사용하십시오. 1. 대상 열에 널 값이없고 복제가 없으며 NOTNULL로 정의되어 있는지 확인하십시오. 2. 단일 열차 기본 키 구문은 Altertable 테이블 이름 AddPrimaryKey (열 이름)입니다. 3. 멀티 컬럼 조합 기본 키 구문은 Altertable 테이블 이름 AddPrimaryKey (열 1, 열 2)입니다. 4. 열에서 NULL을 허용하는 경우 먼저 NOTNULL을 설정하도록 수정을 실행해야합니다. 5. 각 테이블에는 하나의 기본 키만이있을 수 있으며 추가하기 전에 기존 기본 키를 삭제해야합니다. 6. 직접 늘려야하는 경우 modify를 사용하여 auto_increment를 설정할 수 있습니다. 작동하기 전에 데이터를 확인하십시오

MySQL 서비스가 실행 중인지 확인하고 sudosystemctlstatusmysql을 사용하여 확인하고 시작하십시오. 2. 원격 연결을 허용하고 서비스를 다시 시작하기 위해 BAND-ADDRESS가 0.0.0.0으로 설정되어 있는지 확인하십시오. 3. 3306 포트가 열려 있는지 확인하고 포트를 허용하도록 방화벽 규칙을 확인하고 구성하십시오. 4. "AccessDenied"오류의 경우 사용자 이름, 비밀번호 및 호스트 이름을 확인한 다음 MySQL에 로그인하여 MySQL.user 테이블을 쿼리하여 권한을 확인해야합니다. 필요한 경우 사용자를 생성하거나 업데이트하여 'Your_user'@'%'사용과 같은 승인; 5. Caching_sha2_password로 인해 인증이 손실 된 경우

mysqldump를 사용하는 것이 MySQL 데이터베이스를 백업하는 가장 일반적이고 효과적인 방법입니다. 테이블 구조 및 데이터가 포함 된 SQL 스크립트를 생성 할 수 있습니다. 1. 기본 구문은 다음과 같습니다. mysqldump-u [user name] -p [database name]> backup_file.sql입니다. 실행 후 암호를 입력하여 백업 파일을 생성하십시오. 2.-databases 옵션으로 여러 데이터베이스를 백업 옵션 : mysqldump-uroot-p-- databasesdb1db2> multip_dbs_backup.sql. 3. all-databases : mysqldump-uroot-p를 사용하여 모든 데이터베이스를 백업합니다

b-treeindexesarebestformostphpapplications, asysupportequalityandrangequeries, 분류, andareidealforcolumnsusedinwhere, ororderbyclauses;

UnionleMovesDuplicates는 Duplicates; 1.unionperformsDeduplicationBysorting 및 ComcomparingRows, ReturnOnlyUniqueresults, whathitSlowerOnlargedAtasets;

Locktables를 사용하여 수동으로 테이블을 잠글 수 있습니다. 읽기 잠금은 여러 세션을 읽을 수 있지만 쓸 수는 없습니다. Write Lock은 현재 세션에 대한 독점 읽기 및 쓰기 권한을 제공하며 다른 세션은 읽고 쓸 수 없습니다. 2. 잠금은 현재 연결을위한 것입니다. STARTTRANSACTION 및 기타 명령의 실행은 암시 적으로 잠금을 해제합니다. 잠금 후 잠긴 테이블에만 액세스 할 수 있습니다. 3. MyISAM 테이블 유지 보수 및 데이터 백업과 같은 특정 시나리오에서만 사용하십시오. InnoDB는 성능 문제를 피하기 위해 Select ... ForupDate와 같은 트랜잭션 및로드 레벨 잠금을 사용하는 데 우선 순위를 부여해야합니다. 4. 작업이 완료된 후 잠금 해제 가능성을 명시 적으로 릴리스해야합니다. 그렇지 않으면 자원 막힘이 발생할 수 있습니다.

Group_Concat () 함수에서 분리기 키워드를 사용하여 분리기를 사용자 정의 할 수 있습니다. 1. 분리기를 사용하여 구분 기호와 같은 사용자 정의 분리기를 지정하십시오. '분리기는 세미콜론 및 플러스 공간으로 변경할 수 있습니다. 2. 일반적인 예제에는 파이프 문자 '|', space '', 라인 브레이크 문자 '\ n'또는 사용자 정의 문자열 '->'가 포함됩니다. 3. 분리기는 문자열 리터럴 또는 표현식이어야하며 결과 길이는 Group_Concat_Max_Len 변수에 의해 제한되며 SetSessionGroup_CONCAT_MAX_LEN = 100000으로 조정할 수 있습니다. 4. 분리기는 선택 사항입니다
