Работа с SQL

Создание таблицы:
CREATE TABLE book(
    book_id INT PRIMARY KEY AUTO_INCREMENT,
    title VARCHAR(50),
    author VARCHAR(30),
    price DECIMAL(8, 2),
    amount INT);

Добавление записей:
INSERT INTO таблица(поле1, поле2) 
VALUES (значение1, значение2);

Выборка данных, вычисляемые столбцы, логические функции
SELECT title, amount, price, 
    IF(amount<4, price*0.5, price*0.7) AS sale
FROM book;


Оператор  IN  позволяет выбрать данные, соответствующие значениям из списка.
Пример
Выбрать названия и цены книг, написанных Булгаковым или Достоевским.
Запрос:
SELECT title, price 
FROM book
WHERE author IN ('Булгаков М.А.', 'Достоевский Ф.М.');

Выборка данных, оператор LIKE

 "_%" - сначала идет символ, а за ним любое количество символов;
"%_" - сначала идет любое количество символов, а затем обязательный символ;
"%_%" - сначала идет любое количество символов, потом обязательный символ, а за ним любое количество символов.

Вложенный запрос, оператор IN
SELECT title, author, amount, price
FROM book
WHERE author IN (
        SELECT author 
        FROM book 
        GROUP BY author 
        HAVING SUM(amount) >= 12
      );

Для вычитания двух дат используется функция DATEDIFF(дата_1, дата_2), результатом которой является количество дней между дата_1 и дата_2. Например,
DATEDIFF('2020-04-01', '2020-03-28')=4
DATEDIFF(date_last, date_first)
SELECT name, city, DATEDIFF(date_last, date_first-1) AS  Длительность FROM trip WHERE city<>'Москва' AND city<>'Санкт-Петербург' ORDER BY Длительность DESC;

TRUNCATE TABLE удаляет данные с таблицы
Ограничения:
Если на таблицу ссылается ограничение FOREIGN KEY, то TRUNCATE TABLE использовать нельзя; 
Если таблица является частью индексированного представления, то TRUNCATE TABLE также нельзя использовать; 
Если таблица опубликована с использованием репликации транзакций или репликации слиянием, то инструкцию TRUNCATE TABLE использовать нельзя.
TRUNCATE TABLE название_таблицы RESTART IDENTITY (удаление данных со сбросом счетчика)

Комментариев нет:

Отправить комментарий

Печать определенного фрагмента

 <!DOCTYPE html> <html> <head>     <title>Печать определенного фрагмента</title>     <style>         /* ...