Postgresql Tài kèo chấp bóng đá hôm nay 8.0.26 | ||||
---|---|---|---|---|
prev | Backward nhanh | Chuyển tiếp nhanh | NEXT |
PostgreSQLcó một bộ phong phú Các loại dữ kèo chấp bóng đá hôm nay bản địa có sẵn cho người dùng. Người dùng có thể thêm các loại mới vàoPostgreSQLSử dụngTạo kèo chấp bóng đá hôm naylệnh.
Bảng 8-1Hiển thị tất cả các loại dữ kèo chấp bóng đá hôm nay đa năng tích hợp. Hầu hết các thay thế Tên được liệt kê trong"Bí danh"Cột kèo chấp bóng đá hôm nay tên được sử dụng trong nội bộ bởiPostgreSQLVì lý do lịch sử. TRONG Ngoài ra, một số kèo chấp bóng đá hôm nay được sử dụng nội bộ hoặc không dùng nữa có sẵn, Nhưng chúng không được liệt kê ở đây.
Bảng 8-1. Kiểu dữ kèo chấp bóng đá hôm nay
tên | Bí danh | Mô tả |
---|---|---|
Bigint | INT8 | Đã ký số nguyên tám byte |
BigSerial | serial8 | Autoincrementing Eight-byte Integer |
bit [(n)] | Chuỗi bit có độ dài cố định | |
bit khác nhau [(n)] | Varbit | Chuỗi bit có độ dài biến đổi |
Boolean | bool | Boolean logic (Đúng/Sai) |
Box | Hộp hình chữ nhật trong mặt phẳng | |
bytea | Dữ kèo chấp bóng đá hôm nay nhị phân ("byte mảng ") | |
nhân vật khác nhau [(n)] | Varchar [(n)] | Chuỗi ký tự có độ dài thay đổi |
ký tự [(n)] | char [(n)] | Chuỗi ký tự có độ dài cố định |
CIDR | IPv4 hoặc địa chỉ mạng IPv6 | |
Circle | vòng tròn trong mặt phẳng | |
ngày | Ngày lịch (năm, tháng, ngày) | |
Double Precision | float8 | Số điểm nổi chính xác gấp đôi |
inet | IPv4 hoặc địa chỉ máy chủ IPv6 | |
18621_18630 | int, INT4 | Đã ký Byte Integer |
Interval [(P)] | time span | |
dòng | dòng vô hạn trong mặt phẳng | |
LSEG | Phân đoạn dòng trong mặt phẳng | |
MacAddr | Địa chỉ MAC | |
tiền | Số tiền tiền tệ | |
Số [(P, S)] | thập phân [(P, S)] | Số chính xác của độ chính xác có thể chọn |
Path | Đường dẫn hình học trong mặt phẳng | |
điểm | Điểm hình học trong mặt phẳng | |
Polygon | Đường dẫn hình học đóng trong mặt phẳng | |
Real | float4 | Số điểm nổi chính xác đơn |
SmallInt | INT2 | Đã ký hai byte |
nối tiếp | serial4 | Số nguyên bốn byte tự động |
Text | Chuỗi ký tự có độ dài thay đổi | |
Thời gian [(P)] [Không có múi giờ ] | Thời gian trong ngày | |
Thời gian [(P)] với múi giờ | Timetz | Thời gian trong ngày, bao gồm múi giờ |
dấu thời gian [(P)] [Không có múi giờ ] | Ngày và giờ | |
dấu thời gian [(P)] với múi giờ | TIMESTAMPTZ | Ngày và giờ, bao gồm múi giờ |
Khả năng tương thích:kèo chấp bóng đá hôm nay loại sau (hoặc chính tả của nó) được chỉ định bởiSQL: bit, Bit thay đổi, Boolean, Char, Nhân vật khác nhau, Nhân vật, Varchar, ngày, Double Độ chính xác, Số nguyên, Khoảng, Số, thập phân, Real, smallint, thời gian(có hoặc không có múi giờ),Dấu thời gian(có hoặc không có múi giờ).
Mỗi loại dữ kèo chấp bóng đá hôm nay có biểu diễn bên ngoài được xác định bởi Chức năng đầu vào và đầu ra của nó. Nhiều loại tích hợp có các định dạng bên ngoài rõ ràng. Tuy nhiên, một số loại là duy nhất choPostgreSQL, chẳng hạn như đường dẫn hình học, hoặc có một số khả năng cho kèo chấp bóng đá hôm nay định dạng, như vậy là loại ngày và thời gian. Một số đầu vào và đầu ra kèo chấp bóng đá hôm nay chức năng không thể đảo ngược. Nghĩa là kết quả của đầu ra chức năng có thể mất độ chính xác khi so sánh với bản gốc đầu vào.
kèo chấp bóng đá hôm nay loại số bao gồm hai, bốn, bốn và tám byte số nguyên, số lượng nổi bốn và tám byte, và số thập phân có thể chọn chính xác.Bảng 8-2Liệt kê kèo chấp bóng đá hôm nay loại có sẵn.
Bảng 8-2. kèo chấp bóng đá hôm nay loại số
tên | Kích thước lưu trữ | Mô tả | phạm vi |
---|---|---|---|
SmallInt | 2 bytes | Số nguyên phạm vi nhỏ | -32768 đến +32767 |
Số nguyên | 4 byte | Lựa chọn thông thường cho số nguyên | -2147483648 đến +2147483647 |
Bigint | 8 byte | Số nguyên phạm vi lớn | -9223372036854775808 đến 9223372036854775807 |
thập phân | biến | Độ chính xác do người dùng chỉ định, chính xác | Không giới hạn |
Số | biến | Độ chính xác do người dùng chỉ định, chính xác | Không giới hạn |
Real | 4 byte | biến đổi chính xác, không chính xác | 6 chữ số thập phân chính xác |
Double Precision | 8 byte | Chính xác biến, không chính xác | 15 chữ số thập phân chính xác |
sê -ri | 4 byte | Số nguyên tự động | 1 đến 2147483647 |
BigSerial | 8 byte | Số nguyên tự động lớn | 1 đến 9223372036854775807 |
Cú pháp của hằng số cho kèo chấp bóng đá hôm nay loại số được mô tả TRONGPhần 4.1.2. kèo chấp bóng đá hôm nay loại số có một bộ đầy đủ tương ứng kèo chấp bóng đá hôm nay toán tử và chức năng số học. Tham khảoChương 9Để biết thêm thông tin. kèo chấp bóng đá hôm nay kèo chấp bóng đá hôm nay phần sau mô tả kèo chấp bóng đá hôm nay loại một cách chi tiết.
kèo chấp bóng đá hôm nay loạismallint, Số nguyênvàBigintCửa hàng toàn bộ số, nghĩa là kèo chấp bóng đá hôm nay số không có phân số kèo chấp bóng đá hôm nay thành phần, của kèo chấp bóng đá hôm nay phạm vi khác nhau. Nỗ lực lưu trữ kèo chấp bóng đá hôm nay giá trị ngoài phạm vi được phép sẽ dẫn đến lỗi.
kèo chấp bóng đá hôm naySố nguyênlà thông thường sự lựa chọn, vì nó cung cấp sự cân bằng tốt nhất giữa phạm vi, lưu trữ Kích thước và hiệu suất. TheSmallIntkèo chấp bóng đá hôm nay thường chỉ được sử dụng nếu không gian đĩa ở mức cao. TheBigintkèo chấp bóng đá hôm nay chỉ nên được sử dụng nếu TheSố nguyênPhạm vi không đủ, bởi vì cái sau chắc chắn nhanh hơn.
TheBigintLoại không thể hoạt động chính xác trên tất cả kèo chấp bóng đá hôm nay nền tảng, vì nó dựa vào trình biên dịch Hỗ trợ cho số nguyên tám byte. Trên máy không có ủng hộ,Biginthoạt động giống nhưSố nguyên(nhưng vẫn chiếm tám byte lưu trữ). Tuy nhiên, chúng tôi không biết về bất kỳ hợp lý nào nền tảng nơi này thực sự là trường hợp.
SQLChỉ chỉ định kèo chấp bóng đá hôm nay loại số nguyênSố nguyên(hoặcint) vàSmallInt. kèo chấp bóng đá hôm nayBigintvà tên kèo chấp bóng đá hôm nayINT2, INT4vàINT8là kèo chấp bóng đá hôm nay tiện ích mở rộng, được chia sẻ với khác nhauSQLCơ sở dữ kèo chấp bóng đá hôm nay hệ thống.
kèo chấp bóng đá hôm naySốCó thể lưu trữ số với tối đa 1000 chữ số chính xác và thực hiện kèo chấp bóng đá hôm nay tính toán chính xác. Nó đặc biệt được khuyến nghị để lưu trữ tiền tệ Số lượng và kèo chấp bóng đá hôm nay số lượng khác khi cần độ chính xác. Tuy nhiên, số học trênSốGiá trị rất chậm so với kèo chấp bóng đá hôm nay loại số nguyên hoặc kèo chấp bóng đá hôm nay loại điểm nổi được mô tả trong phần tiếp theo.
Trong phần nào chúng ta sử dụng kèo chấp bóng đá hôm nay thuật ngữ sau:Scalecủa ASốIS số lượng kèo chấp bóng đá hôm nay chữ số thập phân trong phần phân đoạn, cho Quyền của số thập phân. Thechính xáccủa ASốlà tổng số chữ số quan trọng trong toàn bộ số, nghĩa là, số chữ số cho cả hai bên của số thập phân điểm. Vì vậy, số 23.5141 có độ chính xác là 6 và tỷ lệ trong số 4. kèo chấp bóng đá hôm nay số nguyên có thể được coi là có tỷ lệ bằng không.
Cả độ chính xác tối đa và tỷ lệ tối đa của ASốCột có thể được cấu hình. ĐẾN khai báo một cột kèo chấp bóng đá hôm naySốSử dụng Cú pháp
Số (chính xác, Scale)
Độ chính xác phải dương, tỷ lệ 0 hoặc tích cực. Ngoài ra,
Số (chính xác)
Chọn thang đo 0. Chỉ định
Số
Không có bất kỳ độ chính xác hoặc tỷ lệ nào tạo ra một cột trong đó giá trị số của bất kỳ độ chính xác và tỷ lệ nào có thể được lưu trữ, lên đến giới hạn thực hiện về độ chính xác. Một cột của cái này Loại sẽ không ép buộc kèo chấp bóng đá hôm nay giá trị đầu vào cho bất kỳ quy mô cụ thể nào, trong khiSốkèo chấp bóng đá hôm nay cột có được khai báo Thang đo sẽ ép buộc kèo chấp bóng đá hôm nay giá trị đầu vào cho thang đo đó. (TheSQLTiêu chuẩn yêu cầu a Thang đo mặc định là 0, tức là, ép buộc với độ chính xác số nguyên. Chúng tôi Tìm điều này một chút vô dụng. Nếu bạn quan tâm đến tính di động, luôn chỉ định độ chính xác và tỷ lệ rõ ràng.)
Nếu tỷ lệ của một giá trị được lưu trữ lớn hơn Tỷ lệ được khai báo của cột, hệ thống sẽ làm tròn giá trị đến số lượng kèo chấp bóng đá hôm nay chữ số phân số được chỉ định. Sau đó, nếu Số chữ số ở bên trái của điểm thập phân vượt quá tuyên bố độ chính xác trừ thang đo được khai báo, một lỗi là nâng lên.
Giá trị số được lưu trữ vật lý mà không cần thêm Dẫn đầu hoặc theo dõi số không. Do đó, độ chính xác được khai báo và Thang đo của một cột là tối đa, không phân bổ cố định. (TRONG ý nghĩa nàySốkèo chấp bóng đá hôm nay nhiều hơn Akin toVarchar (n)hơnchar (n).)
Ngoài kèo chấp bóng đá hôm nay giá trị số thông thường,Sốkèo chấp bóng đá hôm nay cho phép giá trị đặc biệtnan, có nghĩa là"Not-a-number". Bất kỳ hoạt động nào trênNANmang lại cái khácNAN. Khi viết giá trị này như một hằng số Lệnh SQL, bạn phải đặt báo giá xung quanh nó, ví dụBảng cập nhật đặt x = 'nan'. TRÊN đầu vào, chuỗiNANđược công nhận theo cách không nhạy cảm với trường hợp.
kèo chấp bóng đá hôm nay loạithập phânvàSốtương đương. Cả hai kèo chấp bóng đá hôm nay đều là một phần của TheSQLtiêu chuẩn.
Các loại dữ kèo chấp bóng đá hôm nayRealvàĐộ chính xác gấp đôikhông chính xác, chính xác biến đổi kèo chấp bóng đá hôm nay loại số. Trong thực tế, những loại này thường là triển khaiIEEETiêu chuẩn 754 cho số học dấu phẩy nổi nhị phân (đơn và đơn và độ chính xác gấp đôi, tương ứng), đến mức Bộ xử lý cơ bản, hệ điều hành và hỗ trợ trình biên dịch Nó.
Không chính xác có nghĩa là một số giá trị không thể được chuyển đổi chính xác đến định dạng nội bộ và được lưu trữ dưới dạng xấp xỉ, vì vậy Việc lưu trữ và in lại một giá trị có thể hiển thị nhẹ sự khác biệt. Quản lý kèo chấp bóng đá hôm nay lỗi này và cách chúng lan truyền thông qua kèo chấp bóng đá hôm nay tính toán là chủ đề của toàn bộ nhánh của Toán học và Khoa học Máy tính và sẽ không được thảo luận Xa hơn ở đây, ngoại trừ kèo chấp bóng đá hôm nay điểm sau:
Nếu bạn yêu cầu lưu trữ và tính toán chính xác (chẳng hạn như Đối với số tiền tiền tệ), hãy sử dụngSốkèo chấp bóng đá hôm nay thay thế.
Nếu bạn muốn thực hiện kèo chấp bóng đá hôm nay tính toán phức tạp với kèo chấp bóng đá hôm nay tính toán này kèo chấp bóng đá hôm nay loại cho bất cứ điều gì quan trọng, đặc biệt là nếu bạn dựa vào một số hành vi trong kèo chấp bóng đá hôm nay trường hợp biên (vô cực, dòng chảy), bạn nên đánh giá cẩn thận việc triển khai.
So sánh hai giá trị điểm nổi cho sự bình đẳng có thể hoặc có thể không hoạt động như mong đợi.
Trên hầu hết kèo chấp bóng đá hôm nay nền tảng,Realkèo chấp bóng đá hôm nay có một phạm vi ít nhất 1E-37 đến 1E+37 với độ chính xác của AT ít nhất 6 chữ số thập phân. TheDouble Độ chính xácLoại thường có phạm vi khoảng 1E-307 đến 1e+308 với độ chính xác ít nhất 15 chữ số. Giá trị đó Quá lớn hoặc quá nhỏ sẽ gây ra lỗi. Vòng tròn có thể diễn ra nếu độ chính xác của một số đầu vào quá cao. kèo chấp bóng đá hôm nay số quá gần với số 0 không thể đại diện cho khác biệt với số 0 sẽ gây ra lỗi dòng chảy.
Ngoài kèo chấp bóng đá hôm nay giá trị số thông thường, điểm nổi kèo chấp bóng đá hôm nay loại có một số giá trị đặc biệt:
Vô cực
-Infinity
NAN
PostgreSQLCũng hỗ trợ kèo chấp bóng đá hôm nay ký hiệu tiêu chuẩn SQLfloatvàfloat (P)Để chỉ định số không chính xác kèo chấp bóng đá hôm nay. Đây,PChỉ định Độ chính xác có thể chấp nhận tối thiểu trong kèo chấp bóng đá hôm nay chữ số nhị phân.PostgreSQLChấp nhậnFloat (1)đếnFloat (24)như ChọnRealkèo chấp bóng đá hôm nay, trong khiFloat (25)đếnFloat (53)ChọnDouble Độ chính xác. Giá trị củaPBên ngoài phạm vi được phép vẽ lỗi.floatKhông có độ chính xác được chỉ định được đưa vào nghĩa làDouble Precision.
Lưu ý:trướcPOSTGRESQL7.4, độ chính xác trongfloat (P)Đã được coi là rất nhiều chữ số thập phân. Điều này đã được sửa chữa để phù hợp với SQL tiêu chuẩn, trong đó chỉ định rằng độ chính xác được đo lường trong kèo chấp bóng đá hôm nay chữ số nhị phân. Giả định rằngRealvàDouble Độ chính xáccó chính xác 24 và 53 bit trong Mantissa tương ứng là chính xác cho tiêu chuẩn của IEEE Thực hiện điểm nổi. Trên nền tảng không phải là người yêu nó có thể tắt một chút, nhưng vì sự đơn giản, cùng một phạm vi củaPđược sử dụng trên tất cả nền tảng.
Các loại dữ kèo chấp bóng đá hôm naysê -rivàBigSerialkhông phải là loại đúng, mà chỉ là một Notational thuận tiện cho việc thiết lập định danh duy nhất kèo chấp bóng đá hôm nay cột (tương tự nhưAuto_incrementthuộc tính được hỗ trợ bởi một số cơ sở dữ kèo chấp bóng đá hôm nay khác). Trong việc thực hiện hiện tại, Chỉ định
Tạo bảngTableName(colnameSê -ri );
tương đương với chỉ định:
Tạo chuỗiTableName_colname_SEQ; Tạo bảngTableName(colnameSố nguyên mặc định NextVal ('TableName_colname_seq ') không phải null );
Vì vậy, chúng tôi đã tạo một cột số nguyên và được sắp xếp cho kèo chấp bóng đá hôm nay giá trị mặc định của nó được gán từ một trình tạo chuỗi. MỘTkhông nullràng buộc được áp dụng cho đảm bảo rằng một giá trị null không thể được chèn rõ ràng, hoặc. Trong hầu hết kèo chấp bóng đá hôm nay trường hợp, bạn cũng muốn đính kèmđộc đáohoặcKhóa chínhràng buộc để ngăn chặn trùng lặp kèo chấp bóng đá hôm nay giá trị từ việc bị chèn vào do tai nạn, nhưng điều này không tự động.
Lưu ý:trướcPOSTGRESQL7.3,nối tiếpngụ ýđộc đáo. Điều này không còn tự động. Nếu như bạn muốn một cột nối tiếp ở trong một ràng buộc duy nhất hoặc một khóa chính, bây giờ nó phải được chỉ định, giống như với bất kỳ Kiểu dữ kèo chấp bóng đá hôm nay khác.
Để chèn giá trị tiếp theo của chuỗi vàonối tiếpCột, chỉ định rằngsê -riCột nên được gán giá trị mặc định. Điều này có thể được thực hiện bằng cách loại trừ cột từ danh sách kèo chấp bóng đá hôm nay cột trongChènCâu lệnh hoặc thông qua việc sử dụngmặc địnhTừ khóa.
tên kèo chấp bóng đá hôm naysê -rivàserial4là tương đương: cả hai đều tạoSố nguyênCột. Tên kèo chấp bóng đá hôm nayBigSerialvàserial8làm việc giống như vậy, ngoại trừ việc họ tạo ra mộtBigintcột.BigSerialNên được sử dụng nếu bạn dự đoán việc sử dụng nhiều hơn 231Định danh trong suốt vòng đời của bàn.
trình tự được tạo cho mộtnối tiếpcột tự động bị rơi khi cột sở hữu là
Bị bỏ, và không thể bị kèo chấp bóng đá hôm nay bỏ khác. (Điều này không đúng
TRONGPostgreSQLPhát hành
trước 7.3. Lưu ý rằng liên kết thả tự động này sẽ không
xảy ra cho một chuỗi được tạo bằng cách tải lại một bãi rác từ một
Cơ sở dữ kèo chấp bóng đá hôm nay trước 7.3; Tệp kết xuất không chứa
thông tin cần thiết để thiết lập liên kết phụ thuộc.)
Hơn nữa, sự phụ thuộc này giữa trình tự và cột là
chỉ làm chosê -riCột chính.
Nếu bất kỳ cột nào khác tham chiếu chuỗi (có lẽ bằng cách
gọi thủ côngNextVal
Hàm), chúng sẽ bị phá vỡ nếu trình tự bị xóa.
Sử dụng Asê -richuỗi của cột trong
Một thời trang như vậy được coi là hình thức xấu; Nếu bạn muốn cho ăn
một số cột từ cùng một trình tạo chuỗi, tạo
trình tự như một đối tượng độc lập.