Ratkaistu: kysely saada sarakkeiden nimet ja tietotyypit sql-palvelimeen

Viimeisin päivitys: 09/13/2023
Kirjoittaja: SQL SourceTrail

SQL tai Structured Query Language on vakiokieli relaatiotietokantojen käsittelyssä. Sitä voidaan käyttää suorittamaan tehtäviä, kuten päivittämään tietokannan tietoja tai hankkimaan tietoja tietokannasta. Joitakin yleisiä SQL:ää käyttäviä relaatiotietokannan hallintajärjestelmiä ovat: Oracle, Sybase, Microsoft SQL Server, Access jne. Vaikka useimmat tietokantajärjestelmät käyttävät SQL:ää, useimmilla niistä on myös omat laajennukset, joita käytetään yleensä vain heidän järjestelmässään. Tavallisia SQL-komentoja, kuten "Valitse", "Lisää", "Päivitä", "Poista", "Luo", "Poista" voidaan kuitenkin käyttää lähes kaikkeen, mitä tietokannan kanssa tarvitsee tehdä. Tämän päivän aihe keskittyy sarakkeiden nimien ja tietotyyppien saamiseen SQL-palvelimeen.

Sarakkeiden nimien ja tietotyyppien saaminen SQL Serverissä

SELECT c.name AS column_name,
       t.Name AS data_type,
       c.max_length,
       c.precision
FROM   sys.columns c
INNER JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE  c.object_id = OBJECT_ID('YourTableName')

Tämä esimerkkikoodipala palauttaa luettelon sarakkeista ja niihin liittyvistä tietotyypeistä tietylle annetulle taulukolle "TaulukonNimi". Sukeltaaksemme tähän tarkemmin, ymmärrämme ensin, mitä kukin kyselyn osa saavuttaa.

Koodin ymmärtäminen

SELECT-lauseke: Tämä pohjimmiltaan valitsee/kerää tarvittavat tiedot. Meidän tapauksessamme keräämme sarakkeen nimen, tietotyypin, enimmäispituuden ja tarkkuuden.

FROM-lausunto: Tämä määrittää, mistä tiedot kerätään. Ohjaamme sen 'sys.columns' -taulukkoon, johon tallennetaan tiedot sarakkeista.

INNER JOIN -lausunto: Tätä käytetään kahden tai useamman taulukon rivien yhdistämiseen niiden välisen sarakkeen perusteella. Tässä vastaava sarake on user_type_id.

WHERE-lauseke: Tätä käytetään tietueiden suodattamiseen, sitä käytetään vain ne tietueet, jotka täyttävät tietyn ehdon. Tässä ohjaamme sen etsimään "TaulukonNimi".

Samankaltaiset toiminnot ja kirjastot

On muitakin tapoja saada samat tiedot. Esimerkiksi käyttämällä INFORMATION_SCHEMA.COLUMNS. Tämä on SQL Serverin taulukko, joka tallentaa metatiedot kaikista tietokannan sarakkeista.

SELECT COLUMN_NAME, DATA_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'YourTableName'

Toinen tapa on käyttää sp_help tallennettua menettelyä. Se palauttaa tietoja tietokantaobjektista, käyttäjän määrittämästä tietotyypistä tai tietotyypistä.

EXEC sp_help 'YourTableName';

Molemmat menetelmät tuottavat saman tiedon kuin ensimmäinen menetelmä, mutta ne on rakennettu hieman eri tavalla eri tarpeiden ja mieltymysten mukaan. Yhteenvetona voidaan todeta, että nämä menetelmät auttavat kehittäjiä hakemaan tärkeitä tietoja tietokantasarakkeista ja niiden tietotyypeistä SQL Serverissä.

Related viestiä: