Adatbázis

Adatbázis létrehozása

CREATE DATABASE IF NOT EXISTS my_database
CHARACTER SET utf8
COLLATE utf8_hungarian_ci;
USE my_database;

Tábla létrehozása

CREATE TABLE IF NOT EXISTS versenyzo (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nev VARCHAR(50) NOT NULL,
    csapat VARCHAR(50) NOT NULL,
    nemzetiseg VARCHAR(100) NOT NULL,
    versenyszam INT NOT NULL,
    gyozelmek INT DEFAULT 0,
    bajnoki_cimek INT DEFAULT 0,
    szuletesi_ev INT NOT NULL,
    pontszam INT DEFAULT 0
);

Tábla módosítása

ALTER TABLE table_name ADD column_name datatype;
ALTER TABLE table_name DROP COLUMN column_name;
ALTER TABLE table_name MODIFY COLUMN column_name datatype;

Nézettábla létrehozása

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE mezoertek = ?;

PRIMARY KEY, FOREIGN KEY

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

SQL Lekérdezés Lépések

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
LIMIT

INSERT INTO

INSERT INTO versenyzo (...)
VALUES (...);

UPDATE

UPDATE versenyzo
SET nev = ?
WHERE id = ?;

DELETE

DELETE FROM versenyzo
WHERE id = ?;

INNER JOIN

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

Aggregáló függvények

MIN(), MAX(), COUNT(), SUM(), AVG()

LIKE és szűrés

SELECT * FROM tanarok WHERE keresztnev LIKE '%a%';
SELECT * FROM orszagok WHERE fovaros LIKE '_udapest';
SELECT * FROM diakok WHERE nev LIKE '[sfz]%';
SELECT * FROM autok WHERE marka LIKE '[a-d]%';

Adattípusok

VARCHAR, TEXT
INT, DECIMAL, FLOAT, DOUBLE
BOOLEAN
DATE, DATETIME, TIMESTAMP, TIME, YEAR