MySQL - Veri Türleri
Bir tablodaki alanların doğru şekilde tanımlanması, veritabanınızın genel optimizasyonu için önemlidir. Yalnızca gerçekten kullanmanız gereken alan türünü ve boyutunu kullanmalısınız. Örneğin, yalnızca 2 karakter kullanacağınızı biliyorsanız, 10 karakter genişliğinde bir alan tanımlamayın. Bu tür alanlar (veya sütunlar), veri türleri olarak da adlandırılır.type of data o alanlarda depolayacaksınız.
MySQL, üç kategoriye ayrılmış birçok farklı veri türü kullanır -
- Numeric
- Tarih ve saat
- Dize Türleri.
Şimdi bunları ayrıntılı olarak tartışalım.
Sayısal Veri Türleri
MySQL, tüm standart ANSI SQL sayısal veri türlerini kullanır, bu nedenle MySQL'e farklı bir veritabanı sisteminden geliyorsanız, bu tanımlar size tanıdık gelecektir.
Aşağıdaki liste, yaygın sayısal veri türlerini ve açıklamalarını gösterir -
INT- İmzalı veya işaretsiz olabilen normal boyutlu bir tam sayı. İmzalanmışsa, izin verilen aralık -2147483648 ile 2147483647 arasındadır. İşaretlenmemişse, izin verilen aralık 0 ile 4294967295 arasındadır. En fazla 11 basamaklı bir genişlik belirtebilirsiniz.
TINYINT- İmzalı veya işaretsiz olabilen çok küçük bir tam sayı. İmzalanmışsa, izin verilen aralık -128 ila 127'dir. İşaretsizse, izin verilen aralık 0 ila 255'tir. 4 haneye kadar bir genişlik belirleyebilirsiniz.
SMALLINT- İmzalı veya işaretsiz olabilen küçük bir tam sayı. İmzalanmışsa, izin verilen aralık -32768 ila 32767'dir. İşaretlenmemişse, izin verilen aralık 0 ila 65535'tir. En fazla 5 basamaklı bir genişlik belirtebilirsiniz.
MEDIUMINT- İmzalı veya işaretsiz olabilen orta büyüklükte bir tam sayı. İmzalanmışsa, izin verilen aralık -8388608 ila 8388607 arasındadır. İşaretlenmemişse, izin verilen aralık 0 ila 16777215'tir. En fazla 9 basamaklı bir genişlik belirtebilirsiniz.
BIGINT- İmzalı veya işaretsiz olabilen büyük bir tam sayı. İmzalanmışsa, izin verilen aralık -9223372036854775808 ile 9223372036854775807 arasındadır. İmzalanmamışsa, izin verilen aralık 0 ile 18446744073709551615 arasındadır. Genişliği 20 haneye kadar belirtebilirsiniz.
FLOAT(M,D)- İmzalanamayan kayan noktalı sayı. Görüntüleme uzunluğunu (M) ve ondalık basamak sayısını (D) tanımlayabilirsiniz. Bu gerekli değildir ve varsayılan olarak 10,2 olacaktır; burada 2, ondalık sayıların sayısı ve 10, toplam basamak sayısıdır (ondalıklar dahil). Ondalık hassasiyet bir FLOAT için 24 haneye gidebilir.
DOUBLE(M,D)- İmzalanamayan çift duyarlıklı kayan noktalı sayı. Görüntüleme uzunluğunu (M) ve ondalık basamak sayısını (D) tanımlayabilirsiniz. Bu gerekli değildir ve varsayılan olarak 16,4 olacaktır; burada 4, ondalıkların sayısıdır. Ondalık hassasiyet, DOUBLE için 53 haneye kadar gidebilir. GERÇEK, DOUBLE ile eşanlamlıdır.
DECIMAL(M,D)- İmzalanamayan, paketlenmemiş kayan nokta numarası. Paketlenmemiş ondalık sayılarda, her ondalık bir bayta karşılık gelir. Görüntüleme uzunluğunun (M) ve ondalık sayıların (D) tanımlanması gerekir. NUMERIC, DECIMAL ile eşanlamlıdır.
Tarih ve Saat Türleri
MySQL tarih ve saat veri türleri aşağıdaki gibidir -
DATE- 1000-01-01 ve 9999-12-31 arasında YYYY-AA-GG biçiminde bir tarih. Örneğin 30 Aralık inci 1973 1973-12-30 olarak saklanabilir.
DATETIME- 1000-01-01 00:00:00 ve 9999-12-31 23:59:59 arasında YYYY-AA-GG SS: DD: SS biçiminde bir tarih ve saat kombinasyonu. Örneğin, 30 Aralık öğleden sonra 3:30 th , 1973 1973-12-30 15:30:00 olarak saklanabilir.
TIMESTAMP- gece yarısı arasında bir zaman damgası, 1 Ocak st , 1970 ve bazen önceki DATETIME biçimi gibi sadece sayılar arasındaki tire olmadan bu görünüyor 2037 yılında; 30 Aralık öğleden sonra 3:30 th , 1973 19731230153000 (YYYYMMDDHHMMSS) halinde saklanabilir.
TIME - Saati SS: DD: SS biçiminde kaydeder.
YEAR(M)- Bir yılı 2 basamaklı veya 4 basamaklı biçimde kaydeder. Uzunluk 2 olarak belirtilirse (örneğin YIL (2)), YEAR 1970 ile 2069 (70 ila 69) arasında olabilir. Uzunluk 4 olarak belirtilmişse, YEAR 1901 ila 2155 olabilir. Varsayılan uzunluk 4'tür.
Dize Türleri
Sayısal ve tarih türleri eğlenceli olsa da, depolayacağınız verilerin çoğu bir dize biçiminde olacaktır. Bu liste, MySQL'deki yaygın dize veri türlerini açıklar.
CHAR(M)- 1 ile 255 karakter uzunluğunda sabit uzunlukta bir dize (örneğin CHAR (5)), saklandığında belirtilen uzunlukta boşluklarla sağ dolgulu. Uzunluk tanımlamak gerekli değildir, ancak varsayılan 1'dir.
VARCHAR(M)- 1 ile 255 karakter arasında değişen uzunlukta bir dize. Örneğin, VARCHAR (25). Bir VARCHAR alanı oluştururken bir uzunluk tanımlamalısınız.
BLOB or TEXT- Maksimum 65535 karakter uzunluğunda bir alan. BLOB'lar "İkili Büyük Nesnelerdir" ve görüntüler veya diğer dosya türleri gibi büyük miktarda ikili veriyi depolamak için kullanılır. METİN olarak tanımlanan alanlar da büyük miktarda veri tutar. İkisi arasındaki fark, depolanan verilerdeki sıralama ve karşılaştırmalarıncase sensitive BLOB'larda ve not case sensitiveMETİN alanlarında. BLOB veya TEXT ile bir uzunluk belirtmezsiniz.
TINYBLOB or TINYTEXT- Maksimum 255 karakter uzunluğunda bir BLOB veya TEXT sütunu. TINYBLOB veya TINYTEXT ile bir uzunluk belirtmezsiniz.
MEDIUMBLOB or MEDIUMTEXT- Maksimum uzunluğu 16777215 karakter olan bir BLOB veya TEXT sütunu. MEDIUMBLOB veya MEDIUMTEXT ile bir uzunluk belirtmezsiniz.
LONGBLOB or LONGTEXT- Maksimum uzunluğu 4294967295 karakter olan bir BLOB veya TEXT sütunu. LONGBLOB veya LONGTEXT ile bir uzunluk belirtmezsiniz.
ENUM- Liste için süslü bir terim olan bir numaralandırma. Bir ENUM tanımlarken, değerin seçilmesi gereken (veya NULL olabilir) bir öğe listesi oluşturursunuz. Örneğin, alanınızın "A" veya "B" veya "C" içermesini istiyorsanız, ENUM'unuzu ENUM ('A', 'B', 'C') ve yalnızca bu değerleri (veya NULL) olarak tanımlarsınız. o alanı doldurabilirdi.
Bir sonraki bölümde, MySQL'de tabloların nasıl oluşturulacağını tartışacağız.