Rumah >pangkalan data >tutorial mysql >Analisis paling lengkap: jenis medan MySQL

Analisis paling lengkap: jenis medan MySQL

WBOY
WBOYke hadapan
2021-12-24 18:26:152787semak imbas

Artikel ini membawa anda pengetahuan yang berkaitan tentang jenis medan mysql dan membuat ringkasan saya harap ia akan membantu semua orang.

Analisis paling lengkap: jenis medan MySQL

Prekata:

Untuk memahami pangkalan data, kita mesti memahami jenis data yang disokongnya. MySQL menyokong sejumlah besar jenis medan, kebanyakannya biasa digunakan. Kami juga telah bercakap tentang penggunaan jenis int dan varchar dalam artikel sebelumnya, tetapi kami tidak pernah bercakap sepenuhnya tentang jenis medan Dalam artikel ini, kami akan merangkumi semua jenis medan dan bercakap tentang penggunaan jenis medan biasa.

Jenis medan yang biasa digunakan boleh dibahagikan secara kasar kepada tiga kategori: jenis angka, jenis rentetan dan jenis tarikh dan masa mengelas Mari kita perkenalkan mereka secara bergilir-gilir.

1. Jenis berangka

Jenis angka boleh dibahagikan kepada jenis integer, jenis titik terapung, jenis titik tetap Tiga subkategori.

Integer digunakan terutamanya untuk menyimpan nilai integer, terutamanya terdapat jenis medan berikut:

Analisis paling lengkap: jenis medan MySQL

Nombor bulat sering digunakan, seperti tinyint, int, bigint. . Lalai ditandatangani Jika anda hanya perlu menyimpan nilai yang tidak ditandatangani, anda boleh menambah atribut yang tidak ditandatangani.

M dalam int(M) mewakili lebar paparan maksimum Ini tidak bermakna int(1) tidak boleh menyimpan nilai 10. Tidak kira berapa banyak aksara lebar paparan ditetapkan, int akan menduduki 4 aksara. . bahagian, iaitu julat storan int(5) dan int(10) adalah sama.

Semakin kecil bait storan, semakin kecil ruang yang diduduki. Oleh itu, selaras dengan prinsip meminimumkan storan, kita harus cuba memilih jenis integer yang sesuai Sebagai contoh, tinyint boleh digunakan untuk menyimpan beberapa nilai status atau umur orang untuk lajur kunci utama, tidak ada nombor negatif. Adalah disyorkan untuk menggunakan int unsigned atau bigint unsigned untuk menganggarkan nombor medan Nilai akan melebihi 4.2 bilion, menggunakan jenis bigint.

Jenis titik terapung terutamanya termasuk jenis apungan dan berganda menyimpan nilai anggaran dalam pangkalan data, seperti apungan(6,3 Jika anda memasukkan nombor 123.45678, nilai sebenar yang disimpan dalam pangkalan data). ialah 123.457 Walau bagaimanapun, jumlah bilangan tertakluk kepada syarat sebenar, iaitu 6 digit, dan bahagian integer maksimum ialah 3 digit. float dan double tidak biasa digunakan.

Analisis paling lengkap: jenis medan MySQL

Terdapat satu jenis medan titik tetap: PERPULUHAN, yang digunakan terutamanya untuk menyimpan perpuluhan dengan keperluan ketepatan.

Analisis paling lengkap: jenis medan MySQL

PERPULUHAN telah diperkenalkan daripada MySQL 5.1, dan sintaks pengisytiharan lajur ialah PERPULUHAN(M,D). NUMERIC adalah sinonim dengan DECIMAL Jika jenis medan ditakrifkan sebagai NUMERIC, ia akan ditukar secara automatik kepada DECIMAL.

Untuk sintaks pengisytiharan PERPULUHAN(M,D), julat nilai hujah adalah seperti berikut:

  • M ialah bilangan maksimum digit (ketepatan) dan julat ialah 1 hingga 65. Tidak boleh dinyatakan, nilai lalai ialah 10.
  • D ialah bilangan digit di sebelah kanan titik perpuluhan (tempat perpuluhan). Julat ialah 0 hingga 30, dan tidak boleh lebih besar daripada M. Ia tidak perlu dinyatakan Nilai lalai ialah 0.

Contohnya, gaji bidang DECIMAL(5,2) mampu menyimpan sebarang nilai dengan lima digit dan dua tempat perpuluhan, jadi julat nilai yang boleh disimpan dalam ruangan gaji. adalah dari -999.99 hingga 999.99 .

2. Jenis rentetan

Jenis rentetan juga sering digunakan beberapa jenis yang biasa digunakan adalah seperti berikut:

Analisis paling lengkap: jenis medan MySQL

di mana char dan varchar. adalah yang paling biasa digunakan. Jenis char adalah panjang tetap, dan MySQL sentiasa memperuntukkan ruang yang mencukupi mengikut panjang rentetan yang ditentukan. Apabila nilai aksara disimpan, ia dipadatkan ke kanan dengan ruang mengikut panjang yang ditentukan, dan apabila nilai aksara diambil, ruang mengekor akan dialih keluar. Jenis varchar digunakan untuk menyimpan rentetan panjang berubah-ubah Semasa penyimpanan, jika bilangan aksara tidak mencapai bilangan digit yang ditetapkan, ruang tidak akan ditambah pada penghujung.

M dalam char(M) dan varchar(M) mewakili bilangan maksimum aksara yang disimpan Satu huruf, nombor, Cina, dll. semuanya menduduki satu aksara. char sesuai untuk menyimpan rentetan yang sangat pendek, atau apabila semua nilai hampir dengan panjang yang sama. Sebagai contoh, char sesuai untuk menyimpan nilai MD5 kata laluan kerana ia adalah nilai panjang tetap. Untuk situasi di mana rentetan itu sangat panjang atau rentetan yang akan disimpan mempunyai panjang yang berbeza, varchar adalah lebih sesuai.

Apabila menentukan panjang maksimum medan, kita harus memperuntukkannya mengikut keperluan, membuat anggaran terlebih dahulu dan cuba untuk tidak menggunakan jenis teks jika jenis varchar boleh digunakan. Melainkan terdapat keperluan untuk menyimpan data teks yang panjang, pertimbangkan untuk menggunakan jenis teks.

Jenis BLOB digunakan terutamanya untuk menyimpan objek besar binari, seperti gambar, fail audio dan video. Jarang digunakan dalam kehidupan seharian, anda boleh mempertimbangkan untuk menggunakannya apabila menyimpan rentetan binari.

3. Jenis tarikh dan masa

Jenis tarikh dan masa yang disokong oleh MySQL ialah TAHUN, MASA, TARIKH , DATETIME, TIMESTAMP, beberapa jenis dibandingkan seperti berikut:

Analisis paling lengkap: jenis medan MySQL

Apabila bercakap tentang pemilihan jenis medan tarikh dan masa, cuma pilih jenis yang sesuai berdasarkan keperluan storan.

Cara memilih antara jenis DATETIME dan TIMESTAMP boleh berdasarkan keperluan storan Contohnya, jika julat storan yang lebih luas diperlukan, adalah disyorkan untuk menggunakan DATETIME Jika anda hanya menyimpan cap waktu semasa, anda boleh menggunakan jenis TIMESTAMP. Walau bagaimanapun, perlu diingat bahawa data medan TIMESTAMP akan berubah dengan zon waktu sistem tetapi data medan DATETIME tidak akan berubah. Secara umum, DATETIME digunakan secara meluas.

Ringkasan:

Artikel ini terutamanya memperkenalkan jenis medan yang biasa digunakan dalam MySQL Jenis medan yang biasa digunakan pada asasnya di sini, dengan panduan berfikir seperti berikut:

Analisis paling lengkap: jenis medan MySQL

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci Analisis paling lengkap: jenis medan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam