В чому різниця між TIMESTAMP i DATETIME? Між FLOAT i DECIMAL? Між CHAR i VARCHAR
DECIMAL - тип з фіксованою точністю. на відміну від FLOAT/DOUBLE, які наближені і можуть втрачати знаки після коми, DECIMAL зберігає задане число знаків. використовується наприклад, для зберігання суми грошей.
NULL і тризначна логіка (в бд NULL значить «невідомо». наприклад, вік користувача невідомий. відповідно, всі операції з NULL це враховують: NULL + 5 теж дає в підсумку NULL (5 + невідоме число дає невідоме число), порівняння (NULL = NULL) повертає брехня, щоб перевірити чи рівне поле NULL треба використовувати is NULL / IS NOT NULL.
чи можна шукати порожні поля умовою WHERE x = NULL?
при створенні таблиці можна зробити поля обов'язковими для заповнення, вказавши NOT NULL
вирази
SELECT
INSERT
DELETE
UPDATE
порядок виконання запиту вибірки:
FROM+JOIN
WHERE
GROUP
HAVING
ORDER
LIMIT
SELECT
(його потрібно знати на память)
вирази
REPLACE
INSERT IGNORE
INSERT .. ON DUPLICATE KEY UPDATE
вибірка даних:
DISTINCT
JOIN
ORDER BY
GROUP BY
HAVING
LIMIT
угруповання і агрегатні функції:
GROUP BY
COUNT
MAX
MIN
AVG
SUM
транзакції
BEGIN
ROLLBACK
COMMIT
зовнішні клчі
FOREIGN KEY
зовнішній ключ - це поле, яке зберігає id записи в іншій таблиці