SQL Правила
| Информационни технологии | 2009-12-04 | 221 сваляния |
SQL ПРАВИЛА
1. В Windows няма разлика между големи и малки букви.
2. Може да бъдат записани повече от една заявка и след това да бъдат изпълнени заедно.
3. Множество SQL заявки могат да бъдат обединени в един скрипт и след това да бъдат изпълнени. Скриптът е текстови файл записан с разширение sql.
4. Скрипта се изпълнява, като се напише думата source, последвана от интервал и пълния път до файла със скрипта.
5. Едноредовите коментари се означават с # или --.
6. Многоредовите коментари започват с /* и завършват с */.
7. Заявката за нова таблица трябва да бъде последвана от скоби в които се определя името и типа данни, които ще съдържа. Всяка колона се отделя от следващата със запетая.
Например: следния скрипт:
# Ще бъде използвана база данни db1
USE db1;
# Създаване на таблица с име USERS с три колони
CREATE TABLE IF Not EXISTS users
(
id INT, #en-US">ind
ime VARCHAR (20), # тук типът е varchar за низ
familia VARCHAR (20), # с дължина () в случая 20 символа
);
# Преглед на таблиците в db1
SHOW TABLES;
# Преглед на формата на users
EXPLAIN users;
8. Таблиците се изтриват всяка с отделна заявка или с една заявка, като имената на таблиците се отделят със запетая. Внимание!!! Изтриват се безвъзвратно!
Всяка функция е ключова дума, която прилага точно определена предварително зададена операция върху част от данни. Тази част се поставя в кръгли скоби след ключовата дума. Данните могат да включват както единичен елемент, така и списък от няколко, отделени помежду си със запетая, в зависимост от естеството на функцията. Елементите се наричат аргументи на функцията.
| КОМАНДА | ДЕЙСТВИЕ | ||||
| SHOW DATABASES; | Извежда имената на всички съществуващи бази данни на системата | ||||
| CREATE DATABASE име; Например: create database filmi; | Създава изцяло нова база данни Създава се база данни с име филми (filmi) | ||||
| CREATE DATABASE IF NOT EXISTS име; | Проверява дали вече съществува база данни с такова име | ||||
| DROP DATABASE име; Например: drop database filmi; | Изтрива съществуваща база данни Изтрива база данни с име филми (filmi) | ||||
| USE име; USE DATABASE; | Селектира работна база данни | ||||
| SHOW TABLES; | Показва имената на всички таблици в б. д. | ||||
| EXPLAIN име на таблицата; | Показва формата на таблицата и се визират спецификациите на колоните и | ||||
| CREATE TABLE име на таблицата; | Създава таблица в базата данни | ||||
| CREATE TABLE IF NOT EXISTS име на таблицата; | Проверява дали вече съществува таблица такова име | ||||
| DROP TABLE име на таблицата; | Изтрива таблицата | ||||
| DROP TABLE IF EXISTS име на таблицата; | Проверява дали има таблица с такова име | ||||
| стр.44 стр.46 | SQL в лесни стъпки | | |||
| ALTER TABLE име на таблицата; | Прави промени в таблицата | ||||
| ADD KOLUMN име тип данни модификатори; | Добавя колона в таблицата | ||||
| ADD PRIMARY KEY име на колоната; | Добавя първичен ключ | ||||
| CHANGE старо-име ново-име тип-данни модификатори; | Променя името на съществуваща колона, като се задават нови: тип на данните и модификатори; | ||||
| DROP COLUMN име на колона; | Изтрива безвъзвратно колона | ||||
| INSERT INFO име на таблицата; | Специфицира името на таблицата | ||||
| VALUES (данни, данни, данни и т.н.) | Въвежда данните разделени със запетая в списък ограден със скоби | ||||
| SELECT * FROM име на таблицата; | Извежда данни от таблица | ||||
| INSERT INFO име на таблицата (колона, колона) VALUES (стойност, стойност); | Вмъква стойности в избраните колони в реда в който са посочени колоните | ||||
| INSERT INFO таблица-цел (колона, колона) SELECT * FROM таблица източник; | Вмъква данни от друга таблица | ||||
| UPDATE име-на-таблица SET име-на-колона = стойност; | Променя данните в една колона в таблицата на реда на който стойността съвпада с показана стойност в WHERE | ||||
| DELETE FROM име на таблицата; | Изтрива всички редове от таблицата | ||||
| DELETE FROM име на таблицата WHERE колона = стойност; | Изтрива точно определен ред | ||||
| SELECT име на колона FROM име на таблица; | Изтрива данните само на конкретна колона | ||||
| SELECT * FROM име на таблицата; SELECT име на колона FROM име на таблица; | Това е синтаксиса за извличане на данни от колона | ||||
| SELECT колона, колона FROM име на таблица; | Извличане на данни от няколко колони | ||||
| SELECT * FROM име на таблицата WHERE колона = стойност; | Извлича ред от таблицата, по стойността на реда в колоната (добре е тази колона да е първичния ключ, защото няма дублиране на стойности) | ||||
| CREATE TABLE IF NOT EXISTS име на таблица2 SELECT * FROM име на таблица1 WHERE колона = стойност; | Създава таблица 2, като копира посочените колона = стойност данни на всички редове от таблица 1 с тези стойности в тази колона | ||||
| INSERT INFO таблица 2 (колона, колона) SELECT колона, колона FROM таблица 1 WHERE колона = стойност; | Копиране и вмъкване на данни от таблица 1 в таблица 2 | ||||
| SELECT * FROM таблица ORDER BY колона; | Сортира данните по стойността им в колона | ||||
| SELECT * FROM таблица ORDER BY колона 1, колона 2; | Сортира данните по стойността в колона 1 и след това по стойностите в колона 2 | ||||
| SELECT колона, колона FROM таблица ORDER BY номер на колона; | Сортира данните по позицията на колоната | ||||
| SELECT * FROM таблица ORDER BY колона ASC; | Сортира данните във възходящ ред | ||||
| SELECT * FROM таблица ORDER BY колона DESC; | Сортира данните във низходящ ред | ||||
| ОПЕРАТОР = ! = <</B> <</B> = > > = BETWEEN min AND max IS NULL IS NOT NULL | ОПИСАНИЕ Равенство Неравенство По-малко от По-малко или равно на По-голямо от По-голямо или равно на В обхвата от минимум до максимум Равно на NULL Различно от NULL | ||||
| SELECT * FROM таблица WHERE колона оператор стойност; | Сравняване на единична стойност | ||||
| SELECT * FROM таблица WHERE колона оператор стойност AND колона оператор стойност; | Сравняване на повече от една стойност (AND - и) | ||||
| SELECT данни FROM таблица WHERE колона оператор стойност OR колона оператор стойност; | Сравняване на алтернативни стойности (OR - или) | ||||
| SELECT данни FROM таблица WHERE колона IN (стойност, стойност, стойност) | Сравняване на алтернативни списъци, когато данните от колоната съвпадат с произволна стойност от списъка | ||||
| SELECT данни FROM таблица WHERE колона NOT IN (стойност, стойност, стойност) | Когато данните от колоната не съвпадат с никоя стойност от списъка | ||||
| SELECT данни FROM таблица WHERE (колона оператор стойност OR колона оператор стойност) AND колона оператор стойност;; | Задаване на последователност на оценяване | ||||
| SELECT данни FROM таблица WHERE колона LIKE шаблон за търсене; | Сравнява шаблон за търсене, съдържащ текст с един или повече заместващи знака с низ от съответната колона | ||||
| SELECT данни FROM таблица WHERE колона LIKE % шаблон за търсене%; | С помощта на % се показват всички записи, които съдържат шаблони | ||||
| SELECT данни FROM таблица WHERE колона LIKE шаблон за търсене%; | Всички записи, които започват с ........... | ||||
| % | Заместващ знак, който представя нула, един или повече символи в шаблона за търсене | ||||
| _ | Долна черта замества само един пропуснат знак | ||||
| СТАНДАРТНИ ИЗРАЗИ | |||||
| буква | Единичен знак тук това може да бъде всеки низ съдържащ тази буква | ||||
| [буква буква буква] | Списък от знаци може да бъде всеки низ който съдържа една от буквите | ||||
| [буква - буква] | Област от знаци може да е всеки низ съдържащ една буква от интервала | ||||
| [цифра - цифра] | Област от цифри - може да е всеки низ съдържащ една цифра от интервала | ||||
| ^ буква | Единичен знак в началото на низа всеки низ започващ с тази буква | ||||
| буква $ | Единичен знак в края на низа | ||||
| SELECT данни FROM таблица WHERE колона REGEXP стандартен-израз; | Високо ефективни шаблони за търсене зададени, като стандартен израз | ||||
| SELECT CONCAT (колона, разделител, колона) FROM таблицата; | Слепване (конкатенция) на колони в посочен ред | ||||
| SELECT CONCAT_WS ( разделител, колона, колона) FROM таблицата; | Слепване на колони, като първо се посочва разделител между колоните | ||||
| SELECT CONCAT (TRIM (колона), LIRIM (колона), RTRIM (колона)) FROM таблицата; | Слепване на (колона без интервали, колона без интервали от ляво, колона без интервали от дясно) | ||||
| SELECT CONCAT_WS ( разделител, колона, колона) AS лява колона 1 FROM таблицата WHERE колона оператор стойност; СЛЕДВАЩА КОМАНДА EXPLAIN лява колона 2 | Използване на псевдоними Преглежда формата на таблицата | ||||
| ОПЕРАНДИ | |||||
| + | Събиране | ||||
| - | Изваждане | ||||
| * | Умножение | ||||
| / | Деление | ||||
| SELECT колона, колона, колона, колона * колона AS лява колона 1, (колона * колона) /стойност AS лява колона 2, колона * колона + (колона * колона) /стойност AS лява колона 3 FROM таблицата; | Извършване на аритметични операции | ||||
| ТИПОВЕ ФУНКЦИИ | |||||
| Текстови функции | За манипулиране на текстови низове, например за отстраняване на интервали, превръщане на големи в малки букви и обратно | ||||
| Числови функции | За извършване на математически операции, например за връщане на абсолютна стойност или изчисляване на алгебричен израз | ||||
| Функции за дата | За манипулиране на стойности, свързани с датата и часа, например за връщане на текущия час и изчисляване на разликата в две дати | ||||
| Системни функции | За връщане на информация за самата система за управление на база данни, например за номера на версията, както и потребител информация и номер на връзката | ||||
| ФУНКЦИИ | |||||
| ОПЕРАЦИЯ | Oracle | SQL Server | My SQL | ||
| Връщане на част от низ | SUBSTR ( ) | SUBSTRING ( ) | SUBSTRING ( ) | ||
| Конвертиране на типа на данните | TO_CHAR ( ) TO_NUMBER ( ) | CONVERT ( ) | CONVERT ( ) | ||
| Връщане на закръглено число | CEIL ( ) | CEILING ( ) | CEILING ( ) | ||
| Връщане на текуща дата | SYSDATE ( ) | GETDATE ( ) | CUKDATE ( ) | ||
| SELECT SUBSTRING (низ, позиция, дължина) FROM таблица; | Извличане на текстови данни, като се изчисляват три аргумента поставени в ( ), задаващи съответно: низа, позицията на знака от който да започне поднизът и дължината му | ||||
| SELECT UPPER (колона) FROM таблица WHERE колона оператор стойност; | Извлича низа в главни букви ABCD | ||||
| SELECT LOWER (колона) FROM таблица WHERE колона оператор стойност; | Извлича низа в малки букви abcd | ||||
| SELECT LENGTN (колона) FROM таблица WHERE колона оператор стойност; | Връща броя на знаковете, които се съдържат в низа | ||||
| SELECT SOUNDEX (колона) FROM таблица WHERE колона оператор стойност; | Връща стойността на низови данни, които звучат подобни | ||||
| ЧИСЛОВИ ФУНКЦИИ | |||||
| ABC (х) | Абсолютна стойност на х | ||||
| COS (х) | Косинус от х, като х е зададен в радиани | ||||
| EXP (х) | Експоненциална стойност на х | ||||
| MOD (x,y) | Остатък от х разделен на у | ||||
| Pi ( ) | Числото Пи (3,14) | ||||
| RADIANS (х) | Градуси х - превърната в радиани | ||||
| SIN (х) | Синус от х, като х е зададен в радиани | ||||
| SQRT (х) | Корен квадратен от х | ||||
| TAN (х) | Тангенс от х, като х е зададен в радиани | ||||
| FLOOR (х) | Най-близката целочислена ст-ст по-малка от х | ||||
| CEILING (х) | Най-близката целочислена стойност по-голяма от х | ||||
| ROUND (х) | Най-близката целочислена стойност по-голяма или по-малка от х | ||||
| RAND ( ) | Произволно число в интервала от 0 до 1-0 | ||||
| SELECT числова функция, числова функция; | Начин на изписване на числовата функция | ||||
| ФУНКЦИИ ЗА ДАТАТА И ЧАСА | |||||
| DATE TIME DATETIME | Типове | Дата Час Дата час Секунди | |||
| SECUND ( ) | |||||
| MINUTE ( ) | Минути | ||||
| HOUR ( ) | Час | ||||
| DAYOFMONTH ( ) | Ден от месеца | ||||
| MONTHNAME ( ) | Име на месеца | ||||
| YEAR ( ) | Година | ||||
| MONTH ( ) | Номер на месеца | ||||
| DAYNAME ( ) | Име на деня на английски | ||||
| NOW ( ) | Текуща дата и час в пълния им вид | ||||
| CURDATE ( ) | Връща текущата дата | ||||
| CURTIME ( ) | Връща текущото време | ||||
| SELECT функция за дата и час (колона) FROM таблица; | Начин за извикване на функциите за дата и час | ||||
| СИСТЕМНИ ФУНКЦИИ | |||||
| VERSION ( ) | Връща номера на версията на DBMS системата | ||||
| USER ( ) | Показва името и домейна на потребителя | ||||
| GRANT | Добавя нови потребители, като се задава нивото на делегираните им права. За да може да се използва трябва да се влезе в системата, като администратор или като потребител с пълни права. | ||||
| GRANT FULL PRIVILEGES ON *.* TO test@localhost IPENDIFIED BY парола WITH GRANT OPTION] | Добавя нов потребител със защитен от парола достъп и с пълни права | ||||
| SHOW GRANTS FOR test@localhost; | Преглед на правата на потребителя test | ||||
| SHOW PROCESSLIST; | Открива идентификационните номера на всички нишки (всеки достъп до база данни). Всяко от тях може да бъде прекъсната (терминирана) чрез задаване на този номер (поставен в кръгли скоби) като аргумент на функцията KILL ( ). | ||||
| SELECT ANG (колона) AS нова колона FROM таблица; | Връща средноаритметичната стойност на тази колона | ||||
| SELECT MAX (колона) AS нова колона FROM таблица; | Връща най-голямата стойност в тази колона | ||||
| SELECT MIN (колона) AS нова колона FROM таблица; | Връща най-малката стойност в тази колона | ||||
| SELECT COUNT (*) AS нова колона FROM таблица; | Намира общия брой редове включително и тези със стойност NULL, когато като аргумент се даде име на колона , то редовете със стойност NULL се пренебрегват | ||||
| SELECT SUM (колона) FROM таблица; | Връща сумата на всички стойности в колоната подадени и като аргумент | ||||
| SELECT SUM (колона) FROM таблица WHERE колона оператор стойност; | Връща сумата от стойностите в редовете отговарящи на условията WHERE | ||||
| SELECT COUNT (DISTINCT колона) AS нова колона FROM таблица; | Извежда уникалните стойности в колоната | ||||
| HAVING | Филтрира групи от данни | ||||
| SELECT колона 1, COUNT (*) FROM таблица WHERE колона оператор стойност GROUP BY колона 1 HAVING COUNT (*) оператор стойност | Използването на клаузата HAVING става само след GROUP BY клауза желателно е използването на WHERE за филтриране на редове | ||||
| ТАБЛИЦА ЗА ПРАВИЛАТА ПОСЛЕДОВАТЕЛНОСТ: | |||||
| SELECT | Колона(и) или израз който да бъде върнат | ||||
| FROM таблица | Таблица от която да се извлече информацията | ||||
| WHERE | Филтър на ниво редове | ||||
| GROUP BY | Колона според която да се извърши групиране | ||||
| HAVING | Филтър на ниво група | ||||
| ORDER BY | Сортиране на резултата | ||||
| SELECT колона 1, COUNT (*) FROM таблица WHERE колона оператор стойност GROUP BY колона 1 HAVING COUNT (*) оператор стойност ORDER BY колона 1 | Синтаксис на сортирането на резултата | ||||
| SELECT колона FROM таблица 1 WHERE IN (SELECT колона FROM таблица 2 WHERE колона оператор стойност); | Подзаявка за извличане на данни от две таблици. Първо се изпълнява заявката в скобите | ||||
| SELECT колона 1, таблица . колона 2 SELECT колона 1 (от таблица 2), таблица 1 . колона 2, колона (таблица 2) FROM таблица 1, таблица 2 WHERE таблица 1 . колона 2 оператор таблица 2 . колона 2 AND таблица 2 . колона 2 оператор стойност; | Това е другия вариант за изпълнение на подзаявка при която двете таблици имат еднакви колони (колона 2) Съвет: Винаги използвайте изрично синтаксиса с точката, за да идентифицирате колони от таблици, когато има възможност за съвпадение | ||||
| SELECT колона 1 (таблица 1), таблица 1 . колона 2, колона COUNT (*) AS нова колона FROM таблица 1, таблица 2 WHERE таблица 1 . колона 2 оператор таблица 2 . колона 2 GROUP BY колона 1 (таблица 1) ORDER BY таблица 1 . колона 2; | Подзаявка за да генерира изчислено поле, което връща стойност от таблица към външен оператор | ||||
| SELECT * FROM таблица 1 UNION SELECT * FROM таблица 2 UNION SELECT * FROM таблица 3 | С UNION се комбинират няколко заявки, като всички те трябва да се обръщат към колони, изрази и т.н. с еднакви имена, с еднаква последователност на повикване и с еднакви типове данни | ||||
Тагове от реферата: повеч, писани, Windows, правил, между, големи











