Mga uri ng data sa MYSQL na gagamitin sa mga database

May natutunan ka ba tungkol sa mga manager ng database? Sa kasong iyon, kailangan mong ipaalam sa iyong sarili ang tungkol sa mga uri ng data sa MySQL, isa sa pinakamahusay at pinaka ginagamit sa buong mundo. Huwag palalampasin ang pagkakataon!.

Mga uri ng data-sa-Mysql-2

Mga uri ng data sa MySQL

Sa tuwing kailangan naming lumikha ng isang talahanayan na maaaring magamit upang mag-imbak ng data para sa isang application, dapat nating malaman kung paano makilala kung anong uri ng data ang makakatulong sa amin upang mas mahusay na maimbak ang lahat ng kailangan nating mai-archive. Maaari kaming pumili sa pagitan ng tatlo: bilang ng data, mga string (alphanumeric), at mga petsa at oras.

Sa mga larangang ito ng mga talahanayan ng MYSQL mayroon kaming posibilidad na pumili sa pagitan ng tatlong uri ng nilalaman, at bagaman mukhang halata, alamin kung saan ipapadala ang aming data, sa kung anong uri ng pangkat ang pag-aari ng imbakan, narito mayroon kaming isang halimbawa upang mailagay ang ating sarili sa konteksto: oo kailangan namin ng isang patlang kung saan maaari nating maiimbak ang edad ng isang tao, pagkatapos ito ay magiging isang patlang ng numerong data.

Ngunit bago ko ipagpatuloy ang pagpapaliwanag, alam mo ba kung ano ang MySQL? Ito ay kilala bilang isa sa pinakalawak na ginagamit na open source database manager sa buong mundo. Upang magkaroon kami ng ideya kung gaano ito kasikat, sasabihin namin sa iyo na: Ang WordPress ay ang tagapamahala ng iba't ibang uri ng nilalaman, na mayroon mula pa noong 2003, at na humigit-kumulang 55% hanggang 60% ng mga web page na mayroon, ay ginawa salamat dito, at gumagamit ito ng MySQL bilang isang database, kaya't pinatutunayan nito kung gaano ito kapaki-pakinabang at ang saklaw na mayroon ito.

Ang MySQL ay kabilang sa kumpanya ng Oracle Corporation, na namamahala sa pagbili nito noong 2010. Ang manager na ito ay maraming gamit, tulad ng: mga kasanayan, pagsasagawa ng mga pag-install, pagbabago ng mga web page, pagbabasa ng data, at iba pa.

Ang driver na ito ay maaaring madaling mai-download at maraming mga bersyon depende sa Windows na iyong ginagamit, sa parehong paraan, napakadaling mai-install ito.

Ang karamihan sa mga driver ng database ay ginagamit sa pamamagitan ng isang wika ng programa. Sabihin nating halimbawa, ang impormasyong mayroon tayo sa aming mga computer ay magagamit sa database, ngunit kapag kailangan nating tingnan at pamahalaan ito, gumagamit ito ng isang wika ng pagprograma; Sa kaso ng MySQL, sinamahan ito ng php, na kilala bilang isang wikang pagbuo ng web, pareho sa pagbuo ng WordPress.

Ipagpalagay namin na maaari naming inirerekumenda, para sa bilis, i-download ang tool na XAMPP, na magagamit para sa iba't ibang mga bersyon ng Windows. Ang XAMPP ay mayroong isang serye ng mga bahagi, kasama ng mga ito mayroon kaming:

  • Apache: Ito ay magiging isang web server.
  • PHP: Ang wikang pagbuo ng web.
  • Fillezilla: Siya ang namamahala sa pagpapakilos ng mga file.
  • Mercury: Ito ay ang mail server, na may layunin ng paggawa ng mga pagsubok.
  • MySQL: Tulad ng nabanggit namin kanina, ito ay ang server ng database.

Matapos mai-install ang XAMPP, magagawa mong tangkilikin ang lahat ng mga sangkap na ito, kabilang ang MySQL, na maaari mong simulan nang direkta at kumonekta sa grapikong interface, iyon ang dahilan kung bakit ang XAMPP ay lubhang kapaki-pakinabang, bilang karagdagan sa pagkakaroon ng iba pang mga sangkap.

Nilinaw ang lahat ng ito, nais naming ipaliwanag na sa loob ng aming mga pagpipilian para sa mga uri ng talahanayan upang maiimbak ang aming data, at nagsasalita ng patlang ng bilang ng data, sa loob ng parehong ito mayroon kaming iba pang mga uri, at dapat naming malaman kung alin ang magiging pinakamahusay, alin ang bigyan kami ng pagkakataon na ubusin ang mas kaunting puwang sa pag-iimbak at bibigyan kami ng pagkakataon ng data na inaasahan naming maiimbak sa larangan na iyon. Ang tanging paraan upang maunawaan ang mga katanungang ito ay ang iba't ibang mga uri ng data na ibinibigay sa amin ng MySQL, sa ibaba ay ibibigay namin ang impormasyong iyon upang maunawaan ang pinakaangkop na paggamit ng bawat pangkat.

Inaanyayahan ka naming makita ang isang masinsinang kurso sa mga uri ng data sa MySQL at lahat ng kailangan mong malaman tungkol dito, sa video sa ibaba. Huwag palampasin ang pagkakataon na malaman!:

Numero ng data

Ang pagkakaiba na maaari naming makita sa pagitan ng isang uri ng data at iba pa sa MySQL ay ang saklaw ng mga halagang maaari itong maglaman. Sa loob ng numerong data kailangan nating makita na maaari nating makilala ang dalawang malalaking sangay: mga integer at decimal; Ngayon, nais naming ipaliwanag ang mga uri ng data na may bilang na maaari naming magkaroon alinsunod sa sitwasyong ipinakita sa amin at kung ano ang kailangan namin:

Mga numerong integer

Ang unang bagay na nais naming ipaliwanag sa puntong ito ay ang mga pagpipilian na mayroon kami upang maiimbak ang ganitong uri ng data ay mga edad, dami at magnitude nang walang mga decimal. Nais din naming magpakita ng isang halimbawa upang mas maunawaan kung anong uri ng data ang dapat naming piliin para sa bawat larangan:

Nagpapakita kami ng TINYINT, isang uri ng data na nagpapahintulot sa amin na mag-imbak ng maximum na halagang 127. Kaya kung kailangan naming tukuyin ang isang patlang para sa edad ng aming mga gumagamit, ito ang maaari naming gamitin, dahil ang normal na saklaw ng edad ay nasa loob ng numerong iyon , at maliban kung tayo ay nabubuhay sa panahon ng Lumang Tipan ng bibliya, walang sinuman ang nalampasan ng biolohikal na bilang; Kaya hindi, ang ganitong uri ng data ay hindi pinapayagan kaming mag-imbak ng 567, halimbawa, kahit na 128, kung ang limitasyon ay umabot sa 127.

Ngayon, kung nais naming tukuyin ang isang patlang para sa isang nagpapakilala ng isang malaking merkado upang magbenta ng libu-libong iba't ibang at magkakaibang mga bagay, magbabago ito nang mabilis, malinaw na ang TINYINT ay hindi na nagsisilbi sa atin, bilang karagdagan dito dapat nating malaman nang eksakto ang dami ng mga item nagbebenta ito, ngunit hindi lamang sa kung ano ang mayroon kami, ngunit sinusubukan na gumawa ng isang hula para sa aming malapit na hinaharap, sa ganitong paraan ang aming sistema ng pag-iimbak ay hindi mabilis na maging lipas.

Maaari kaming gumamit ng isang bagay tulad ng SMALLINT na magpapahintulot sa amin na mag-number ng hanggang 32,000 na mga artikulo, ngunit kung binago namin ang halimbawa at lumipat mula sa isang merkado patungo sa isang patlang na ID na dapat gamitin para sa isang talahanayan ng customer ng isang kumpanya ng telepono na may 5 milyong mga gumagamit, kami ay hindi na maaaring magkaroon ng SMALLINT, ngunit sa ilang iba pa tulad ng MEDIUMINT, at nagpapatuloy kami, sa kaso na ang aming kumpanya ay may 200 milyong mga kliyente, dapat naming gamitin ang isang larangan ng uri na INT. Ang isyu ay nagbabago sa kaso ng pagkuha ng pabagu-bago at nais na tukuyin ang isang patlang na kinikilala ang bawat isa sa mga tao na nakatira sa planetang lupa, pagkatapos ay dapat tayong humingi ng tulong sa isang patlang na BIGNIT, dahil ang uri ng INT ay nagbibigay-daan lamang sa hanggang dalawang libong milyon-milyong iba't ibang mga piraso ng data, at malinaw na hindi ito maaabot sa amin.

Nais din naming kumpirmahin ang pagkakaroon ng mga negatibong halaga, na maaari naming makita kapag nais na i-save ang iskor ng isang laro, o ang marka sa ibaba zero na maaaring markahan ng isang talahanayan, bukod sa iba pang mga bagay.

Mga hindi naka-sign na halaga

Tingnan natin ito sa ganitong paraan: ang pagkakaroon ng isang negatibong edad ay wala talagang kahulugan. Kung may posibilidad na doblehin ang limitasyon ng maximum na positibong halaga ng bawat data na aalisin ang posibilidad na ang patlang na iyon ay maaaring mag-imbak ng mga negatibong halaga, doblehin namin ang positibong limitasyon ng pag-iimbak, at ang patlang ng uri na TINYINT na karaniwang pinapayagan na mag-imbak ng mga halaga Ng 127, papayagan ka ngayong mag-imbak ng mga halaga mula 0 hanggang 255.

At paano namin matutukoy ang isang patlang na walang palatandaan? Sa pamamagitan ng UNSIGNED modifier maaari naming tukuyin ang isang patlang na bilang. Gamit ito dapat naming hanapin ang isang haligi na binabasa ang Mga Katangian at ang halaga ng UNSIGNED at ang patlang na ito ay hindi na maaaring maglaman ng mga negatibong halaga, kaya doblehin ang kapasidad ng pag-iimbak nito.

Ito ay nagkakahalaga ng pagbanggit na ito ay mahalaga na kapag tinutukoy ang isang patlang sa haligi na mahahanap namin bilang Haba nagsusulat kami ng isang numero na pare-pareho sa kapasidad ng imbakan na aming napili. Pagpapatuloy sa halimbawa ng edad, kung nagtatrabaho kami sa TINYNIT, dapat kaming maglagay ng tatlo bilang isang haba, hindi isang mas malaki o mas maliit na numero.

Mga bilang na may decimal

Ang mga presyo, suweldo, halaga ng bank account, bukod sa iba pa, lumipat kami sa mga numerong halaga na may mga decimal at naiwan namin ang mga integer, at sa kabila ng katotohanang ang mga uri ng data na ito ay tinatawag na "lumulutang point" dahil pinaghiwalay ng kuwit ang bahagi na integer at ang decimal na bahagi, talagang sa pagitan ng mga uri ng data ng MySQL, iniimbak nito ang paghihiwalay sa kanila ng isang panahon; mula dito magkakaroon kami ng tatlong uri ng data: FLOAT, DOUBLE at DECIMAL.

Papayagan kami ng FLOAT na mag-imbak ng hindi bababa sa halaga na -999.99 at higit sa 999.99. Isaalang-alang na ang pag-sign - ay hindi binibilang, ngunit ang puntong naghihiwalay sa kanila, iyon ay, ang decimal point, oo, iyon ang dahilan kung bakit sila ay magiging anim na digit sa kabuuan, bagaman tandaan namin na ang dalawa sa kanila ay mga decimal. Ngunit mayroon kaming tinatawag na isang simpleng saklaw na katumpakan, na pinipilit kaming magkaroon ng decimal na dami sa pagitan ng 0 at 24.

Sa kabilang banda, ang DOUBLE, na dalawang beses ang katumpakan, pinapayagan lamang na matukoy ang bilang ng mga desimal na lugar sa pagitan ng 25 at 23. Ang paggamit ng FLOAT, na kung saan ay simpleng katumpakan, ay maaaring maging sanhi ng mga problema sa pag-ikot at pagkawala ng mga natitirang decimal place. Ang isa na mananatiling ipaliwanag ay DECIMAL, na kung saan ay ang pinakamahusay para sa pag-iimbak ng mga halagang hinggil sa pananalapi kung saan mas mababa ang haba ay kinakailangan ngunit ang maximum na kawastuhan, at nang walang pag-ikot, ang ganitong uri ng data ay nagtatalaga ng isang nakapirming lapad sa bilang na itatabi nito. Ang maximum na kabuuang mga digit para sa ganitong uri ng data ay 64, kung saan 30 ang maximum na bilang ng mga decimal na lugar na pinapayagan, higit sa sapat upang mag-imbak ng mga presyo, sahod at pera.

decimal-point-1

Data ng alphanumeric

Sa wakas ay iniiwan namin ang kategorya ng data na bilang upang magpasok ng bago. Pinag-uusapan natin dito ang tungkol sa pag-iimbak ng mga string ng character, upang ipaliwanag ito sa isang mas mahusay na paraan, at kabilang sa mga uri ng data sa MySQL mayroon kaming mga sumusunod: CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT, ENUM at SET, ang bawat isa ay may kanya-kanyang katangian at sariling bentahe depende sa kung anong data ang nais nating itabi.

Data ng petsa at oras

Ito ang aming huling kategorya pagdating sa mga uri ng data sa MYSQL. Makikita natin na mayroon kaming maraming mga pagpipilian upang maiimbak ang tinukoy na data, mga petsa at oras, na nakikita ang pagkakaiba sa pagitan ng isa at ng iba pa at ang kanilang pangunahing paggamit, sa ganitong paraan mapili namin ang naaangkop na uri ng data sa bawat kaso.

DATE

Pinapayagan kami ng ganitong uri ng data sa MySQL na mag-imbak ng mga petsa kung saan ang unang apat na digit ay kabilang sa taon, ang susunod na dalawa hanggang buwan at ang huling dalawa hanggang ngayon, bagaman sa mga bansa na nagsasalita ng Espanya ay nasanay na kaming mag-order muna ng mga petsa ng ang araw, pagkatapos ay para sa buwan, at pagkatapos ay para sa taon, para sa MYSQL ito ay ganap na kabaligtaran.

Mahalagang malaman na kapag nagbabasa ng isang patlang ng DATE, kahit na lumilitaw ito na may mga gitling na naghihiwalay sa taon mula sa buwan at buwan mula sa araw, kapag ipinasok ang data na ito ay pinapayagan kaming gawin ang lahat ng tuloy-tuloy, halimbawa, makikita natin ito tulad ng ito: 2018-06-04 at ipasok ito tulad ng 20180604. Ang saklaw ng petsa na pinapayagan ng DATE na hawakan namin ay 1000-01-01 hanggang 9999-12-31.

Maliban kung may kinalaman tayo sa isang kaganapan na nangyari dalawang libong taon na ang nakakalipas at kailangan nating ilantad ito, wala kaming mga problema sa format na ito; sa kabilang banda, na may pagtingin sa hinaharap na mayroon kaming maraming mga pagkakataon, dahil sa format na ito halos umabot kami sa taong 10,000.

datetime

Ang pagkakaroon ng isang patlang na tinukoy bilang DATETIME ay magbibigay-daan sa amin upang mag-imbak ng impormasyon hindi ng isang petsa, ngunit ng isang sandali, isang instant ng oras, bukod sa petsa, din ang iskedyul nito, una magkakaroon kami ng taon, pagkatapos ng buwan, pagkatapos ng araw , pagkatapos ay magkakaroon din kami ng oras, mga minuto, at kahit na ang mga segundo, ganito ang format:

  • YYYY- MM- DD HH: MM: SS

Ang bahagi ng petsa ay may saklaw na katulad sa uri ng DATE (10,000 taon), iyon ay, mula 1000-01-01 hanggang 9999-12-31. Ang bahagi ng iskedyul ay magiging ganito: mula 00:00:00 hanggang 23:53:53. Ang lahat ng kumpleto ay ganito ang hitsura: 1000-01-01 00:00:00 hanggang 9999-12-31 23:59:59.

TIME

Pinapayagan kaming mag-imbak ng mga oras, minuto at segundo, at oo, ang dating uri ng data ay ginawa din, ngunit sa TIME mayroon kaming pinahihintulutang saklaw na mula sa: -839: 59: 59 hanggang 839: 59: 59; tatagal ito ng halos 35 araw pabalik-balik sa isang kasalukuyang petsa. Ang ganitong uri ng data ay mainam para sa pagkalkula ng mga lumipas na oras sa pagitan ng dalawang malapit na sandali.

TIMESTAMP

Narito mayroon kaming isang uri ng data na maaaring magkatulad sa DATETIME ngunit ang format at saklaw nito ay magkakaiba, bagaman kapaki-pakinabang pa rin ito para sa pagtatago ng isang petsa at isang oras. Sa larangan ng format na ito tatlong pagpipilian ang maaaring maipakita sa amin, ang una ay: YYYY-MM-DD HH: MM: SS, ang pangalawa ay: YYYY-MM-DD, at ang pangatlo ay mas simple: YY-MM-DD .

Narito mayroon kaming posibilidad na magkaroon ng isang posibleng haba ng 14, 8 o 6 na mga digit, depende ang lahat sa impormasyong ibinibigay namin. Ang format na ito ay hindi bilang makasaysayang o futuristic tulad ng iba pa, dahil ang saklaw na hinahawakan ng patlang na ito ay magmula lamang noong 1970-01-01 hanggang sa taong 2037.

Bilang karagdagan, bilang isang usisero na katotohanan, maitataguyod natin na ang halaga nito ay panatilihing awtomatikong nai-update sa tuwing ang isang tala ay naipasok o na-update, sa ganitong paraan palagi naming itatago sa patlang na ito ang petsa at oras ng aming huling pag-update ng data na iyon, kung saan ay talagang perpekto. upang makontrol nang hindi kinakailangang mag-program ng anuman.

Kung nais naming tukuyin ito mula sa phpMyAdmin, ang kailangan lang naming gawin ay piliin sa Mga Katangian ang pagpipilian na nagsasabing "sa pag-update" na CURRENT_TIMESTAMP, at bilang default na halaga na CURRENT_TIMESTAMP. Ang patlang na ang halaga ay maaaring awtomatikong nai-update kapag naglalagay o nagbabago ng isang talaan.

YEAR

Sa kaganapan na kailangan nating makita ang pangangailangan na tukuyin ang isang patlang bilang TAON, maaari kaming mag-imbak ng isang taon, kapwa gumagamit ng dalawa, pati na rin ang apat na digit. Sa kaso na ginagawa namin ito sa dalawang digit, mula 70 hanggang 99 (pagkakaroon mula 70 hanggang 99 ay mauunawaan natin na tumutugma ito sa saklaw ng mga taon mula 1970 hanggang 1999, at kung mayroon tayong mga digit mula 00 hanggang 69 pagkatapos ay maaari nating maunawaan na tumutukoy sa mga taon 2000 hanggang 2069), sa naturang kaso ng pagbibigay ng apat na digit pagkatapos ay mahahanap namin na ang maaaring saklaw ay mapalawak, pagkatapos ay magmula sa 1901 hanggang 2155.

Mayroon din kaming sobrang posibilidad, bagaman hindi nauugnay sa mga uri ng data sa MySQL, ngunit nauugnay sa mga petsa at oras. Ang labis na posibilidad na ito ay upang makabuo ng isang halaga ng timestamp sa pagpapaandar ng oras ng PHP (muli nais naming linawin na hindi na namin pinag-uusapan ang tungkol sa MYSQL, kahit na wasto na malito dahil sa pagkakaroon ng halos magkatulad na mga pangalan).

Gayunpaman, maiimbak namin ang halagang iyon sa isang 10-digit na patlang INT, sa ganitong paraan, magiging napaka-simple upang mag-order ng mga halaga ng aming larangan (maaari naming ilagay ang petsa ng isang item ng balita bilang isang halimbawa) at pagkatapos ay maaaring ipakita ang petsang iyon sa pamamagitan ng pagbabago ng halaga ng timestamp na iyon sa isang bagay na maaari nating mabasa na gamit ang mga function ng paghawak ng petsa ng PHP.

petsa-oras-1

Inaasahan kong sa artikulong ito sa mga uri ng data sa MySQL, nagawa naming gawing malinaw ang lahat ng nais naming ipaliwanag at natutunan mong lumikha ng isang database at isang talahanayan ayon sa lahat ng aming impormasyon, tinutukoy ang kanilang mga patlang na may ganap na katumpakan gamit ang ang mga ito bilang mga uri ng data at mga katangian, samakatuwid, nasa kapasidad, o sa mga kundisyon, upang simulang maayos ang pag-program, ngayon na may malinaw na ideya ng eksaktong format na kakailanganin namin, na umaangkop sa aming pangangailangan alinsunod sa kung ano ang kailangang mag programa.

Inaanyayahan ka naming tangkilikin ang isa pa sa aming mga artikulo na nauugnay sa programa: Polymorphism sa object-oriented na programa.


Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Actualidad Blog
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.