Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐SQL\T-SQL
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

6урок по oracle sql, типы данных и работа с таблицами


--Распространенные типы данных, используемые для указания типа данных в столбцах таблиц:

--Числа:
--NUMBER - числа общего вида, NUMBER (n) - n это точность мантиссы, NUMBER (n, m) - с фиксированной десятичной точкой
--INTEGER, FLOAT, REAL, NUMERIC, DECIMAL
--BINARY_FLOAT(), BINARY_DOUBLE()

--Строки текста:
--VARCHAR2 (n) - может хранить до 4000 байт, CHAR (n) - может хранить до 2000 байт
--NVARCHAR2 (n), NCHAR (n)() - строки в национальной кодировке
--CLOB(), NCLOB() - используются для хранения больших строк

--Временные типы:
--DATE
--TIMESTAMP(), TIMESTAMP (n)()
--TIMESTAMP WITH TIME ZONE(), TIMESTAMP WITH LOCAL TIME ZONE()

--Строки байтов:
--RAW (n)
--BLOB()

--Создание таблицы (столбцы с разными типами данных)
--DEFAULT - значение по умолчанию, если при операции INSERT небыло введено значения
--CHECK - условие(ограничение) для значений столбца

CREATE TABLE any_table
(
  id INTEGER
 ,name  VARCHAR2 (14)
 ,d_time  DATE  DEFAULT TRUNC(SYSDATE)
 ,d_money NUMBER (10, 2) CHECK (d_money > 1000)
);

--Пройдут без ошибок, во втором случае добавится значение по умолчанию в d_time
INSERT INTO any_table(id, name, d_time, d_money) VALUES (1, 'MyName', TRUNC(SYSDATE), 2000);
INSERT INTO any_table(id, name, d_money) VALUES (2, 'MyName', 2000);
--Вызовет ошибку в d_money
INSERT INTO any_table(id, name, d_money) VALUES (3, 'MyName', 500);

SELECT * FROM any_table;

--Создание таблицы из существующей, данные перенесутся
CREATE TABLE any_table_copy AS SELECT * FROM any_table;

SELECT * FROM any_table_copy;

--Добавление столбца
ALTER TABLE any_table ADD(n_name VARCHAR2(10));
--Изменение столбца
ALTER TABLE any_table MODIFY(n_name VARCHAR2(20));
--NULL значение
ALTER TABLE any_table MODIFY (id NOT NULL);
ALTER TABLE any_table MODIFY (id NULL);
--Удаление столбца
ALTER TABLE any_table DROP COLUMN n_name;
--CASCADE CONSTRAINTS позволяет удалить столбец с ключами
ALTER TABLE any_table DROP COLUMN n_name CASCADE CONSTRAINTS;
--Переименовать таблицу
ALTER TABLE any_table RENAME TO any_table_new;
--Переименовать столбец
ALTER TABLE any_table_new RENAME COLUMN name TO name_new;


--Удаление таблицы
--Если на столбцы таблицы определены ссылки внешними ключами из других таблиц, СУБД не позволит выполнить DROP TABLE
--CASCADE CONSTRAINTS позволяет удалить таблицу с ключами, при этом удалит сначало правило внешнего ключа.
DROP TABLE any_table_new;
DROP TABLE any_table_copy CASCADE CONSTRAINTS;

 

Видео есть на моем канале YouTube


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

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

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


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru