Kiểu dữ liệu cho ngày trong MySQL là gì?

Một trong những tính năng chính của cơ sở dữ liệu quan hệ nói chung là khả năng xác định các lược đồ hoặc cấu trúc bảng xác định chính xác định dạng của dữ liệu mà chúng sẽ chứa. Điều này được thực hiện bằng cách quy định các cột mà các cấu trúc này chứa cùng với kiểu dữ liệu của chúng và bất kỳ ràng buộc nào.

Các kiểu dữ liệu chỉ định một mẫu chung cho dữ liệu mà chúng chấp nhận và lưu trữ. Các giá trị phải tuân thủ các yêu cầu mà chúng phác thảo để được MySQL chấp nhận. Mặc dù có thể xác định các yêu cầu tùy chỉnh, các kiểu dữ liệu cung cấp các khối xây dựng cơ bản cho phép MySQL xác thực đầu vào và làm việc với dữ liệu bằng các thao tác thích hợp

MySQL bao gồm nhiều loại dữ liệu được sử dụng để gắn nhãn và xác thực rằng các giá trị phù hợp với các loại thích hợp. Trong hướng dẫn này, chúng tôi sẽ thảo luận về các loại dữ liệu phổ biến nhất có sẵn trong MySQL, các định dạng đầu vào và đầu ra khác nhau mà chúng sử dụng và cách định cấu hình các trường khác nhau để đáp ứng nhu cầu của ứng dụng của bạn

Các kiểu dữ liệu trong MySQL là gì?

Trước khi đi vào chi tiết, chúng ta hãy có một cái nhìn bao quát về những loại dữ liệu mà MySQL cung cấp

MySQL hỗ trợ nhiều loại dữ liệu hợp lý phù hợp với nhiều loại dữ liệu đơn giản và phức tạp. Bao gồm các

  • NUMERIC(5)

    3
  • NUMERIC(5)

    4
  • NUMERIC(5)

    5
  • NUMERIC(5)

    6
  • NUMERIC(5)

    7
  • NUMERIC(5)

    8
  • NUMERIC(5)

    9
  • NUMERIC(5, 2)

    0
  • NUMERIC(5, 2)

    1
  • NUMERIC(5, 2)

    2
  • NUMERIC(5, 2)

    3
  • NUMERIC(5, 2)

    4
  • NUMERIC(5, 2)

    5
  • NUMERIC(5, 2)

    6
  • NUMERIC(5, 2)

    7
  • NUMERIC(5, 2)

    8
  • NUMERIC(5, 2)

    9
  • NUMERIC(5)

    70
  • NUMERIC(5)

    71
  • NUMERIC(5)

    72
  • NUMERIC(5)

    73
  • NUMERIC(5)

    74
  • NUMERIC(5)

    75
  • NUMERIC(5)

    76
  • NUMERIC(5)

    77
  • NUMERIC(5)

    78
  • NUMERIC(5)

    79
  • NUMERIC(5)

    70
  • NUMERIC(5)

    71
  • NUMERIC(5)

    72
  • NUMERIC(5)

    73
  • NUMERIC(5)

    74

Chúng tôi sẽ đề cập đến những điều phổ biến nhất trong số này sâu hơn trong suốt hướng dẫn này

Bắt đầu với kiểu dữ liệu MySQL

Khi bạn bắt đầu với các loại, điều quan trọng cần nhớ là các loại không phải lúc nào cũng là một giải pháp hoàn chỉnh để xác thực dữ liệu, mà là một thành phần. Các công cụ cơ sở dữ liệu khác, như các ràng buộc cũng có vai trò trong việc xác định tính chính xác. Tuy nhiên, các loại dữ liệu thường là tuyến phòng thủ đầu tiên chống lại dữ liệu không hợp lệ

Trong nhiều trường hợp, các loại chung do MySQL cung cấp phù hợp với các loại dữ liệu bạn sẽ lưu trữ. Ví dụ: trong khi bạn có thể lưu trữ tọa độ của một điểm hình học trong hai cột số khác nhau, loại

NUMERIC(5)

75 được cung cấp được xây dựng nhằm mục đích lưu trữ và xác thực chính xác loại thông tin này. Khi chọn loại, hãy kiểm tra xem bạn có đang sử dụng loại cụ thể nhất áp dụng cho trường hợp sử dụng của mình không

Số và giá trị số

MySQL bao gồm một loạt các kiểu dữ liệu số phù hợp với các tình huống khác nhau. Loại thích hợp phụ thuộc vào bản chất chính xác của các giá trị bạn dự định lưu trữ cũng như các yêu cầu về độ chính xác của bạn

số nguyên

Kiểu dữ liệu số nguyên là một danh mục các loại được sử dụng để lưu trữ các số không có bất kỳ phân số hoặc số thập phân nào. Đây có thể là giá trị dương hoặc âm và các loại số nguyên khác nhau có thể lưu trữ các phạm vi số khác nhau. Các loại số nguyên có phạm vi giá trị chấp nhận được nhỏ hơn sẽ chiếm ít dung lượng hơn so với các loại có phạm vi rộng hơn

Danh sách cơ bản của các loại số nguyên bao gồm như sau

Integer typeLengthApplicable signed rangeApplicable unsigned range

NUMERIC(5)

31 bytes-128 to 1270 to 255

NUMERIC(5)

42 bytes-32768 to 327670 to 65535

NUMERIC(5)

53 bytes-8388608 to 83886070 to 16777215

NUMERIC(5)

64 bytes-2147483648 to 21474836470 to 4294967295

NUMERIC(5)

78 bytes-2^63 to 2^63-10 to 2^64-

Các loại trên bị giới hạn bởi phạm vi hợp lệ của chúng. Bất kỳ giá trị nào nằm ngoài phạm vi sẽ dẫn đến lỗi

Ngoài các loại được đề cập ở trên, MySQL cũng nhận ra một bí danh gọi là

NUMERIC(5)

81. Đánh dấu một cột là

NUMERIC(5)

81 sẽ cung cấp cho nó các thuộc tính này.

NUMERIC(5)

83. Điều này được sử dụng như một cách viết tắt cho các thuộc tính cột khóa chính phổ biến. Cột sẽ tự động gán một giá trị duy nhất mới bất cứ khi nào một bản ghi được thêm vào

điểm cố định

Các loại điểm cố định được sử dụng để kiểm soát mức độ chính xác hoặc độ đặc hiệu có thể có đối với một số có số thập phân. Trong MySQL, điều này có thể được kiểm soát bằng cách thao tác hai yếu tố. độ chính xác và quy mô

Độ chính xác là tổng số chữ số tối đa mà một số có thể có. Ngược lại, tỷ lệ là số chữ số ở bên phải dấu thập phân. Bằng cách thao tác với các số này, bạn có thể kiểm soát mức độ lớn của các thành phần phân số và không phải phân số của một số

Hai đối số này được sử dụng để kiểm soát độ chính xác tùy ý bằng cách sử dụng kiểu dữ liệu

NUMERIC(5)

84 hoặc

NUMERIC(5)

85 (hai kiểu này đồng nghĩa với nhau trong MySQL). Loại

NUMERIC(5)

84 nhận từ 0 đến 2 đối số

Không có đối số, cột được định nghĩa là có độ chính xác là 10 và tỷ lệ là 0. Điều này có nghĩa là cột có thể chứa tối đa 10 chữ số, nhưng không có chữ số nào trong số này có thể nằm sau dấu thập phân

NUMERIC(5)

4

Khi một đối số duy nhất được cung cấp, nó được hiểu là độ chính xác của cột có tỷ lệ được đặt thành 0. Điều này cho phép bạn chỉ định số chữ số tối đa trong một số giống như số nguyên (không có thành phần phân số hoặc thập phân) một cách hiệu quả. Ví dụ: nếu bạn cần một số nguyên gồm 5 chữ số, bạn có thể chỉ định

NUMERIC(5)

Chỉ định độ chính xác theo sau là tỷ lệ khi định cấu hình cột bằng cả hai điều khiển. MySQL sẽ làm tròn thành phần thập phân của bất kỳ đầu vào nào thành số chữ số chính xác bằng cách sử dụng số tỷ lệ. MySQL sẽ sử dụng độ chính xác và tỷ lệ để xác định có bao nhiêu chữ số được phép ở phía bên trái của dấu thập phân. Nếu một mục vượt quá số chữ số cho phép, MySQL sẽ báo lỗi

Ví dụ: chúng ta có thể chỉ định một cột có tổng độ chính xác là 5 và tỷ lệ là 2

NUMERIC(5, 2)

Cột này sẽ có hành vi sau

Giá trị đầu vào Giá trị làm trònĐược chấp nhận (phù hợp với độ chính xác)?400. 28080400. 28Có8. 3327998. 33Có11799. 79911799. 80No1179911799No2802. 272802. 27Không

dấu phẩy động

Số dấu phẩy động là một cách khác để biểu thị số thập phân, nhưng không có độ chính xác nhất quán, chính xác. Thay vào đó, các loại dấu chấm động chỉ có khái niệm về độ chính xác tối đa thường liên quan đến kiến ​​trúc và nền tảng của phần cứng

Ví dụ: để giới hạn cột dấu phẩy động ở độ chính xác 8 chữ số, bạn có thể sử dụng loại

NUMERIC(5, 2)

0, lưu trữ kết quả bằng cách sử dụng 4 byte với độ chính xác từ 0 đến 23 chữ số

NUMERIC(5)

7

Tương tự, loại

NUMERIC(5, 2)

1 sử dụng 8 byte để lưu trữ dữ liệu và có thể sử dụng độ chính xác từ 24 đến 53 chữ số

Do những lựa chọn thiết kế này, các số dấu phẩy động có thể hoạt động với các số có số thập phân lớn một cách hiệu quả, nhưng không phải lúc nào cũng chính xác. Biểu diễn bên trong của các số có thể gây ra sự khác biệt nhỏ giữa đầu vào và đầu ra. Điều này có thể gây ra hành vi không mong muốn khi so sánh các giá trị, thực hiện phép toán dấu phẩy động hoặc thực hiện các thao tác yêu cầu giá trị chính xác

Dấu phẩy động so với số

Cả hai số dấu phẩy động được cung cấp bởi các loại như

NUMERIC(5, 2)

0 và

NUMERIC(5, 2)

1 và số dấu phẩy động được cung cấp bởi các loại

NUMERIC(5)

9 hoặc

NUMERIC(5)

8 đều có thể được sử dụng để lưu trữ các giá trị thập phân. Làm thế nào để bạn biết cái nào để sử dụng?

Nguyên tắc chung là nếu bạn cần sự chính xác trong tính toán của mình, loại

NUMERIC(5)

9 luôn là lựa chọn tốt hơn. Loại

NUMERIC(5)

9 sẽ lưu trữ các giá trị chính xác như chúng được cung cấp, nghĩa là kết quả hoàn toàn có thể dự đoán được khi truy xuất hoặc tính toán các giá trị. Loại

NUMERIC(5)

9 được gọi là độ chính xác tùy ý vì bạn chỉ định mức độ chính xác mà loại yêu cầu và nó sẽ lưu số lượng chữ số chính xác đó trong trường

Ngược lại, các loại như

NUMERIC(5, 2)

0 và

NUMERIC(5, 2)

1 là các loại có độ chính xác thay đổi. Mức độ chính xác mà chúng duy trì phụ thuộc vào giá trị đầu vào. Khi đạt đến mức độ chính xác cho phép, họ có thể làm tròn các chữ số còn lại, dẫn đến sự khác biệt giữa giá trị đã gửi và giá trị đã truy xuất

Vì vậy, khi nào bạn sẽ sử dụng các loại độ chính xác thay đổi? . Độ chính xác thay đổi thường sẽ mang lại lợi ích về hiệu suất so với loại

NUMERIC(5)

9

các loại chuỗi

Các kiểu ký tự và kiểu chuỗi của MySQL có thể được đặt thành hai loại. chiều dài cố định và chiều dài thay đổi. Sự lựa chọn giữa hai điều này ảnh hưởng đến cách MySQL phân bổ không gian cho từng giá trị và cách nó xác thực đầu vào

Kiểu dữ liệu dựa trên ký tự đơn giản nhất trong MySQL là kiểu

NUMERIC(5)

21. Không có đối số, loại

NUMERIC(5)

21 chấp nhận một ký tự đơn làm đầu vào

NUMERIC(5)

7

Khi một số nguyên dương được cung cấp trong khai báo, cột

NUMERIC(5)

21 sẽ lưu trữ một chuỗi ký tự có độ dài cố định bằng số lượng ký tự được chỉ định

NUMERIC(5)

8

Nếu một chuỗi được cung cấp ít ký tự hơn, các khoảng trống sẽ được thêm vào để đệm độ dài

Đầu vào# của các ký tự đầu vàoGiá trị được lưu trữ# của các ký tự được lưu trữ'tree'4'tree      '10

Nếu một chuỗi được cung cấp nhiều hơn số ký tự cho phép, MySQL sẽ báo lỗi. Là một ngoại lệ đối với quy tắc này, nếu các ký tự tràn đều là khoảng trắng, MySQL sẽ chỉ cắt bớt các khoảng trắng thừa để vừa với trường

Sự thay thế cho các trường ký tự có độ dài cố định là các trường có độ dài thay đổi. Đối với điều này, MySQL cung cấp loại

NUMERIC(5)

24. Loại

NUMERIC(5)

24 lưu trữ các ký tự không có kích thước cố định. Không giống như

NUMERIC(5)

21, không thể sử dụng

NUMERIC(5)

24 mà không chỉ định số lượng ký tự tối đa để lưu trữ

Bằng cách xác định một

NUMERIC(5)

24 với một số nguyên dương, bạn có thể đặt độ dài chuỗi tối đa

NUMERIC(5, 2)

2

Điều này khác với việc sử dụng loại

NUMERIC(5)

21 với một số nguyên ở chỗ

NUMERIC(5)

24 sẽ không đệm giá trị nếu đầu vào không đáp ứng độ dài trường tối đa

Đầu vào# của các ký tự đầu vàoGiá trị được lưu trữ# của các ký tự được lưu trữ'tree'4'tree'4

Nếu chuỗi lớn hơn độ dài tối đa, MySQL sẽ báo lỗi. Hành vi cắt xén tương tự hiện diện trong các trường

NUMERIC(5)

21 xảy ra ở đây. nếu các ký tự tràn là khoảng trắng, chúng sẽ bị cắt bớt để vừa với độ dài ký tự tối đa

MySQL cũng hỗ trợ các kiểu dữ liệu

NUMERIC(5, 2)

62 và

NUMERIC(5, 2)

63. Chúng hoạt động theo cách tương tự như các loại

NUMERIC(5)

21 và

NUMERIC(5)

24, nhưng lưu trữ các chuỗi nhị phân thay vì chuỗi ký tự. Điều này có ý nghĩa về cách chúng được lưu trữ và vận hành (đối với những thứ như so sánh, sắp xếp, v.v. )

Đối với các loại

NUMERIC(5, 2)

62 và

NUMERIC(5, 2)

63, số nguyên được cung cấp khi xác định loại cột biểu thị số byte thay vì số ký tự

Hai kiểu dữ liệu khác mà MySQL cung cấp để lưu trữ chuỗi và ký tự là

NUMERIC(5, 2)

68 và

NUMERIC(5, 2)

69. Các loại này hoạt động tương tự như các loại

NUMERIC(5)

24 và

NUMERIC(5, 2)

63 tương ứng và được dùng để lưu trữ các đối tượng lớn. Chúng hoạt động hầu hết giống như các đối tác của chúng, nhưng có một vài điểm khác biệt như không thể bắt đầu có các giá trị mặc định và yêu cầu độ dài tiền tố khi tạo chỉ mục

Booleans

MySQL không thực sự có kiểu boolean riêng để biểu thị các giá trị đúng và sai

MySQL nhận ra các loại

NUMERIC(5, 2)

62 hoặc

NUMERIC(5, 2)

63 trong nỗ lực tương thích với các hệ thống cơ sở dữ liệu khác. Tuy nhiên, triển khai nội bộ của nó sử dụng cột

NUMERIC(5, 2)

64 để lưu trữ các giá trị và diễn giải chúng là đúng hoặc sai dựa trên một bộ quy tắc

Khi diễn giải các giá trị số trong ngữ cảnh boolean, giá trị của

NUMERIC(5, 2)

65 được coi là sai. Tất cả các giá trị khác không được coi là đúng

MySQL nhận ra các chữ boolean

NUMERIC(5, 2)

66 và

NUMERIC(5, 2)

67 và chuyển đổi

NUMERIC(5, 2)

66 thành 1 và

NUMERIC(5, 2)

67 thành 0 khi lưu trữ chúng

Ngày giờ

MySQL có hỗ trợ biểu diễn ngày, giờ và sự kết hợp của cả hai

ngày

Loại

NUMERIC(5)

00 có thể lưu trữ một ngày mà không có giá trị thời gian liên quan

NUMERIC(5)

2

Khi xử lý đầu vào cho

NUMERIC(5)

00 cột, MySQL có thể giải thích các định dạng khác nhau để xác định ngày chính xác để lưu trữ. Tuy nhiên, các bộ phận cấu thành phải luôn đi theo cùng một trình tự. năm, tháng, rồi ngày. Hàm

NUMERIC(5)

02 có sẵn để giúp chuyển đổi các định dạng ngày khác sang định dạng mà MySQL sẽ diễn giải chính xác

Khi hiển thị ngày, MySQL sử dụng định dạng

NUMERIC(5)

03. Bạn có thể sử dụng hàm

NUMERIC(5)

04 để định dạng đầu ra ở các định dạng khác

Loại

NUMERIC(5)

00 có thể lưu trữ các giá trị nằm trong khoảng từ

NUMERIC(5)

06 đến

NUMERIC(5)

07

Thời gian

Kiểu dữ liệu

NUMERIC(5)

08 có thể lưu trữ thời gian cụ thể trong ngày mà không có múi giờ hoặc ngày liên quan

Khi xử lý đầu vào cho cột

NUMERIC(5)

08, MySQL có thể giải thích nhiều định dạng để xác định thời gian chính xác để lưu trữ. Khi đầu vào có dấu hai chấm, nó thường được hiểu là

NUMERIC(5)

10. Bất kỳ giá trị rút ngắn nào (chỉ sử dụng một cột) sẽ được hiểu là sử dụng

NUMERIC(5)

11. Khi đầu vào không có dấu hai chấm, thời gian được xử lý để lấp đầy giá trị nhỏ nhất trước. Ví dụ:

NUMERIC(5)

12 được lấy là 10 phút 45 giây

MySQL cũng hỗ trợ giây phân số nếu dấu thập phân được đưa ra. Nó lưu trữ tới 6 chữ số chính xác sau dấu thập phân. Các giá trị trong cột

NUMERIC(5)

08 có thể nằm trong khoảng từ

NUMERIC(5)

14 đến

NUMERIC(5)

15

Khi hiển thị giá trị thời gian, MySQL sử dụng định dạng

NUMERIC(5)

10. Đối với ngày tháng, một chức năng được cung cấp, được gọi là

NUMERIC(5)

17 để hiển thị các giá trị thời gian bằng các định dạng khác

Dấu thời gian và ngày giờ

MySQL có thể biểu thị dấu thời gian, sự kết hợp của ngày và giờ được sử dụng để biểu thị một thời điểm cụ thể, theo hai biến thể khác nhau. sử dụng loại

NUMERIC(5)

18 và loại

NUMERIC(5)

19

Loại

NUMERIC(5)

19 có thể đại diện cho các giá trị từ

NUMERIC(5)

21 đến

NUMERIC(5)

22. Nó cũng có thể bao gồm giây phân số lên đến sáu chữ số tương tự như loại

NUMERIC(5)

08

Loại

NUMERIC(5)

18 có thể đại diện cho các giá trị từ

NUMERIC(5)

25 UTC đến

NUMERIC(5)

26 UTC. Nó cũng có thể xử lý giây phân số. Khi lưu trữ các giá trị

NUMERIC(5)

18, tất cả các giá trị được chuyển đổi từ múi giờ đã cho sang UTC để lưu trữ và được chuyển đổi trở lại múi giờ địa phương khi truy xuất. Loại

NUMERIC(5)

19 không làm điều này

Từ MySQL 8. 0. 19 trở đi, bạn có thể bao gồm phần bù múi giờ khi lưu trữ một

NUMERIC(5)

18 để đặt rõ ràng múi giờ cho giá trị được lưu trữ. Bạn làm điều này bằng cách bao gồm một giá trị sau thành phần thời gian, không có khoảng trống để biểu thị độ lệch. Phạm vi của các giá trị được chấp nhận đi từ

NUMERIC(5)

30 đến

NUMERIC(5)

31, đại diện cho phần bù của giá trị được lưu trữ từ UTC

Khi quyết định lưu trữ các giá trị ngày và giờ bằng cách sử dụng các loại

NUMERIC(5)

19 hoặc

NUMERIC(5)

33, việc phân tách chúng theo mục đích sử dụng tốt nhất thường rất hữu ích.

Hãy coi các giá trị

NUMERIC(5)

19 là một ngày và giờ cụ thể, trong mối quan hệ với lịch và đồng hồ ở bất kỳ nơi nào nó được truy xuất. Nếu một người đi ngủ lúc 11 giờ đêm, giá trị

NUMERIC(5)

19 có thể đại diện cho giá trị đó, bất kể người đó hiện đang ở múi giờ nào

Mặt khác, các giá trị

NUMERIC(5)

33 thể hiện tốt nhất một thời điểm cụ thể, rõ ràng giữa các múi giờ. Để gửi lời mời gọi video, giá trị

NUMERIC(5)

33 sẽ có thể đảm bảo cuộc họp diễn ra cùng lúc cho mọi người, bất kể người tham gia đang ở múi giờ nào

Các loại hữu ích khác

Cùng với các loại chúng tôi đã trình bày ở một số chuyên sâu ở trên, còn có các loại bổ sung hữu ích trong các tình huống cụ thể. Chúng tôi sẽ trình bày ngắn gọn về những điều này để cung cấp cho bạn ý tưởng về cách sử dụng chúng và khi nào chúng có thể hữu ích

liệt kê và thiết lập các loại

Hai loại liên quan cho phép người dùng chỉ định các giá trị hợp lệ cho một cột là loại

NUMERIC(5)

38 và

NUMERIC(5)

39

Loại

NUMERIC(5)

38 là loại chuỗi cho phép người dùng xác định tập hợp các giá trị hợp lệ khi cột được tạo. Bất kỳ giá trị nào khớp với một trong các giá trị đã xác định đều được chấp nhận và tất cả các giá trị khác đều bị từ chối. Chức năng này tương tự như menu thả xuống ở chỗ có thể đưa ra lựa chọn từ một tập hợp các tùy chọn cụ thể. Ví dụ: một

NUMERIC(5)

38 có tên là

NUMERIC(5)

42 có thể được tạo với các giá trị

NUMERIC(5)

43,

NUMERIC(5)

44,

NUMERIC(5)

45 và

NUMERIC(5)

46

Để tạo một cột

NUMERIC(5)

38, hãy chỉ định loại là

NUMERIC(5)

38, cung cấp các giá trị có thể có dưới dạng các chuỗi, được phân tách bằng dấu phẩy, bên trong một tập hợp các dấu ngoặc đơn, như thế này

NUMERIC(5, 2)

6

Một loại tương tự của loại do người dùng định nghĩa là loại

NUMERIC(5)

39. Giống như loại

NUMERIC(5)

38, loại

NUMERIC(5)

39 cho phép người dùng chỉ định các giá trị hợp lệ dưới dạng chuỗi theo định nghĩa. Sự khác biệt giữa hai loại này là trong một

NUMERIC(5)

39, có thể lưu trữ nhiều hơn một giá trị cho mỗi bản ghi

Ví dụ: nếu bạn cần một cột để biểu thị các ngày trong tuần mà các tình nguyện viên sẵn sàng làm việc, bạn có thể có một cột

NUMERIC(5)

39 như thế này

NUMERIC(5, 2)

6

Khi nhập các giá trị cho cột

NUMERIC(5)

54 mà chúng ta vừa tạo, bạn cung cấp một chuỗi duy nhất có dấu phẩy ngăn cách tất cả các ngày mà tình nguyện viên có mặt. Ví dụ

NUMERIC(5)

0

Đối với các loại

NUMERIC(5)

39 trong MySQL, các giá trị trùng lặp trong đầu vào luôn bị xóa và khi truy xuất, các giá trị tuân theo thứ tự được sử dụng trong định nghĩa

NUMERIC(5)

39 bất kể thứ tự khi nhập vào cột

JSON

MySQL hỗ trợ các cột trong JSON sử dụng loại

NUMERIC(5)

57. Dữ liệu được lưu trữ dưới dạng

NUMERIC(5)

57 được lưu trữ ở dạng nhị phân để thực thi và xử lý nhanh hơn để máy chủ không phải diễn giải một chuỗi để hoạt động trên các giá trị

NUMERIC(5)

74

NUMERIC(5)

1

Để hoạt động trên các cột

NUMERIC(5)

74, MySQL cung cấp một số hàm để hoạt động với các giá trị trong tài liệu

Phần kết luận

Trong bài viết này, chúng tôi đã đề cập đến rất nhiều loại dữ liệu phổ biến nhất hữu ích khi làm việc với cơ sở dữ liệu MySQL. Có các loại bổ sung không được đề cập trong hướng dẫn này rất hữu ích để biết, nhưng những loại này là điểm khởi đầu tốt cho hầu hết các trường hợp sử dụng

Điều quan trọng là sử dụng hệ thống loại một cách thích hợp để bạn có thể kiểm soát các giá trị hợp lệ và thao tác trên dữ liệu như mong đợi. Có những cạm bẫy mà bạn có thể gặp phải nếu chọn loại không phù hợp với dữ liệu của mình, vì vậy, hãy suy nghĩ kỹ trước khi cam kết sử dụng một loại dữ liệu trong hầu hết các trường hợp

Nếu bạn đang sử dụng Máy khách Prisma để làm việc với cơ sở dữ liệu MySQL của mình, bạn có thể tìm thấy ánh xạ giữa một số loại MySQL và Prisma phổ biến trong tài liệu trình kết nối dữ liệu MySQL của Prisma

LIÊN QUAN ĐẾN PRISMA. IO

Trong mô hình dữ liệu được lược đồ Prisma sử dụng, các kiểu dữ liệu được biểu diễn bằng các loại trường. Kiểm tra tài liệu của chúng tôi để tìm hiểu thêm

Prisma là bộ công cụ cơ sở dữ liệu mã nguồn mở dành cho Typescript và Node. js nhằm mục đích giúp các nhà phát triển ứng dụng làm việc hiệu quả và tự tin hơn khi làm việc với cơ sở dữ liệu

Câu hỏi thường gặp

Phạm vi của kiểu dữ liệu `DECIMAL` trong MySQL là gì?

Cú pháp khai báo cho cột

NUMERIC(5)

8 là

NUMERIC(5)

62. Phạm vi giá trị cho các đối số như sau

  • M là số chữ số tối đa (độ chính xác). Nó có phạm vi từ 1 đến 65
  • D là số chữ số ở bên phải dấu thập phân (tỷ lệ). Nó có phạm vi từ 0 đến 30 và không được lớn hơn M

MySQL lưu trữ `TEXT` như thế nào?

Các yêu cầu lưu trữ đối với các loại chuỗi trong MySQL có thể được trình bày trong bảng sau với L biểu thị độ dài thực tính bằng byte của một giá trị chuỗi đã cho

Loại dữ liệu Lưu trữ Yêu cầuTINYTEXTL + 1 byte, trong đó L < 2^8TEXTL + 2 byte, trong đó L < 2^16MEDIUMTEXTL + 3 byte, trong đó L < 2^24LONGTEXTL + 4 byte, trong đó L < 2^32

Sự khác biệt giữa `TEXT` và `VARCHAR` trong MySQL là gì?

NUMERIC(5)

73 và

NUMERIC(5, 2)

9 tương tự lưu trữ các ký tự không có kích thước cố định

NUMERIC(5, 2)

9 khác vì nó không thể được sử dụng mà không chỉ định số lượng ký tự tối đa để lưu trữ trong khi

NUMERIC(5)

73 không yêu cầu điều này

Cú pháp định nghĩa ví dụ của một

NUMERIC(5, 2)

9 sẽ như thế này

NUMERIC(5, 2)

2

Độ dài tối đa của `VARCHAR` trong MySQL là bao nhiêu?

Các giá trị trong cột

NUMERIC(5, 2)

9 là các chuỗi có độ dài thay đổi. Độ dài tối đa có thể được chỉ định là một giá trị từ 0 đến 65,535

Độ dài tối đa hiệu quả của một

NUMERIC(5, 2)

9 tùy thuộc vào kích thước hàng tối đa trong số tất cả các cột (65.535 byte)

Các loại `ENUM` được lưu trữ trong MySQL như thế nào?

NUMERIC(5)

74 là một loại lưu trữ thuận lợi trong trường hợp một cột có một tập hợp giới hạn các giá trị có thể

Nó có các yêu cầu lưu trữ giống như tất cả các cột

Loại dữ liệuLưu trữ Yêu cầuENUM1 hoặc 2 byte, tùy thuộc vào số lượng giá trị liệt kê (tối đa 65.535 giá trị)

Kiểu dữ liệu nào được sử dụng cho ngày tháng?

Kiểu dữ liệu ngày là kiểu dữ liệu trừu tượng . Giá trị ngày có thể là ngày và giờ tuyệt đối hoặc khoảng thời gian. Ngày được chỉ định dưới dạng chuỗi ký tự được trích dẫn.

Kiểu dữ liệu nào là một ngày SQL?

Kiểu dữ liệu ngày và giờ

Làm cách nào để chèn kiểu dữ liệu ngày trong MySQL?

Để chạy lệnh Chèn MySQL và thêm ngày hiện tại vào bảng của bạn, bạn có thể sử dụng hàm tích hợp sẵn của MySQL CURDATE() trong truy vấn của mình.

Ngày trong MySQL có phải là một chuỗi không?

MySQL nhận dạng các giá trị NGÀY ở các định dạng này. Dưới dạng chuỗi ở định dạng ' YYYY-MM-DD ' hoặc ' YY-MM-DD ' . Một cú pháp "thoải mái" được cho phép. Bất kỳ ký tự dấu chấm câu nào cũng có thể được sử dụng làm dấu phân cách giữa các phần ngày.