Rezumat: în acest tutorial, veți învăța despre tipurile de date de caractere PostgreSQL, inclusiv CHAR, VARCHAR și TEXT, și veți învăța cum să selectați tipurile de caractere potrivite pentru tabelele dumneavoastră.

Introducere la tipurile de caractere PostgreSQL

PostgreSQL oferă trei tipuri de caractere primare: CHARACTER(n) sau CHAR(n), CHARACTER VARYINGING(n) sau VARCHAR(n), și TEXT, unde n este un număr întreg pozitiv.

Tabelul următor ilustrează tipurile de caractere din PostgreSQL:

Tipuri de caractere Descriere
CHARACTER VARYING(n), VARCHAR(n) Lungime variabilă cu limită de lungime
CHARACTER(n), CHAR(n) lungime fixă, cu umplutură albă
TEXT, VARCHAR variabilă cu lungime nelimitată

Atât CHAR(n) cât și VARCHAR(n) pot stoca până la n caractere. Dacă încercați să stocați un șir care are mai mult de n caractere, PostgreSQL va emite o eroare.

Cu toate acestea, o excepție este că, dacă caracterele excesive sunt toate spații, PostgreSQL trunchiază spațiile la lungimea maximă (n) și stochează caracterele.

Dacă un șir de caractere se transformă în mod explicit într-un CHAR(n) sau VARCHAR(n), PostgreSQL va trunchia șirul la n caractere înainte de a-l introduce în tabel.

Tipul de date TEXT poate stoca un șir de caractere cu lungime nelimitată.

Dacă nu specificați numărul întreg n pentru tipul de date VARCHAR, acesta se comportă ca tipul de date TEXT. Performanțele tipului de date VARCHAR (fără dimensiunea n) și TEXT sunt aceleași.

Singurul avantaj al specificării specificatorului de lungime pentru tipul de date VARCHAR este că PostgreSQL va emite o eroare dacă încercați să inserați un șir care are mai mult de n caractere în coloana VARCHAR(n).

Dincolo de VARCHAR, CHARACTER sau CHAR fără specificatorul de lungime (n) este la fel ca CHARACTER(1) sau CHAR(1).

Diferit de alte sisteme de baze de date, în PostgreSQL, nu există nicio diferență de performanță între cele trei tipuri de caractere.

În majoritatea cazurilor, ar trebui să utilizați TEXT sau VARCHAR. Și folosiți VARCHAR(n) atunci când doriți ca PostgreSQL să verifice lungimea.

Exemple de tipuri de caractere PostgreSQL

Să ne uităm la un exemplu pentru a vedea cum funcționează tipurile de date CHAR , VARCHAR și TEXT.

În primul rând, creați o nouă tabelă numită teste_caractere:

Code language: SQL (Structured Query Language) (sql)

Apoi, inserați un nou rând în tabela character_tests.

Code language: SQL (Structured Query Language) (sql)

PostgreSQL a emis o eroare:

Code language: SQL (Structured Query Language) (sql)

Acest lucru se datorează faptului că tipul de date al coloanei x este char(1) și am încercat să inserăm un șir cu trei caractere în această coloană. Să o corectăm:

Code language: SQL (Structured Query Language) (sql)

PostgreSQL emite o altă eroare:

Code language: Shell Session (shell)

Aceasta se datorează faptului că am încercat să inserăm un șir de caractere cu mai mult de 10 caractere în coloana y care are tipul de date varchar(10).

Declarația următoare inserează cu succes un rând nou în tabelul character_tests.

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Code language: Shell Session (shell)

Summary

  • PostgreSQL acceptă tipurile de date CHAR, VARCHAR și TEXT. CHAR este un tip de caractere cu lungime fixă, în timp ce VARCHAR și TEXT sunt tipuri de caractere cu lungime variabilă.
  • Utilizați VARCHAR(n) dacă doriți să validați lungimea șirului (n) înainte de a introduce sau actualiza o coloană.
  • VARCHAR (fără specificatorul de lungime) și TEXT sunt echivalente.
  • A fost util acest tutorial?
  • DaNu

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.