Podsumowanie: w tym samouczku dowiesz się, jak używać programu SQL Server ALTER TABLE ALTER COLUMN
w celu zmodyfikowania kolumny tabeli.
SQL Server umożliwia wykonanie następujących zmian w istniejącej kolumnie tabeli:
- Modyfikacja typu danych
- Zmień rozmiar
- Dodaj
NOT NULL
ograniczenie
Zmień typ danych kolumny
Aby zmodyfikować typ danych kolumny, użyj następującej instrukcji:
Code language: SQL (Structured Query Language) (sql)
Nowy typ danych musi być zgodny ze starym, w przeciwnym razie otrzymasz błąd konwersji w przypadku, gdy kolumna zawiera dane, a konwersja nie powiedzie się.
Zobacz poniższy przykład.
Najpierw utwórz nową tabelę z jedną kolumną, której typ danych to INT
:
Code language: SQL (Structured Query Language) (sql)
Po drugie, wstaw kilka wierszy do tabeli:
Code language: SQL (Structured Query Language) (sql)
Po drugie, mies zmień typ danych kolumny od INT
do VARCHAR
:
Code language: SQL (Structured Query Language) (sql)
Po trzecie, wstaw nowy wiersz z danymi w postaci ciągu znaków:
Code language: SQL (Structured Query Language) (sql)
Po czwarte, zmień typ danych kolumny z VARCHAR
powrót do INT
:
Code language: SQL (Structured Query Language) (sql)
Serwer SQL wystawił następujący błąd:
Code language: SQL (Structured Query Language) (sql)
Zmień rozmiar kolumny
Poniższa instrukcja tworzy nową tabelę z jedną kolumną o typie danych VARCHAR(10)
:
Code language: SQL (Structured Query Language) (sql)
Wstawmy kilka przykładowych danych do tabeli t2:
Code language: SQL (Structured Query Language) (sql)
Możesz zwiększyć rozmiar kolumny w następujący sposób:
Code language: SQL (Structured Query Language) (sql)
Jeśli jednak zmniejszysz rozmiar SQL Server sprawdza istniejące dane, aby zobaczyć, czy może konwertować dane w oparciu o nowy rozmiar. Jeśli konwersja nie powiedzie się, SQL Server kończy instrukcję i wyświetla komunikat o błędzie.
Na przykład, jeśli zmniejszysz rozmiar kolumny c
do 5 znaków:
Code language: SQL (Structured Query Language) (sql)
SQL Server wydał następujący błąd:
Code language: SQL (Structured Query Language) (sql)
Dodaj ograniczenie NOT NULL do kolumna dopuszczająca wartość null
Poniższa instrukcja tworzy nową tabelę z kolumną dopuszczającą wartość null:
Code language: SQL (Structured Query Language) (sql)
Poniższa instrukcja wstawia kilka wierszy do tabeli :
Code language: SQL (Structured Query Language) (sql)
Jeśli chcesz dodać ograniczenie NOT NULL
do kolumny c
, musisz najpierw zaktualizować NULL do wartości innej niż null, na przykład:
Code language: SQL (Structured Query Language) (sql)
A następnie dodaj NOT NULL
ograniczenie:
Code language: SQL (Structured Query Language) (sql)
W tym samouczku nauczyłeś się, jak używać SQL Server ALTER TABLE ALTER COLUMN
do modyfikowania niektóre właściwości istniejącej kolumny.