Sammendrag: i denne veiledningen lærer du hvordan du bruker SQL Server ALTER TABLE ALTER COLUMN uttalelse for å endre en kolonne i en tabell.
SQL Server lar deg utføre følgende endringer i en eksisterende kolonne i en tabell:
- Endre datatypen
- Endre størrelsen
- Legg til en
NOT NULLbegrensning
Endre kolonnens datatype
For å endre datatypen til en kolonne, bruker du følgende utsagn:
Code language: SQL (Structured Query Language) (sql)
Den nye datatypen må være kompatibel med den gamle, ellers du får en konverteringsfeil i tilfelle kolonnen har data og den ikke konverterer.
Se følgende eksempel.
Opprett først en ny tabell med en kolonne hvis datatype er INT:
Code language: SQL (Structured Query Language) (sql)
Sett deretter inn noen rader i tabellen:
Code language: SQL (Structured Query Language) (sql)
For det andre, mo skift datatypen til kolonnen fra INT til VARCHAR:
Code language: SQL (Structured Query Language) (sql)
For det tredje, sett inn en ny rad med tegnstrengdata:
Code language: SQL (Structured Query Language) (sql)
For det fjerde, modifiser datatypen for kolonnen fra VARCHAR tilbake til INT:
Code language: SQL (Structured Query Language) (sql)
SQL Server utstedte følgende feil:
Code language: SQL (Structured Query Language) (sql)
Endre størrelsen på en kolonne
Følgende utsagn oppretter en ny tabell med en kolonne hvis datatype er VARCHAR(10):
Code language: SQL (Structured Query Language) (sql)
La oss sette inn noen eksempeldata i t2-tabellen:
Code language: SQL (Structured Query Language) (sql)
Du kan øke størrelsen på kolonnen som følger:
Code language: SQL (Structured Query Language) (sql)
Når du reduserer størrelsen på kolonne, sjekker SQL Server eksisterende data for å se om den kan konvertere data basert på den nye størrelsen. Hvis konverteringen mislykkes, avslutter SQL Server utsagnet og gir en feilmelding.
Hvis du for eksempel reduserer størrelsen på kolonne c til 5 tegn:
Code language: SQL (Structured Query Language) (sql)
SQL Server utstedte følgende feil:
Code language: SQL (Structured Query Language) (sql)
Legg til en IKKE NULL-begrensning til en nullbar kolonne
Følgende utsagn oppretter en ny tabell med en nullbar kolonne:
Code language: SQL (Structured Query Language) (sql)
Følgende utsagn setter inn noen rader i tabellen :
Code language: SQL (Structured Query Language) (sql)
Hvis du vil legge til NOT NULL begrensningen i kolonnen c, må du oppdatere NULL til ikke-null først for eksempel:
Code language: SQL (Structured Query Language) (sql)
Og deretter legge til NOT NULL begrensning:
Code language: SQL (Structured Query Language) (sql)
I denne opplæringen har du lært hvordan du bruker SQL Server ALTER TABLE ALTER COLUMN for å endre noen egenskaper i en eksisterende kolonne.