SQL datatypes: int, float, double, char, varchar, number, varchar2, text, date

SQL table નો દરેક column એક data type declare કરવો જરૂરી છે જે નક્કી કરે કે એ શું રાખી શકે, whole numbers માટે INT, decimals માટે FLOAT/DOUBLE અને NUMBER, fixed-length text માટે CHAR, variable text માટે VARCHAR, અને dates માટે DATE.

10 min read · 10 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

Table બનાવવી, ખરેખર

Meera એ Unit 3 માં એની tables કાગળ પર design કરી. હવે એ એક અસલી database માં એક બનાવે છે, અને દરેક column માટે સૌથી પહેલો નિર્ણય છે: અહીં કયા પ્રકારની value જાય છે?

Item names text છે. Prices પૈસાવાળા numbers છે. Quantities whole numbers છે. Dates dates છે. SQL તમારી પાસે આ પહેલેથી declare કરાવે છે, અને ખોટું પસંદ કરવું જગ્યા બગાડે છે કે data બગાડે છે.

જો આ ઓળખીતું લાગે, તો લાગવું જોઈએ: આ બરાબર BCA104 C વાળો data types નો idea છે, હવે database columns માટે. અહીં દુકાનનું sales table છે જે તમે આખો unit વાપરશો.

Theory

રસોડામાં content થી labelled ડબ્બા

Meera ના રસોડામાં content થી labelled ડબ્બા છે: ખાંડ નો એક જાર, તેલ ની એક બોટલ, મસાલા ના ડબ્બાની એક rack. તમે તેલ મસાલા ની rack માં ન રેડો. એક data type એ એક column પર એ જ label છે: 'આ column whole numbers રાખે છે', 'આ વાળો 30 characters સુધી text રાખે છે'. label ખાતરી કરે છે કે ફક્ત સાચા પ્રકારની વસ્તુ અંદર જાય, અને database એને કાર્યક્ષમ રીતે store કરી શકે.

At a glance

સામાન્ય SQL data types

Typeરાખે છેનોંધ
INT / INTEGERWhole numbersqty, ids
FLOAT / DOUBLE / NUMBERDecimalsપૈસા માટે NUMBER(6,2)
CHAR(n)FIXED-length textPadded; fixed codes
VARCHAR / VARCHAR2(n)VARIABLE-length textસામાન્ય પસંદ
DATEDates (ક્યારેક + time)sale_date

Practical

The sales table you will use all unit

-- Our running example: Meera's sales table
-- id | item  | category | price | qty
--  1 | Sugar | Grocery  |   45  | 20
--  2 | Tea   | Beverage |  120  | 15
--  3 | Rice  | Grocery  |   60  | 30
--  4 | Soap  | Personal |   35  | 25
--  5 | Milk  | Dairy    |   30  | 40

-- Its column types:
-- id       INT
-- item     VARCHAR(30)
-- category VARCHAR(20)
-- price    INT
-- qty      INT

Theory

CHAR વિરુદ્ધ VARCHAR: મુખ્ય જોડી

સૌથી વધુ પૂછાતો ભેદ છે CHAR વિરુદ્ધ VARCHAR:

  • CHAR(n) fixed length છે: CHAR(10) હંમેશા 10 characters વાપરે છે, નાની values ને spaces થી pad કરતા. એ values માટે સારું જે હંમેશા એક જ length ની હોય (એક state code 'GJ', એક fixed PIN). નહીંતર જગ્યા બગાડે છે.
  • VARCHAR(n) variable length છે: VARCHAR(30) સુધી 30 અનામત રાખે છે પણ ફક્ત એ store કરે છે જે તમે નાખો છો. 'Tea' 3 લે છે, 30 નહીં. names અને free text માટે સામાન્ય પસંદ.

Fixed વિરુદ્ધ variable: આખું ભરવું વિરુદ્ધ જેટલું જોઈએ એટલું store કરવું.

Quiz

Meera item names store કરે છે જેમ કે 'Tea', 'Sugar', 'Toothpaste' (ખૂબ અલગ lengths). કયો type વધુ સારી પસંદ છે?

  1. VARCHAR, એ દરેક name ની ફક્ત અસલી length store કરે છે
  2. CHAR, એ દરેક name ને પૂરી length સુધી pad કરે છે
  3. INT, names numbers તરીકે store થાય છે
  4. DATE, કારણ કે items સમય સાથે બદલાય છે
Show the answer

VARCHAR, એ દરેક name ની ફક્ત અસલી length store કરે છે

Item names ની length અલગ-અલગ હોય છે, તો VARCHAR દરેક ને એના અસલી કદ પર store કરે છે ('Tea' = 3 chars), જગ્યા બચાવતા. CHAR દરેક name ને fixed પહોળાઈ સુધી pad કરત, નાના names માટે જગ્યા બગાડતા. CHAR ફક્ત ત્યારે જીતે છે જ્યારે values હંમેશા એક જ length ની હોય (fixed codes). આ CHAR-વિરુદ્ધ-VARCHAR તર્ક એક પાક્કો exam સવાલ છે.

Think first

Price column નો type ધ્યાનથી કેમ?

Meera આપણા ઉદાહરણમાં prices INT તરીકે store કરે છે, પણ ઘણી prices માં પૈસા હોય છે (45.50). જો એ INT રાખે, તો 45.50 નું શું થાય? એક money column ને ખરેખર કયો type વાપરવો જોઈએ?

Show the answer

INT decimal ને truncate કરે છે, 45.50, 45 તરીકે store થશે, પૈસા ખોતા (બરાબર BCA104 વાળું int-truncation). પૈસા માટે, એક decimal type વાપરો: NUMBER(6,2) (Oracle) કે DECIMAL(6,2) (MySQL), એટલે 6 digits સુધી જેમાં 2 point પછી. (આપણું running table આખા-રૂપિયા prices વાપરે છે જેથી ગણિત સાફ રહે, પણ અસલી money columns ને decimals જોઈએ.) અસલી data સાથે મેળ ખાતો type પસંદ કરવો એ જ આખું કૌશલ્ય છે.

Watch out

Marks ક્યાં કપાય છે

CHAR (fixed, padded) અને VARCHAR (variable, efficient) ને અદલાબદલી કરવા, એ ક્લાસિક જોડી. પૈસા માટે INT વાપરવું (પૈસા truncate કરે છે), NUMBER/DECIMAL વાપરો. એ ભૂલવું કે VARCHAR2, VARCHAR નું Oracle નામ છે. અને dates ને DATE ના બદલે text તરીકે store કરવી (date ગણિત ખોવે છે, Unit 2 વાળી serial-number યુક્તિ). type ને data સાથે મેળવો, અને CHAR-વિરુદ્ધ-VARCHAR ભેદ ને ચોક્કસ નામ આપો.

Theory

એક idea, ત્રણ subjects

Data types હવે તમારા ત્રીજા subject માં આવે છે: C variables (BCA104), Excel number formats (Unit 1), અને SQL columns. પાઠ સાર્વત્રિક છે: computers ને ખબર હોવી જોઈએ કે એ કયા પ્રકારની value રાખે છે. Meera નું sales table હવે બનાવવા અને ભરવા તૈયાર છે, જે બરાબર આગળનો lesson છે: CREATE, INSERT, અને આખો DDL/DML/DQL command પરિવાર. તમે તમારું પહેલું SQL લખવાના છો.

Summary

Key takeaways

  • દરેક SQL column એક data type declare કરે છે જે નક્કી કરે છે કે એ શું રાખી શકે.
  • Whole numbers માટે INT; decimals માટે FLOAT/DOUBLE/NUMBER(p,s) (પૈસા ને decimals જોઈએ).
  • CHAR(n) FIXED length છે (padded); VARCHAR/VARCHAR2(n) VARIABLE length છે (efficient, સામાન્ય પસંદ).
  • DATE dates store કરે છે; dates ને text તરીકે store કરવી date ગણિત ખોવે છે.
  • સાચો type પસંદ કરવો જગ્યાની બરબાદી અને ખોવાયેલો data રોકે છે (INT પૈસા truncate કરે છે).
  • યાદ રાખવાની યુક્તિ: labelled ડબ્બા, CHAR આખું pad કરે છે, VARCHAR જેટલું રેડો એટલું store કરે છે.

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Concepts of SQL and Queries (Single Table only)

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

SQL datatypes: int, float, double, char, varchar, number, varchar2, text, date · Data Processing and Analysis (DPA) · Gri-Learn