|
mysql veritabanı tasarımı, veri performansı optimizasyonu için, alan türü hususları çok önemlidir, bazı bilgiler toplanmış, harmanlanmış ve paylaşılmıştır, bu mysql tamsayı bigint, int, mediumint, smallint ve tinyint sözdizimi hakkında aşağıdaki gibi tanıtılmıştır: 1. bigint
-2^63 (-9223372036854775808) ile 2^63-1 (9223372036854775807) arasında tamsayı verileri (tüm sayılar), işaretsiz aralık 0 ila
18446744073709551615. bir bit 8 bayttır.
2, int
Normal boyutta bir tamsayı. -2^31 (-2,147,483,648) ila 2^31 - 1 (2,147,483,647) aralığında işaretli tamsayı verileri (tüm sayılar), 0 ila 4294967295 aralığında işaretsiz. bir bit 4 bayttır. int için SQL-92 eşanlamlısı integer'dır.
3. mediumint
Orta büyüklükte bir tamsayı, işaretli aralık -8388608 ila 8388607, işaretsiz aralık 0 ila 16777215. Bir bit boyutu 3 bayttır.
4, smallint
Küçük bir tamsayı. İşaretli aralık -2^15 (-32,768) ila 2^15 - 1 (32,767) tamsayıdır, işaretsiz aralık 0 ila 65535'tir. bir bit boyutu 2 bayttır. MySQL tarafından sağlanan işlevsellik fazlasıyla yeterlidir ve MySQL açık kaynaklı bir yazılım olduğundan, toplam sahip olma maliyeti büyük ölçüde azaltılabilir.
5. tinyint
İşaretli aralık -128 ila 127 ve işaretsiz aralık 0 ila 255 arasındadır. Bit boyutu 1 bayttır.
Tüm aritmetik işlemlerin işaretli BIGINT veya DOUBLE değerleriyle yapıldığını unutmayın, bu nedenle bit işlevleri dışında 9223372036854775807 (63 bit) değerinden daha büyük işaretli büyük tamsayılar kullanmamalısınız! Her iki argüman da INTEGER değeri olduğunda -, + ve * işlemlerinin BIGINT işlemlerini kullanacağını unutmayın! Bu, 2 büyük tamsayıyı çarparsanız (veya tamsayı döndüren bir işlevden), sonuç 9223372036854775807'dan büyükse beklenmedik sonuçlar alabileceğiniz anlamına gelir. İşaretsiz olamayan bir kayan nokta sayısı, tek hassasiyetli bir kayan nokta sayısı için <=24 hassasiyete ve çift hassasiyetli bir kayan nokta sayısı için 25 ile 53 arasında bir hassasiyete sahip olabilir, FLOAT ve DOUBLE türleri gibi bu türler hemen aşağıda açıklanmaktadır.FLOAT(X), karşılık gelen FLOAT ve DOUBLE ile aynı aralığa sahiptir, ancak ekran boyutu ve ondalık basamak sayısı tanımlanmamış. MySQL 3.23'te bu gerçek bir kayan nokta değeridir. MySQL'in önceki sürümlerinde, FLOAT(precision) her zaman 2 ondalık basamağa sahiptir. Bu sözdizimi ODBC uyumluluğu için sağlanmıştır.
MySQL'deki her veri türü için değer aralıkları
TINYINT -128 - 127 TINYINT IŞARETSIZ 0 - 255 SMALLINT SMALLINT -32768 - 32767 SMALLINT IŞARETSIZ 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT IŞARETSIZ 0 - 16777215 INT veya INTEGER -2147483648 - 2147483647 INT UNSIGNED veya INTEGER UNSIGNED 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT IŞARETSIZ 0 - 18446744073709551615 FLOAT -3.402823466e+38 - -1.175494351e-38,0,1.175494351e-38 - 3.402823466e+38 ÇİFT veya ÇİFT HASSAS veya GERÇEK -1.7976931348623157e+308 - -2.2250738585072014e-308,0,2.2250738585072014e-308 - 1.7976931348623157e+308 DECIMAL[(M,[D])] veya NUMERIC(M,D) Basamak sayısını belirlemek için M (ondalık nokta dahil olmak üzere tam sayının uzunluğu, ondalık noktanın solundaki basamak sayısı, ondalık noktanın sağındaki basamak sayısı, ancak eksi işaretini içermez) ve D (ondalık noktanın sağındaki basamak sayısı) ile belirlenir, M varsayılan olarak 10, D varsayılan olarak 0'dır TARİH 1000-01-01 - 9999-12-31 TARİH ZAMANI 1000-01-01 00:00:00 - 9999-12-31 23:59:59 ZAMAN DAMGASI 1970-01-01 00:00:00 - 2037 (Tam olarak hangi gün olduğunu bilmiyorum, lol) ZAMAN -838:59:59' ila 838:59:59 YIL[(2|4)] Varsayılan 4-bit formattır, 4-bit format aralığı 1901 - 2155,0000, 2-bit format aralığı 70-69(1970-2069)'dur. CHAR(M) [BINARY] veya NCHAR(M) [BINARY] M aralığı 1 - 255'tir, BINARY girişi yoksa büyük/küçük harfe duyarsızdır, NCHAR varsayılan karakter setinin kullanıldığı anlamına gelir. Veritabanında bir boşluk tamamlayıcı ile, ancak boşluğun sonunun alınmasında otomatik olarak kaldırılacaktır. [NATIONAL] VARCHAR(M) [BINARY] M aralığı 1 - 255. Sondaki boşluk veritabanında otomatik olarak kaldırılacaktır. TINYBLOB veya TINYTEXT 255 (2^8-1) karakter. BLOB veya METİN 65535(2^16-1) karakter MEDIUMBLOB veya MEDIUMTEXT 16777215 (2^24-1) karakterler LONGBLOB veya LONGTEXT 4294967295 (2^32-1) karakterler ENUM('değer1','değer2',...) Toplam 65535 farklı değer olabilir SET('değer1','değer2',...) 64 üyeye kadar |
Önceki: PHP satır sonu PHP_EOLSonraki makale: linux update yum update komutu
|