Veritabanlarında kullanılacak MYSQL'deki veri türleri

Veritabanı yöneticilerini öğreniyor musunuz? Bu durumda, kendinizi bu konuda bilgilendirmeniz gerekir. MySQL'deki veri türleri, dünyanın en iyi ve en çok kullanılanlarından biri.Fırsatı kaçırmayın!.

Mysql-2'deki veri türleri

MySQL'deki veri türleri

Bir uygulama için veri depolamak için kullanılabilecek bir tablo oluşturmamız gerektiğinde, arşivlememiz gereken her şeyi daha iyi depolamamıza ne tür verilerin yardımcı olacağını nasıl belirleyeceğimizi bilmeliyiz. Üçü arasından seçim yapabiliriz: sayısal veriler, diziler (alfanümerik) ve tarihler ve saatler.

MYSQL tablolarının bu alanlarında üç tür içerik arasından seçim yapma imkanımız var ve her ne kadar bariz görünse de verilerimizi nereye göndereceğimizi, depolamanın ne tür bir gruba ait olacağını belirleme imkanımız var, burada kendimize bir örnek verelim. bağlamda: evet, bir kişinin yaşını depolayabileceğimiz bir alana ihtiyacımız var, o zaman bu sayısal bir veri alanı olacaktır.

Ama açıklamaya devam etmeden önce MySQL'in ne olduğunu biliyor musunuz? Dünyada en yaygın kullanılan açık kaynak veritabanı yöneticilerinden biri olarak bilinir. Ne kadar popüler olduğu hakkında bir fikir sahibi olabilmemiz için size şunu söyleyeceğiz: WordPress, 2003'ten beri var olan farklı içerik türlerinin yöneticisidir ve bu tür web sayfalarının yaklaşık %55 ila %60'ı bu tür içeriklerin yöneticisidir. var, bu sayede yapılıyor ve MySQL'i bir veritabanı olarak kullanıyor, bu yüzden ne kadar yararlı olabileceğini ve sahip olduğu kapsamı kanıtlıyor.

MySQL, 2010 yılında satın almaktan sorumlu olan Oracle Corporation şirketine aittir. Bu yöneticinin, diğerlerinin yanı sıra uygulamalar, kurulum gerçekleştirme, web sayfalarını değiştirme, veri okuma gibi birden çok kullanımı vardır.

Bu sürücü kolayca indirilebilir ve kullandığınız Windows'a bağlı olarak birkaç sürümü vardır, aynı şekilde kurulumu çok kolaydır.

Veritabanı yöneticilerinin büyük çoğunluğu bir programlama dili aracılığıyla kullanılır. Diyelim ki bilgisayarlarımızda sahip olduğumuz bilgiler veritabanında mevcut ama onu görüntülememiz ve yönetmemiz gerektiğinde bir programlama dili kullanıyor; MySQL söz konusu olduğunda, buna WordPress'in geliştirildiği aynı web geliştirme dili olarak bilinen php eşlik eder.

Hız için çeşitli Windows sürümleri için mevcut olan XAMPP aracını indirmenizi önerebileceğimizi düşünüyoruz. XAMPP, aralarında sahip olduğumuz bir dizi bileşenle birlikte gelir:

  • Apache: Bu bir web sunucusu olacaktır.
  • PHP: Web geliştirme dili.
  • Fillezilla: Dosyaları harekete geçirmekten sorumlu.
  • Mercury: Testleri yapma amacı olan mail sunucusudur.
  • MySQL: Daha önce de belirttiğimiz gibi veritabanı sunucusudur.

XAMPP'yi kurduktan sonra, doğrudan başlatabileceğiniz ve grafik arayüze bağlanabileceğiniz MySQL dahil tüm bu bileşenlerin keyfini çıkarabileceksiniz, bu nedenle XAMPP, diğer bileşenlere ek olarak son derece kullanışlıdır.

Tüm bunları açıklığa kavuşturarak, verilerimizi depolamak için tablo türleri seçeneklerimizde ve sayısal veri alanından bahsetmişken, bunun içinde başka türlerimiz olduğunu ve hangisinin en iyi olacağını bilmemiz gerektiğini açıklamak istedik. bize daha az fiziksel depolama alanı tüketme fırsatı verecek ve bize o alanda saklamayı umduğumuz verileri alma fırsatı verecektir. Bu soruları anlamanın tek yolu MySQL'in bize sağladığı farklı veri türleridir, aşağıda her grubun en uygun kullanımlarını anlamak için bu bilgileri sağlayacağız.

Aşağıdaki videoda sizi MySQL'deki veri türleri ve bununla ilgili bilmeniz gereken her şey hakkında yoğun bir kursa davet ediyoruz.Öğrenme fırsatını kaçırmayın!:

Sayısal veri

MySQL'de bir veri türü ile diğeri arasında bulabildiğimiz fark, basitçe içerebileceği değer aralığıdır. Sayısal veriler içinde iki büyük dalı ayırt edebildiğimizi görmemiz gerekiyor: tamsayılar ve ondalık sayılar; Şimdi bize sunulan duruma göre sahip olabileceğimiz sayısal veri türlerini ve neye ihtiyacımız olduğunu açıklamak istiyoruz:

sayısal tam sayılar

Bu noktada açıklamak istediğimiz ilk şey, bu tür verileri depolamak için sahip olduğumuz seçeneklerin ondalık olmadan yaşlar, miktarlar ve büyüklükler olacağıdır. Ayrıca her alan için ne tür veri seçmemiz gerektiğini daha iyi anlamak için bir örnek sunmak istiyoruz:

Maksimum 127 değerini saklamamıza izin veren bir veri türü olan TINYINT'i sunuyoruz. Dolayısıyla, kullanıcılarımızın yaşı için bir alan tanımlamamız gerekirse, kullanabileceğimiz alan budur, çünkü normal yaş aralığı bu sayı içindedir. ve İncil'deki Eski Ahit zamanında yaşamıyorsak, hiç kimse biyolojik olarak bu sayıyı aşamadı; Yani hayır, bu tür veriler, limit 567'ye ulaşırsa, örneğin 128'i bile 127'yi saklamamıza izin vermez.

Şimdi, binlerce farklı ve çeşitli şeyi satmak için büyük bir pazarın tanımlayıcısı için bir alan tanımlamak istiyorsak, bu katlanarak değişecektir, açıkça TINYINT artık bize hizmet etmiyor, buna ek olarak öğelerin miktarını çok kesin olarak bilmeliyiz. satıyor, ama sadece elimizdekilerle değil, yakın geleceğimiz için bir tahminde bulunmaya çalışıyor, bu şekilde depolama sistemimiz hızla eskimeyecek.

32,000 makaleye kadar numaralandırmamıza izin verecek SMALLINT gibi bir şey kullanabilirdik, ancak örneği değiştirip marketten 5 milyon kullanıcılı bir telefon şirketinin müşteri tablosu için kullanılması gereken bir ID alanına geçersek, Artık SMALLINT değil, MEDIUMINT gibi bir başkası olabilirdi ve devam ediyoruz, şirketimizin 200 milyon müşterisi olması durumunda, INT tipi bir alan kullanmalıyız. Konu, kaprisli olmak ve dünya gezegeninde yaşayan insanların her birini tanımlayan bir alan tanımlamak istemek durumunda değişir, o zaman bir BIGNIT alanından yardım istemeliyiz, çünkü INT tipi sadece iki bin milyona kadar izin verir. farklı veri parçaları ve bu açıkça bize ulaşmayacaktı.

Ayrıca, diğer şeylerin yanı sıra, bir oyunun skorunu kaydetmek istediğimizde bulabileceğimiz negatif değerlerin veya bir masayı işaretleyebilecek sıfırın altındaki işaretin varlığını doğrulamak istiyoruz.

imzasız değerler

Olaya şu şekilde bakalım: Negatif bir yaşa sahip olmak hiçbir anlam ifade etmeyecektir. Her verinin maksimum pozitif değerinin sınırını iki katına çıkarma olasılığı varsa, o alanın negatif değerleri saklama olasılığını ortadan kaldırırsa, pozitif depolama sınırını ve normalde değerleri saklamaya izin veren TINYINT tipi alanı iki katına çıkarmış oluruz. 127, şimdi 0 ile 255 arasındaki değerleri saklamanıza izin verecek.

Ve işareti olmayan bir alanı nasıl tanımlarız? UNSIGNED değiştiricisi aracılığıyla sayısal bir alan tanımlayabiliriz. Bunu kullanarak, Nitelikler ve İŞARETSİZ'in değerini yazan bir sütun bulmalıyız ve bu alan artık negatif değerler içeremez, böylece depolama kapasitesini ikiye katlar.

Uzunluk olarak bulacağımız sütunda bir alan tanımlarken, az önce seçtiğimiz depolama kapasitesine uygun bir sayı yazmamızın önemli olduğunu belirtmekte fayda var. Yaş örneğinden devam edersek, TINYNIT ile çalışıyorsak, uzunluk olarak bir sayı daha büyük veya daha az değil, üç koymalıyız.

ondalık sayılar

Fiyatlar, maaşlar, banka hesap tutarları, diğerleri arasında, ondalıklı sayısal değerlere geçtik ve tam sayıları geride bıraktık ve bu veri türlerine virgül parça tamsayısını ayırdığı için "kayan nokta" denmesine rağmen ve ondalık kısım, aslında MySQL veri türleri arasında, onları bir nokta ile ayırarak saklar; buradan üç tür verimiz olurdu: FLOAT, DOUBLE ve DECIMAL.

FLOAT, en az -999.99 ve en fazla 999.99 değerini saklamamıza izin verecektir. İşaretin - sayılmadığını, ancak onları ayıran noktayı, yani ondalık noktayı, evet, bu yüzden toplamda altı hane olur, ancak ikisinin ondalık olduğunu not etmemize rağmen; ama bizi 0 ile 24 arasında ondalık sayılar almaya zorlayan basit kesinlik aralığı denen bir şeye sahibiz.

Öte yandan, DOUBLE, iki kat duyarlık olduğundan, yalnızca 25 ile 23 arasında ondalık basamakların tanımlanmasına izin verir. Basit kesinlik olan FLOAT'ı kullanmak, yuvarlama sorunlarına ve kalan ondalık basamakların kaybolmasına neden olabilir. Geriye, daha az uzunluk gerekli ancak maksimum doğruluk gereken parasal değerleri saklamak için en iyisi olan DECIMAL'dir ve yuvarlama olmadan, bu tür veriler saklanacak sayıya sabit bir genişlik atar. Bu tür veriler için maksimum toplam basamak 64'tür ve bunların 30'u izin verilen maksimum ondalık basamak sayısıdır ve fiyatları, ücretleri ve para birimlerini depolamak için fazlasıyla yeterlidir.

ondalık nokta-1

alfanümerik veriler

Son olarak, yeni bir tane girmek için sayısal veri kategorisini terk ediyoruz. Burada daha iyi açıklamak için karakter dizilerini depolamaktan bahsedeceğiz ve MySQL'deki veri türleri arasında aşağıdakilere sahibiz: CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT , ENUM ve SET, her birinin hangi verileri saklamak istediğimize bağlı olarak kendi özellikleri ve avantajları vardır.

Tarih ve saat verileri

MYSQL'deki veri türleri söz konusu olduğunda bu son kategorimiz olacaktır. Yönlendirilen verileri, tarihleri ​​ve saatleri depolamak için birkaç seçeneğimiz olduğunu, ikisi arasındaki farkı ve bunların ana kullanımlarını görerek, bu şekilde her durumda uygun veri türünü seçebileceğiz.

TARİH

MySQL'deki bu tür veriler, ilk dört hanenin yıla, sonraki ikisinin aya ve son ikisinin de güne ait olduğu tarihleri ​​​​saklamamıza izin verir, ancak İspanyolca konuşulan ülkelerde tarihleri ​​​​önce sıralamaya alışkınız. gün, sonra ay ve sonra yıl için, MYSQL için tamamen tersidir.

Bir DATE alanını okurken, yılı aydan ve ayı günden ayıran kısa çizgilerle görünse de, bu verileri eklerken her şeyi sürekli yapmamızı sağladığını bilmek önemlidir, örneğin şöyle görebiliriz. bu: 2018-06-04 ve bunu 20180604 gibi ekleyin. DATE'nin işlememize izin verdiği tarih aralığı 1000-01-01 ile 9999-12-31 arasındadır.

İki bin yıl önce yaşanmış bir olayla bir ilgimiz yoksa ve onu ifşa etmemiz gerekmedikçe, bu formatta sorun yaşamayacağız; Öte yandan, gelecek açısından daha fazla fırsatımız var, çünkü bu formatla neredeyse 10,000 yılına ulaştık.

tarih saat

DATETIME olarak tanımlanan bir alana sahip olmak, tarih ve zamanlama dışında bir tarihe değil, bir anın, bir zamanın bilgisini saklamamızı sağlar, önce yıl, sonra ay, sonra gün olurdu. , o zaman saat, dakika ve hatta saniyelerimiz de olurdu, format şöyle görünür:

  • YYYY- AA-GG SS:DD:SS

Tarih bölümü, DATE türününkine benzer bir aralığa sahiptir (10,000 yıl), yani 1000-01-01 ile 9999-12-31 arasında. Programın bir kısmı şu şekilde olacaktır: 00:00:00'dan 23:53:53'e. Tamamlanan her şey şöyle görünür: 1000-01-01 00:00:00 ila 9999-12-31 23:59:59.

ZAMAN

Burada saatleri, dakikaları ve saniyeleri saklamamıza izin verilir ve evet, önceki veri türü de öyleydi, ancak TIME ile izin verilen bir aralığımız var: -839: 59: 59 ila 839: 59: 59; bu, geçerli bir tarihte yaklaşık 35 gün ileri geri sürer. Bu tür veriler, iki yakın an arasındaki geçen zamanları hesaplamak için idealdir.

TIMESTAMP

Burada DATETIME'a çok benzeyen bir veri tipimiz var, ancak formatı ve aralığı farklı, ancak yine de bir tarih ve saat saklamak faydalı oluyor. Bu formatın alanı ile bize üç seçenek sunulabilir, birincisi: YYYY-AA-GG SS:DD:SS, ikincisi: YYYY-AA-GG ve üçüncüsü daha basit: YY-AA- DD.

Burada 14, 8 veya 6 basamaklı olası bir uzunluğa sahip olma olasılığımız var, bunların hepsi sağladığımız bilgilere bağlı. Bu format ne diğerleri kadar tarihsel ne de fütüristtir, çünkü bu alanın ele aldığı aralık sadece 1970-01-01'den 2037 yılına kadar uzanmaktadır.

Ek olarak, ilginç bir gerçek olarak, her kayıt eklendiğinde veya güncellendiğinde değerinin otomatik olarak güncel tutulduğunu belirleyebiliriz, bu şekilde, bu verilerin son güncellememizin tarih ve saatini her zaman bu alanda tutacağız. gerçekten ideal. hiçbir şey programlamadan kontrolü ele almak.

Bunu phpMyAdmin'den tanımlamak istiyorsak, tek yapmamız gereken Öznitelikler'de "güncellemede" CURRENT_TIMESTAMP yazan seçeneği ve varsayılan değer olarak CURRENT_TIMESTAMP öğesini seçmek. Bir kayıt eklenirken veya değiştirilirken değeri otomatik olarak güncellenebilen alan.

YIL

Bir alanı YEAR olarak tanımlamamız gerekirse, hem iki hem de dört hane kullanarak bir yılı kaydedebiliriz. Bunu 70'den 99'a kadar iki basamakta yaparsak (70'den 99'a kadar bunların 1970'den 1999'a kadar olan yıl aralığına tekabül ettiğini anlayacağız ve 00'dan 69'a kadar rakamlarımız varsa anlayabiliriz. Bu, 2000 ila 2069 yıllarını ifade eder), böyle bir durumda dört haneyi sağlamamız durumunda, olası aralığın genişleyeceğini ve ardından 1901'den 2155'e çıkacağını buluruz.

Ayrıca MySQL'deki veri türleriyle ilgili olmasa da tarih ve saatlerle ilgili olsa da ekstra bir olasılığımız var. Bu ekstra olasılık, PHP zaman işleviyle bir zaman damgası değeri oluşturmaktır (yine, artık MYSQL hakkında konuşmadığımızı açıklığa kavuşturmak istiyoruz, ancak oldukça benzer isimlere sahip olduğu için kafa karıştırmak geçerli).

Her neyse, o değeri 10 haneli bir INT alanına kaydedebiliriz, bu şekilde alanımızın değerlerini sıralamak çok basit olacak (örnek olarak bir haberin tarihini koyabiliriz) ve sonra biz bu tarihi, değer zaman damgasını PHP'nin kendi tarih işleme fonksiyonlarını kullanarak okunabilir hale getirebileceğimiz bir şeye dönüştürerek gösterebiliriz.

tarih-saat-1

Umarım MySQL'deki veri türleri ile ilgili bu makale ile açıklamak istediğimiz her şeyi yeterince açık hale getirebilmişizdir ve tüm bilgilerimize göre bir veritabanı ve tablo oluşturmayı, alanlarını tam bir hassasiyetle tanımlamayı öğrenmişsinizdir. bunları veri türlerini ve niteliklerini kullanmak, bu nedenle, uygun şekilde programlamaya başlamak için veya koşullarda, şimdi tam olarak hangi formata ihtiyacımız olacağı konusunda net bir fikre sahip olmak, programlamamız gereken şeye göre ihtiyacımıza uyan .

Sizi programlamayla ilgili başka bir makalemizin keyfini çıkarmaya davet ediyoruz: Nesne yönelimli programlamada polimorfizm.


İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Actualidad Blogu
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.