Postgresql 9.3.25 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 5. Dữ liệu Sự định nghĩa | Tiếp theo |
10120_10463PostgreSQLcung cấp kèo bóng đá pháp gia đình các lệnh để thực hiện các sửa đổi cho hiện tại bàn. Lưu ý rằng điều này khác biệt về mặt khái niệm với việc thay đổi Dữ liệu có trong bảng: Ở đây chúng tôi quan tâm đến việc thay đổi Định nghĩa hoặc cấu trúc của bảng.
Bạn có thể:
Thêm kèo bóng đá pháp
Xóa kèo bóng đá pháp
Thêm các ràng buộc
Xóa các ràng buộc
Thay đổi giá trị mặc định
Thay đổi các loại dữ liệu kèo bóng đá pháp
Đổi tên kèo bóng đá pháp
Đổi tên bảng
11077_11121Bảng thay đổiLệnh, có trang tham chiếu Chứa chi tiết ngoài những chi tiết được đưa ra ở đây.
Để thêm kèo bóng đá pháp, sử dụng lệnh như:
Sản phẩm thay đổi Thêm mô tả kèo bóng đá pháp;
11512_11615mặc địnhmệnh đề).
Bạn cũng có thể xác định các ràng buộc trên cột cùng kèo bóng đá pháp lúc, Sử dụng cú pháp thông thường:
Sản phẩm thay đổi Thêm mô tả kèo bóng đá pháp Kiểm tra văn bản (Mô tả < '');
Trên thực tế, tất cả các tùy chọn có thể được áp dụng cho kèo bóng đá pháp cột Mô tả trongTạo bảngcó thể được sử dụng đây. Tuy nhiên, hãy nhớ rằng giá trị mặc định phải thỏa mãn đưa ra các ràng buộc hoặcThêmsẽ thất bại. Ngoài ra, bạn có thể thêm các ràng buộc sau (xem bên dưới) sau bạn đã điền vào cột mới kèo bóng đá pháp cách chính xác.
Tip:Thêm kèo bóng đá pháp cột với mặc định yêu cầu cập nhật mỗi hàng của bảng (để lưu trữ giá trị cột mới). Tuy nhiên, nếu Không có mặc định được chỉ định,PostgreSQLcó thể tránh được vật lý cập nhật. Vì vậy, nếu bạn có ý định lấp đầy kèo bóng đá pháp giá trị, tốt nhất là thêm kèo bóng đá pháp không có mặc định, chèn đúng giá trị bằng cách sử dụngCập nhật, sau đó thêm Bất kỳ mặc định mong muốn như được mô tả bên dưới.
Để xóa kèo bóng đá pháp, sử dụng lệnh như:
thay đổi sản phẩm bảng mô tả kèo bóng đá pháp;
Bất kỳ dữ liệu nào trong cột đều biến mất. Ràng buộc bảng Liên quan đến cột cũng bị rơi. Tuy nhiên, nếu cột là được tham chiếu bởi kèo bóng đá pháp ràng buộc khóa nước ngoài của kèo bóng đá pháp bảng khác,PostgreSQLSẽ không âm thầm giảm Đó là ràng buộc. Bạn có thể cho phép bỏ mọi thứ mà phụ thuộc Trên kèo bóng đá pháp bằng cách thêmCascade:
thay đổi sản phẩm bảng thả kèo bóng đá pháp Mô tả Cascade;
xemPhần 5.12cho kèo bóng đá pháp mô tả của cơ chế chung đằng sau điều này.
Để thêm kèo bóng đá pháp ràng buộc, cú pháp ràng buộc bảng được sử dụng. Vì ví dụ:
Sản phẩm thay đổi BẢNG THÊM Kiểm tra (Tên < ''); Sản phẩm ALTER BẢNG Thêm ràng buộc kèo bóng đá pháp số_name duy nhất (sản phẩm_no); Sản phẩm ALTER BẢNG Thêm khóa nước ngoài (sản phẩm_group_id) Tài liệu tham khảo sản phẩm_groups;
Để thêm kèo bóng đá pháp ràng buộc không có null, không thể được viết dưới dạng bảng Ràng buộc, sử dụng cú pháp này:
thay đổi sản phẩm bảng thay đổi kèo bóng đá pháp sản phẩm_no không null;
14307_14422
Để xóa kèo bóng đá pháp ràng buộc, bạn cần biết tên của nó. Nếu bạn đã cho nó kèo bóng đá pháp cái tên sau đó thật dễ dàng. Nếu không thì hệ thống được chỉ định kèo bóng đá pháp Tên, mà bạn cần tìm hiểu. ThePSQLLệnh\ DTableNamecó thể hữu ích ở đây; khác Giao diện cũng có thể cung cấp kèo bóng đá pháp cách để kiểm tra chi tiết bảng. Sau đó Lệnh là:
thay đổi sản phẩm bảng thả ràng buộc kèo bóng đá pháp số_name;
(Nếu bạn đang xử lý kèo bóng đá pháp tên ràng buộc được tạo như$ 2, Đừng quên rằng bạn sẽ cần kép nó để biến nó thành kèo bóng đá pháp định danh hợp lệ.)
Như với việc thả kèo bóng đá pháp cột, bạn cần thêmCascadeNếu bạn muốn bỏ kèo bóng đá pháp ràng buộc kèo bóng đá pháp cái gì đó khác phụ thuộc vào. kèo bóng đá pháp ví dụ là kèo bóng đá pháp chìa khóa nước ngoài ràng buộc phụ thuộc vào kèo bóng đá pháp ràng buộc khóa duy nhất hoặc chính trên Cột được tham chiếu (s).
Điều này hoạt động giống nhau cho tất cả các loại ràng buộc ngoại trừ không có null hạn chế. Để thả kèo bóng đá pháp ràng buộc không sử dụng NULL:
thay đổi sản phẩm bảng thay đổi kèo bóng đá pháp sản phẩm_no không null;
(Nhớ lại rằng các ràng buộc không có null không có tên.)
Để đặt mặc định mới cho kèo bóng đá pháp, sử dụng lệnh như:
thay đổi sản phẩm bảng thay đổi giá kèo bóng đá pháp Đặt mặc định 7.77;
Lưu ý rằng điều này không ảnh hưởng đến bất kỳ hàng hiện có nào trong bảng, nó Chỉ thay đổi mặc định cho tương laiChènlệnh.
Để xóa bất kỳ giá trị mặc định nào, sử dụng:
thay đổi sản phẩm bảng thay đổi giá bỏ giá mặc định;
Điều này thực sự giống như đặt mặc định thành NULL. BẰNG Hậu quả, việc bỏ mặc định trong đó kèo bóng đá pháp lỗi là lỗi không phải là lỗi chưa được xác định, bởi vì mặc định ngầm là null giá trị.
Để chuyển đổi kèo bóng đá pháp thành loại dữ liệu khác, sử dụng lệnh giống:
thay đổi sản phẩm bảng thay đổi loại giá kèo bóng đá pháp số (10,2);
Điều này sẽ chỉ thành công nếu mỗi mục nhập hiện có trong cột có thể được chuyển đổi thành loại mới bởi kèo bóng đá pháp diễn viên ngầm. Nếu phức tạp hơn Chuyển đổi là cần thiết, bạn có thể thêm kèo bóng đá phápsử dụngmệnh đề chỉ định cách tính các giá trị mới từ cũ.
PostgreSQLSẽ cố gắng Chuyển đổi giá trị mặc định của kèo bóng đá pháp (nếu có) thành loại mới, như cũng như bất kỳ ràng buộc nào liên quan đến kèo bóng đá pháp. Nhưng những điều này Chuyển đổi có thể thất bại, hoặc có thể tạo ra kết quả đáng ngạc nhiên. Của nó Thường tốt nhất là bỏ bất kỳ ràng buộc nào trên kèo bóng đá pháp trước khi thay đổi Loại của nó, và sau đó thêm các ràng buộc sửa đổi phù hợp sau đó.
Để đổi tên kèo bóng đá pháp:
thay đổi sản phẩm bảng đổi tên kèo bóng đá pháp sản phẩm_no thành sản phẩm_number;
Để đổi tên kèo bóng đá pháp bảng:
thay đổi sản phẩm bảng đổi tên thành các mục;