|2. CREATE TABLE & Data Types
Chapter 2SQL Tutorial~1 min read

CREATE TABLE & Data Types

Table बनवणे — Structure Define करणे

Table बनवायला CREATE TABLE statement वापरतात. प्रत्येक column ला name आणि data type द्यायला लागतो. Constraints (NOT NULL, UNIQUE, PRIMARY KEY) data integrity ensure करतात.

Common Data Types

  • INT / BIGINT — whole numbers (age, marks, count)
  • DECIMAL(p,s) / FLOAT — decimal numbers (price = DECIMAL(10,2))
  • VARCHAR(n) — variable-length string, max n chars
  • CHAR(n) — fixed-length string (phone numbers, codes)
  • TEXT — long text (descriptions, content)
  • DATE — YYYY-MM-DD (2024-01-15)
  • DATETIME / TIMESTAMP — date + time
  • BOOLEAN / TINYINT(1) — true/false

CREATE TABLE with constraints

sql
CREATE DATABASE school;
USE school;

-- Students table
CREATE TABLE students (
    id         INT PRIMARY KEY AUTO_INCREMENT,  -- unique, auto-increment
    name       VARCHAR(100) NOT NULL,           -- NULL नाही चालत
    email      VARCHAR(150) UNIQUE,             -- duplicate नाही
    city       VARCHAR(50)  DEFAULT 'Pune',     -- default value
    marks      INT          CHECK (marks >= 0 AND marks <= 100),
    dob        DATE,
    created_at TIMESTAMP    DEFAULT CURRENT_TIMESTAMP
);

-- Courses table
CREATE TABLE courses (
    id         INT PRIMARY KEY AUTO_INCREMENT,
    title      VARCHAR(200) NOT NULL,
    duration   INT          NOT NULL,   -- in hours
    fee        DECIMAL(8,2) DEFAULT 0.00
);

INSERT INTO — Data Add करणे

Single and multiple row insert

sql
-- Single row insert
INSERT INTO students (name, email, city, marks)
VALUES ('Rahul Patil', 'rahul@gmail.com', 'Pune', 85);

-- Multiple rows एकाच वेळी
INSERT INTO students (name, email, city, marks)
VALUES
    ('Priya Desai',  'priya@gmail.com',  'Mumbai', 92),
    ('Amit Shinde',  'amit@gmail.com',   'Nagpur', 78),
    ('Sneha Kulkarni','sneha@gmail.com', 'Pune',   88),
    ('Ravi Jadhav',  'ravi@gmail.com',   'Nashik', 45),
    ('Kavita More',  NULL,               'Mumbai', 35);

-- Columns skip केले (default/NULL येतो)
INSERT INTO students (name, marks)
VALUES ('Test User', 70);

ALTER TABLE — Structure बदलणे

ALTER TABLE examples

sql
-- नवा column add करणे
ALTER TABLE students ADD phone VARCHAR(15);

-- Column modify करणे
ALTER TABLE students MODIFY COLUMN city VARCHAR(100);

-- Column rename करणे (MySQL 8+)
ALTER TABLE students RENAME COLUMN phone TO mobile;

-- Column delete करणे
ALTER TABLE students DROP COLUMN mobile;

-- Table rename करणे
RENAME TABLE students TO learners;
RENAME TABLE learners TO students;  -- back

Key Points — लक्षात ठेवा

  • PRIMARY KEY — unique row identifier, NOT NULL + UNIQUE
  • AUTO_INCREMENT — automatically 1,2,3... generate
  • NOT NULL — empty value नाही चालत
  • UNIQUE — duplicate values नाही
  • DEFAULT value — column blank असेल तर हे येते
  • CHECK (condition) — value valid आहे का validate
0/10 chapters पूर्ण