Saraketyyppien ymmärtäminen on ratkaisevan tärkeää tietokannan ylläpitäjille, koska se auttaa varmistamaan kyselyn tehokkuuden ja oikean tiedonkäsittelyn.
Tämä opetusohjelma tutkii erilaisia menetelmiä saraketyyppien hakemiseksi PostgreSQL:ssä, mukaan lukien työkalut, kuten PSQL.
Esimerkkitaulukko
Seuraavat esimerkkikyselyt osoittavat, kuinka luodaan yksinkertainen taulukko, jossa on kolme saraketta eri tietotyypeillä:
CREATE TABLE sample_table (
id SERIAL PRIMARY KEY,
nimi VARCHAR(50),
ikä INT
);
Kun olemme määrittäneet esittelytarkoituksiin käyttämämme taulukon, voimme tutkia erilaisia menetelmiä saraketyyppien hakemiseksi PostgreSQL:ssä.
Tapa 1: INFORMATION_SCHEMA:n käyttäminen
Yleisin tapa hakea metatietotietoja eri tietokantaobjekteista PostgreSQL:ssä on INFORMATION_SCHEMA-luettelon käyttö.
Voit hakea saraketyypin käyttämällä information_schema-taulukkoa suorittamalla seuraavan kyselyn:
SELECT taulukon_nimi, sarakkeen_nimi, tietotyyppiFROM information_schema.columns
WHERE table_schema = 'julkinen';
Edellinen kysely hakee taulukon nimen, sarakkeen nimen ja tietotyypin kaikille julkisen skeeman sarakkeille. Säädä table_schema-ehtoa noutaaksesi sarakkeet tietystä skeemasta.
Olettaen, että julkisessa skeemassa on vain sample_table, meidän pitäisi nähdä seuraavanlainen tulos:
taulukon_nimi | sarakkeen_nimi | tietotyyppi--------------+--------------+--------------------
sample_table | id | kokonaisluku
sample_table | ikä | kokonaisluku
sample_table | nimi | luonteeltaan vaihteleva
(3 riviä)
Kuten näemme, saamme taulukon nimen, sarakkeen nimen ja sitä vastaavan tietotyypin.
Tapa 2: PSQL-komentojen käyttäminen
Voimme myös käyttää PSQL-apuohjelman '\d'-komentoa hakeaksemme tiedot tietystä taulukon sarakkeesta.
Kun olet muodostanut yhteyden kohdetietokantaan, käytä '\d' ja sen jälkeen taulukon nimeä seuraavassa esitetyllä tavalla:
\d taulukon_nimiEsimerkki:
\d näytetaulukko;Annetun komennon pitäisi palauttaa tulos seuraavasti:
Tulos sisältää sarakkeiden nimet, tietotyypit ja muut taulukon rakennetiedot.
Tapa 3: Pg_attribute -luettelotaulukon käyttäminen
Voimme myös tehdä kyselyn pg_attribute-luettelotaulukosta taulukon sarakkeen tietotyypin hakemiseksi. Kyselyn syntaksi on seuraava:
SELECT attname AS sarakkeen_nimi, muoto_tyyppi(atttypid, atttypmod) AS data_typeFROM pg_attribute
WHERE attrlid ='target_table'::regclass
AND attnum > 0
JA EI Attisdropped;
Korvaa target_table-parametri taulukon nimellä, jossa kohdesarakkeesi sijaitsee.
Esimerkki on seuraava:
SELECT attname AS sarakkeen_nimi, muoto_tyyppi(atttypid, atttypmod) AS data_typeFROM pg_attribute
WHERE attrlid = 'sample_table'::regclass
AND attnum > 0
JA EI Attisdropped;
Tämän pitäisi palauttaa sarakkeiden nimet ja vastaava tietotyyppi seuraavasti:
Johtopäätös
Tutkimme kolmea päätapaa tarkastella taulukon sarakkeen tietotyyppiä PostgreSQL-työkalujen avulla. Saraketietotyypin hakeminen on välttämätöntä tehokkaiden ja yhteensopivien sovelluskyselyjen luomisessa.