Abstract¶
Решил попробовать создать персональный CheatSeet. Пока не нравится. Либо пойму как переделать, либо удалю.
BETWEEN¶
оператор диапазона; сначала нижняя граница, затем верхняя 98
SELECT customer_id, rental_date
FROM rental
WHERE rental_date BETWEEN '2005-06-14' AND '2005-06-16';SELECT rental_id, customer_id, return_date
FROM rental
WHERE return_date NOT BETWEEN '2005-05-01' AND '2005-09-01';COUNT(*)¶
Возвращает количество записей таблицы 84
SELECT c.first_name, c.last_name, count(*)
FROM customer c
INNER JOIN rental r
ON c.customer_id = r.customer_id
GROUP BY c.first_name, c.last_name
HAVING count(*) >= 40;CREATE TABLE¶
Создание таблицы 52
CREATE TABLE person(
person_id INT PRIMARY KEY AUTO_INCREMENT,
fname VARCHAR(20),
lname VARCHAR(20),
-- ...
postal_code VARCHAR(20)
);CREATE TEMPORARY TABLE¶
Создание временной таблицы 77
CREATE TEMPORARY TABLE actors_J (
actor_id smallint(5),
first_name varchar(45),
last_name varchar(45)
);
INSERT INTO actors_j
SELECT actor_id, first_name, last_name
FROM actor
WHERE last_name LIKE 'J%';CREATE VIEW¶
Создание представления (виртуальной таблицы) 78
CREATE VIEW cust_vw AS
SELECT customer_id, first_name, last_name, active
FROM customer;DATE¶
79
SELECT c.first_name, c.last_name,
time(r.rental_date) rental_time
FROM customer c
INNER JOIN rental r
ON c.customer_id = r.customer_id
WHERE date(r.rental_date) = '2005-06-14';DESC¶
команда (describe) посмотреть столбцы и определение таблицы 53
DESC person;ключевое слово для сортировки по убыванию 87
ORDER BY last_name descDISTINCT¶
ключевое слово исключить из вывода дубликаты (оставить уникальные) 74
SELECT DISTINCT actor_id
FROM film_actor
ORDER BY actor_id;IN¶
оператор членства 102, 369
WHERE last_name IN ('WILLIAMS', 'DAVIS');WHERE rating NOT IN ('PG-13', 'R', 'NC-17');INSERT INTO¶
инструкция добавить данные 57
INSERT INTO person
(person_id, fname, lname, eye_color, birth_date)
VALUES (null, 'William', 'Turner', 'BR', '1972-05-27');IS NULL¶
оператор проверить является ли выражение null 108
SELECT rental_id, customer_id
FROM rental
WHERE return_date IS NULL;SELECT rental_id, customer_id, return_date
FROM rental
WHERE return_date IS NOT NULL;LEFT()¶
встроенная функция для выделения слева 104
SELECT last_name, first_name
FROM customer
WHERE left(last_name, 1) = 'Q';
-- выделение первой буквы столбца last_nameREGEXP¶
оператор принимает регулярное выражение 106
SELECT last_name, first_name
FROM customer
WHERE last_name REGEXP '^[QY]';TIME¶
79
SELECT c.first_name, c.last_name,
time(r.rental_date) rental_time
FROM customer c
INNER JOIN rental r
ON c.customer_id = r.customer_id
WHERE date(r.rental_date) = '2005-06-14';UPDATE¶
инструкция изменение (дополнение) данных 61
UPDATE person
SET street = '1225 Tremont St.',
city = 'Boston',
state = 'MA',
country = 'USA',
postal_code = '02138'
WHERE person_id = 1;ПОДСТАНОВОЧНЫЕ СИМВОЛЫ¶
| Подстановочный символ | Соответствие |
| --------------------- | ------------------------------------ |
| _ | В точности один символ |
| % | Любое количество символов, включая 0 |
# Примеры выражений поиска
| Выражение поиска | Интерпретация |
| ---------------- | ----------------------------------------------------- |
| F% | Строка, начинающаяся с F |
| %f | Строка, заканчивающаяся f |
| %bas% | Строка, содержащая подстроку `bas` |
| __t_ | Строка из 4 символов с t в третьей позиции |
| ___-__-____ | Строка из 11 символов с дефисами в 4-й и 7-й позициях |