Шпаргалка SQL

SELECT колонки - список полів які треба вибрати      
DISTINCT колонки - прибирає рядки-дублікати   
IF (умова, справжня, хибне)   
IFNULL (вираз1, вираз2) - Якщо вираз1 не дорівнює NULL, тоді функція поверне вираз1. Якщо ж вираз1 IS NULL, то функція поверне вираз2   
NULLIF (вираз1, вираз2) - якщо вираз1 дорівнює вираз2, то функція повертає NULL; якщо вирази не рівні, то повертає вираз1  
CASE колонки WHEN значення1 THEN результат1 [WHEN значення2 THEN результат2] ... [ELSE результатN] END 
CASE WHEN умова1 THEN результат1 [WHEN умова2 THEN result2] ... [ELSE результатN] END
FROM таблиця - з якої таблиці робити виборку      
WHERE умова - перераховуємо умови по яким робити виборку  розділивши їх AND (i) та OR (або)    
колонки BETWEEN нижня_межа AND верхня_межа - умова вибору значення в діапазоні      
колонки IN (значення1, значення2, … значенняN) - умова, чи міститься змінна у зазначеному списку      
колонки IS NULL - колонка дорівнює NULL   
колонки IS NOT NULL - колонка не дорівнює NULL   
колонки LIKE 'шаблон' - умова, використовується для порівняння рядків ( _ означає будь-який символ, завжди 1 шт) (% будь-який символ та будь-яку кількість разів (включно з 0 разів))      
GROUP BY колонки - групоємо результат      
HAVING умова -  встановити фільтр, який застосовується до записів вже після групування (можна використовувати лише якщо у запиті є GROUP BY)    
ORDER BY колонка1 порядок1, колонкаN порядокN - проводимо сортування виборки (ASC(від Ascending)|DESC(від Descending))      
LIMIT кількість - обмеження кількість рядків в результаті запиту     
OFFSET кількість - пропустити N рядків

 

Функції з'єднання з сервером MySQL

mysql_connect("localhost","root","") - Відкриває з'єднання із сервером MySQL. Повертає покажчик на з'єднання з MySQL у разі успішного виконання або FALSE при невдачі.

mysql_pconnect("localhost","root","") - Встановлює постійне з'єднання з сервером MySQL. Повертає покажчик на постійне з'єднання з MySQL або FALSE у разі помилки.

mysql_close - Закриває з'єднання із сервером MySQL. Повертає TRUE у разі успішного завершення або FALSE у разі виникнення помилки.

Функція вибору бази даних

mysql_select_db("nak",$db) - Вибирає базу даних MySQL. Повертає TRUE у разі успішного завершення або FALSE у разі виникнення помилки.

Функції обробки помилок

mysql_errno() - Повертає чисельний код помилки виконання останньої операції з MySQL. Повертає код помилки останньої функції роботи з MySQL, або 0 (нуль) якщо операцію виконано успішно.

mysql_error() - Повертає рядок помилки останньої операції з MySQL. Повертає рядок, що містить текст помилки виконання останньої функції MySQL, або "" (порожній рядок), якщо операція виконана успішно.

Приклад

$db = mysql_connect ("localhost","root","")or die( "ERROR ".mysql_errno() . mysql_error());
mysql_select_db("nak",$db);

Функції виконання запитів до сервера баз даних

mysql_real_escape_string() - Функція екранує кавички у запиті до БД

mysql_query() -- Надсилає запит MySQL. Тільки для запитів SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() повертає покажчик на результат запиту, або FALSE якщо запит не було виконано. В інших випадках (INSERT, UPDATE, DELETE, DROP і т.п.), mysql_query() повертає TRUE у разі успішного запиту та FALSE у разі помилки.

CREATE - створіть базу або таблицю, виду, поля.      
CREATE DATABASE `db_test` - створення бази даних.

ALTER - оновлення таблиці, виду, поля

CREATE TABLE `download_cats` (
	`cat_id` bigint(20) NOT NULL auto_increment,
	`cat_name` varchar(50) NOT NULL,
	PRIMARY KEY (`cat_id`)
) ENGINE=MyISAM 
AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

DROP - видалення бази або таблиці

DROP DATABASE `db_test` - видалення бази даних.

INSERT - ці запити дозволяють вставити запис у таблицю БД. Тобто створити рядок у таблиці або додати інформацію до таблиці БД.

INSERT INTO name_tad (name_pole) VALUES ("$new_kabinet")

DELETE - видаляє значення з таблиці

DELETE FROM table_name WHERE id = "3"

UPDATE - спрямовані зміну вже наявних даних у таблиці БД.

UPDATE table_name SET site = "domain.com" WHERE id = "3"; - Змінює значення поля site на domain.com у таблиці table_name, де id дорівнює 3.

SELECT – слово SELECT, говорить саме за себе, і стає зрозуміло, що користуючись даними запитами, ми вибиратимемо (читати) інформацію з БД.

SELECT * FROM grups WHERE id="$id";

Дополительние команды

count(*) - виведе кількість усіх записів у таблиці

SELECT count(*) FROM table_name;

LIMIT - ставить обмеження на кількість записів, що виводяться

SELECT * FROM table_name LIMIT 2,3; - Вибирає 3 записи із таблиці, починаючи з 2 записи. Цей запит корисний під час створення блоку сторінок навігації.

ORDER BY - сортує дані по одному полю в порядку зростання ASC або вбивання DESC

SELECT * FROM person ORDER BY number;

GROUP BY - групує дані щодо вказаного поля

SELECT * FROM person GROUP BY number;

WHERE - встановлює умову

SELECT * FROM person WHERE name="Anna";

LIKE - фільтрує вибір даних по масці (% – будь-яка кількість символів)

SELECT * FROM person WHERE name LIKE "An%"; - Вибирає всі записи з таблиці person, де значення поля name починаються з An.

DISTINCT - Вибирає унікальні (DISTINCT) значення.

SELECT DISTINCT site FROM table_name;

IN() - Виведе всі записи таблиці, які перераховані в дужках

SELECT * FROM person WHERE age IN (12,15,18); - Виведе всі записи таблиці personв яких значення поля age дорівнюватиме 12 або 15 або 18.

MAX() - виводить максимальне значення поля.

SELECT MAX(age) FROM person; - Вибере максимальне значення age із таблиці person.

MIN() - виводить мінімальне значення поля.

SELECT MIN(age) FROM person;

BETWEEN - Визначає діапазон для перевірки. http://msdn.microsoft.com/ru-ru/library/ms187922.aspx

UNION - Об'єднує декілька запитів

LEFT JOIN - Підзапити

LOWER() - перетворює на нижній регістр значення стовпця під час пошуку

SELECT `id` FROM `list_codes` WHERE LOWER(`code`) = "{$paycode}"

HAVING - застосовується для фільтрації функцій та стовпців згрупованих за допомогою GROUP BY вказаних у SELECT.

SELECT COUNT(*) AS repetitions, last_name, first_name
FROM cat_mailing
GROUP BY last_name, first_name
HAVING repetitions > 1;

SHOW PROCESSLIST - відображає, які запити обробляє сервер MySQL в даний момент.

show processlist;

Вимкнення та увімкнення зовнішніх ключів

SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
...
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

Замінити частину рядка

UPDATE `promocodes`
SET `promocode` = REPLACE(`promocode`, "PBMOYO00", "MOYO2308")
WHERE
	`promo_codes_assignment_id` = 1;

Копіювання структури та ключі деякої таблиці, без копіювання даних

CREATE TABLE NEW_TableName
LIKE OLD_TableName;

Копируе всю таблицу вместе с данными

CREATE TABLE NEW_TableName
SELECT *
FROM OLD_TableName
або 
CREATE TABLE NEW_TableName
LIKE OLD_TableName;
INSERT INTO NEW_TableName
SELECT *
FROM OLD_TableName;

Очистити таблицю

TRUNCATE TABLE my_users;

Функции обработки результатов запроса

mysql_result() - отримати необхідний елемент із набору записів;

mysql_fetch_array() - внести запис до масиву;

mysql_fetch_row() - внести запис до масиву;;

mysql_fetch_assoc() - внести запис до асоціативного масиву;

mysql_fetch_object() - внести запис до об'єкту.

2015-2026 © SumyNikNet