Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ ORACLE SQL \ JAVA ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

FreeBSD and Nix

Общая

WEB Разработка

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


1урок по oracle sql, установка oracle express, sql developer, базовые запросы


 Начнем с дистрибутивов, для этого надо будет зарегистрироваться на http://www.oracle.com/, первый дистрибутив - Oracle Express, является бесплатным вариантом для обучения: http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

 Второй дитрибутив - Developer Studio для разработчика, после скачки надо по пути \sqldeveloper-4.0.2.15.21-no-jre\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf добавить в конец файла две строчки для избежания ошибок при подключении:
AddVMOption -Duser.language=en
AddVMOption -Duser.region=us


Сам дистрибутив: http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
Внимание! Если Вы качаете 32 битную версию, Вам понадобится для работы SQL Developer requires JDK 7, его можно скачать на этой же странице.

Начнем со списка самых основных команд SQL:

DML - язык манипулирования данными:
SELECT
INSERT
UPDATE
DELETE

DDL - язык определения данных:
CREATE
ALTER
DROP
RENAME
TRUNCATE

DCL - язык управления данных:
GRANT
REVOKE

Транзакции:
COMMIT
ROLLBACK
SAVEPOINT

Все примеры команд SQL будут исполняться над тестовыми данными, имеющимися после установки Oracle Express

Для начала посмотрим на структуру таблицы, с которой будем работать:
DESC HR.EMPLOYEES; или
DESCRIBE HR.EMPLOYEES;

Примеры SELECT:

--Выборка всех колонок
SELECT * FROM HR.EMPLOYEES;

--Выборка определенных колонок
SELECT FIRST_NAME, LAST_NAME FROM HR.EMPLOYEES;

--Конкатенация стобцов
SELECT FIRST_NAME||LAST_NAME AS FN FROM HR.EMPLOYEES;

--Заголовку столбца выборки присваивается некоторое название
SELECT FIRST_NAME AS NAME FROM HR.EMPLOYEES;

--Производится арифметическое действие со значением столбцов
SELECT SALARY + 304 FROM HR.EMPLOYEES;

--q[] экранирует апострофы
SELECT q'[worker's: ]'||LAST_NAME FROM HR.EMPLOYEES;

--"Удаление" дублей
SELECT DISTINCT LAST_NAME FROM HR.EMPLOYEES;

--Прибавляем условие "ГДЕ" - WHERE
--Условия в WHERE
--И\ИЛИ   AND \ OR
--Равно\Неравно   = \ <>
--Больше\Больше-равно   > \ >=
--Меньше\Меньше-равно   < \ <=
--Между двух значений   BETWEEN x AND x
--В списке значений   IN(x)
--Совпадает с шаблоном   LIKE
--Равно\неравно значению NULL   IS NULL \ IS NOT NULL

SELECT * FROM HR.EMPLOYEES WHERE DEPARTMENT_ID = 90;
SELECT * FROM HR.EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL;
SELECT * FROM HR.EMPLOYEES WHERE COMMISSION_PCT IN(0.3, 0.2);
SELECT * FROM HR.EMPLOYEES WHERE FIRST_NAME LIKE 'A%';
SELECT * FROM HR.EMPLOYEES WHERE FIRST_NAME LIKE '_n%';

--Условия сортировки ASC(по возрастанию (по умолчанию), можно не указывать), DESC - по убыванию 
SELECT * FROM HR.EMPLOYEES ORDER BY SALARY;
SELECT * FROM HR.EMPLOYEES ORDER BY SALARY DESC;
SELECT FIRST_NAME, SALARY*0.87 AS money FROM HR.EMPLOYEES ORDER BY money;

--Работа со строками
--Обрезание по позициям символов

SELECT FIRST_NAME, SUBSTR(' is manager! ', 5,11) AS m FROM HR.EMPLOYEES;

--Склеивание строк
SELECT FIRST_NAME, CONCAT(' is', ' manager! ') AS m FROM HR.EMPLOYEES;

--Длина строки
SELECT FIRST_NAME, LENGTH(' is manager! ') AS m FROM HR.EMPLOYEES;

--Позиция в строке символа
SELECT FIRST_NAME, INSTR(' is manager! ', 'n') AS m FROM HR.EMPLOYEES;

--Замена символов
SELECT FIRST_NAME, REPLACE(' is manager! ', 'is', 'is not') AS m FROM HR.EMPLOYEES;

--Перевод в нижний\верхний регистр
SELECT LOWER(FIRST_NAME) FROM HR.EMPLOYEES;
SELECT UPPER(FIRST_NAME) FROM HR.EMPLOYEES;


--Работа с числами (DUAL - это фиктивная таблица, используемая для просмотра SYSDATE)
--ROUND - округляет, TRUNC - обрезает, MOD - остаток от деления

SELECT ROUND(23.4567,2), TRUNC(23.4567,2), MOD(23,12) FROM DUAL;


--Работа с датой и временем
--Вывод даты

SELECT sysdate FROM dual;

--Разница в месяцах между датами
SELECT FIRST_NAME, TRUNC(MONTHS_BETWEEN(SYSDATE, HIRE_DATE)) AS "МесяцевСНами" FROM HR.EMPLOYEES;

--Прибавить месяцев
ADD_MONTHS('01-JAN-96',3)
--Следующий день
NEXT_DAY('01-JAN-96','FRIDAY')
--Последний день месяца
LAST_DAY('01-JAN-96')

--Округление до месяца\года
SELECT ROUND(SYSDATE,'YEAR') FROM dual;
SELECT ROUND(SYSDATE,'MONTH') FROM dual;
SELECT TRUNC(SYSDATE,'YEAR') FROM dual;
SELECT TRUNC(SYSDATE,'MONTH') FROM dual;

 

На этом все, видео есть на моем канале YouTube!


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект