Computer >> Máy Tính >  >> Lập trình >> SQL

BẢNG ALTER SQL:Hướng dẫn

Câu lệnh SQL ALTER TABLE thêm, thay đổi hoặc xóa một cột trong bảng. Câu lệnh này cho phép bạn sửa đổi bảng sau khi nó đã được tạo, ngay cả khi bảng đó lưu trữ các bản ghi.

Bạn có thể quyết định rằng bạn cần thực hiện thay đổi đối với bảng SQL. Ví dụ:bạn có thể muốn đổi tên một cột hoặc thêm một cột mới vào bảng. Tất cả những thay đổi này đều có thể thực hiện được với lệnh SQL ALTER TABLE.

BẢNG ALTER SQL

Lệnh ALTER TABLE cho phép bạn thay đổi bảng hiện có bằng cách:

  • Thêm một cột.
  • Thêm một ràng buộc.
  • Đang xóa một cột.
  • Thay đổi kiểu dữ liệu.
  • Đổi tên một cột.

Hướng dẫn này sẽ thảo luận, có tham chiếu đến các ví dụ, cách thay đổi bảng bằng lệnh SQL ALTER TABLE.

Thiết lập bảng

Đối với hướng dẫn này, chúng tôi sẽ sửa đổi một bảng cơ sở dữ liệu cho một doanh nghiệp. Cơ sở dữ liệu này lưu trữ thông tin về từng nhân viên làm việc cho doanh nghiệp. Bảng của chúng tôi được gọi là “ nhân viên ”Và chứa các giá trị sau:

Sau khi tạo bảng, chúng tôi nhận ra rằng chúng tôi muốn thay đổi cấu trúc của nó. Chúng tôi có thể làm như vậy bằng cách sử dụng lệnh SQL ALTER TABLE.

Để tìm hiểu cách tạo bảng, hãy xem hướng dẫn TẠO BẢNG SQL của chúng tôi.

SQL ALTER TABLE:Thêm cột vào bảng

Bạn có thể thêm một cột vào bảng SQL bằng lệnh ALTER TABLE. Cú pháp để thêm cột mới vào bảng hiện có như sau:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

ALTER TABLE table_name ADD column_name data_type constraints;

Giả sử rằng chúng ta muốn thêm một cột mới vào bảng "nhân viên" để lưu trữ số điện thoại của mọi nhân viên. Cột này phải được gọi là “phone_number”. Cột phải sử dụng VARCHAR () kiểu dữ liệu — cho phép chúng tôi lưu trữ các chuỗi với độ dài tối đa — và không có ràng buộc.

Chúng tôi có thể tạo cột này bằng cách sử dụng câu lệnh sau:

ALTER TABLE employees ADD phone_number VARCHAR(60);

Lệnh này thêm một cột mới vào bảng của chúng ta trong cơ sở dữ liệu "nhân viên". Bây giờ, khi chúng ta xem xét cấu trúc cơ sở dữ liệu của mình, chúng ta có một cột mới được gọi là “phone_number”:

Field Loại Mặc định
tên varchar (60) KHÔNG ĐẦY ĐỦ
title varchar (60) KHÔNG ĐẦY ĐỦ
bộ phận varchar (60) KHÔNG ĐẦY ĐỦ
worker_number varchar (60) KHÔNG ĐẦY ĐỦ
phone_number varchar (60)

Nếu bạn muốn tìm hiểu thêm về cách thêm cột vào cơ sở dữ liệu trong SQL, hãy xem hướng dẫn thêm cột trong SQL của chúng tôi.

SQL ALTER TABLE:Thêm một ràng buộc vào một bảng

Trong phần trước, chúng tôi đã thêm một cột mới vào bảng của mình:phone_number. Tuy nhiên, chúng tôi đã quên thêm bất kỳ ràng buộc nào vào bảng.

Trong ví dụ này, điều này có nghĩa là cơ sở dữ liệu của chúng tôi có thể lưu trữ cùng một số điện thoại cho nhiều nhân viên, điều này không thực tế.

Để khắc phục điều này, chúng tôi có thể thêm một ràng buộc DUY NHẤT vào cột “phone_number” trong bảng của chúng tôi. Cú pháp để thêm một ràng buộc vào một cột trong SQL như sau:

ALTER TABLE table_name ADD UNIQUE (column_name);

Lệnh này thêm một ràng buộc vào cột “phone_number” của chúng tôi:

ALTER TABLE employees ADD UNIQUE (phone_number);

Nếu chúng tôi muốn thêm một ràng buộc khác, chúng tôi có thể làm như vậy bằng cách thay thế “UNIQUE” bằng một ràng buộc SQL khác.

SQL ALTER TABLE:Xóa một cột khỏi một bảng

Bạn cũng có thể sử dụng lệnh ALTER TABLE để xóa một cột khỏi bảng. Cú pháp để thực hiện thao tác này như sau:

ALTER TABLE table_name DROP COLUMN column_name;

Giả sử chúng ta muốn xóa cột "bộ phận" khỏi bảng của chúng ta. Chúng tôi dự định tạo một cột mới sau đó liên kết bộ phận của nhân viên với một bảng khác. Chúng tôi có thể xóa cột này bằng lệnh sau:

ALTER TABLE employees DROP COLUMN department;

Sau khi thực hiện lệnh này, cột "bộ phận" từ bảng của chúng ta sẽ bị xóa. Vì vậy, cấu trúc cho bảng của chúng ta bây giờ xuất hiện như sau:

Field Loại Mặc định
tên varchar (60) KHÔNG ĐẦY ĐỦ
title varchar (60) KHÔNG ĐẦY ĐỦ
worker_number varchar (60) KHÔNG ĐẦY ĐỦ
phone_number varchar (60)

SQL ALTER TABLE:Thay đổi kiểu dữ liệu của cột

Bạn có thể sử dụng lệnh ALTER TABLE để thay đổi kiểu dữ liệu của một cột. Cú pháp để thay đổi kiểu dữ liệu của một cột là:

ALTER TABLE table_name ALTER COLUMN column_name new_data_type;

Lệnh này có hai phiên bản thay thế cho MySQL và Oracle (trước 10G) và cho Oracle 10G trở lên. Đây là:

ALTER TABLE table_name MODIFY COLUMN column_name new_data_type; (MySQL, Oracle pre-10G)
ALTER TABLE table_name MODIFY column_name new_data_type; (Oracle 10G+ and later)

Khi chúng tôi tạo bảng “nhân viên” ban đầu, chúng tôi đã mắc lỗi khi chỉ định trường “worker_number” của chúng tôi là một VARCHAR () thay vì một số. Để khắc phục lỗi này, chúng tôi có thể sử dụng lệnh sau:

ALTER TABLE employees ALTER COLUMN employee_number INT;

Lệnh này thay đổi loại cột “worker_number” của chúng ta thành INT. Vì vậy, cấu trúc mới cho cơ sở dữ liệu của chúng tôi như sau:

Field Loại Mặc định
tên varchar (60) KHÔNG ĐẦY ĐỦ
title varchar (60) KHÔNG ĐẦY ĐỦ
worker_number varchar (60) KHÔNG ĐẦY ĐỦ
phone_number int

SQL ALTER TABLE:Đổi tên bảng

Lệnh ALTER TABLE cũng cho phép bạn đổi tên bảng SQL. Cú pháp để đổi tên bảng là:

ALTER TABLE current_table RENAME new_table;

Giả sử chúng ta muốn đổi tên bảng “nhân viên” của mình thành “old_employees_2019”. Chúng tôi có thể làm như vậy bằng cách sử dụng lệnh này:

ALTER TABLE employees RENAME old_employees_2019;

Bạn không thể đổi tên bảng bằng lệnh ALTER TABLE trong MySQL. Trong MySQL, thay vì sử dụng ALTER TABLE, bạn có thể sử dụng lệnh bảng RENAME.

Chúng tôi sẽ sử dụng lệnh sau để đổi tên bảng của chúng tôi trong MySQL:

RENAME TABLE employees TO old_employees_2019;

Kết luận

Lệnh SQL ALTER TABLE cho phép bạn thay đổi cấu trúc của một bảng trong SQL. Bạn có thể thêm bảng vào, xóa bảng khỏi hoặc thay đổi bảng trong cơ sở dữ liệu. Hơn nữa, bạn có thể sửa đổi các điểm tương phản được liên kết với một bảng, chẳng hạn như UNIQUE hoặc NOT NULL.

Bạn có muốn tìm hiểu thêm về SQL? Đọc hướng dẫn Cách học SQL của chúng tôi. Bạn sẽ tìm thấy các mẹo hàng đầu về cách học SQL. Bạn cũng sẽ tìm thấy danh sách các tài nguyên học tập do chuyên gia tuyển chọn để giúp bạn xây dựng kiến ​​thức của mình.