Примеры
- Следующая инструкция создает базу данных в текущем каталоге:
CREATE DATABASE ‘employee.gdb’;
- Следующая инструкция создает базу данных с размером страницы 2048 байт, вместо 1024 по умолчанию:
CREATE DATABASE ‘employee.gdb’ PAGE_SIZE 2048;
- Следующая инструкция создает базу данных, которая расположена в двух файлах, и определяет ее кодировку по умолчанию:
CREATE DATABASE ‘employee.gdb’
DEFAULT CHARACTER SET ISO8859_1
FILE ‘employee.gd1’ STARTING AT PAGE 10001 LENGTH 10000 PAGES;
- Пример создания базы данных в Interbase:
SET NAMES WIN1251;
SET SQL DIALECT 3;
CREATE DATABASE 'C:\Temp\FifthOcean.gdb' USER 'boss' PASSWORD 'ray8)bow' PAGE_SIZE 1024 DEFAULT CHARACTER SET WIN1251;
Оператор CREATE TABLE, очевидно, используется для того, чтобы создавать таблицы. Хотя непосредственно создание таблицы оказывается совсем простым делом, прежде чем использовать оператор CREATE TABLE, нужно со всей тщательностью подойти к вопросу планирования структуры таблицы.
Вот несколько простых вопросов, на которые при создании таблицы нужно получить ответы.
- Какого типа данные будут вводиться в таблицу?
- Каким должно быть имя таблицы?
- Каким столбцом (или столбцами) будет задаваться ключевое поле (составной ключ)?
- Какие имена следует присвоить столбцам (полям)?
- Какие типы данных следует назначить столбцам?
- Какой выбрать длину каждого из столбцов?
- Какие столбцы таблицы будут требовать обязательного ввода данных?
Получив ответы на все эти вопросы, не составляет труда построить подходящий оператор CREATE TABLE и применить его.
|
|
Синтаксис оператора для создания таблиц будет следующим:
CREATE TABLE ИМЯ_ТАБЛИЦЫ (ПОЛЕ1 ТИП ДАННЫХ [ NOT NULL ],
ПОЛЕ2 ТИП ДАННЫХ [ NOT NULL ], ПОЛЕ3 ТИП ДАННЫХ [ NOT NULL ],
ПОЛЕ4 ТИП ДАННЫХ [ NOT NULL ], ПОЛЕ5 ТИП ДАННЫХ [ NOT NULL ]);
В примерах этого урока используются такие популярные типы данных, как CHAR (символьный постоянной длины), VARCHAR (символьный переменной длины), NUMBER (числовой, для десятичных и не десятичных значений) и DATE (для значений даты и времени).
Создайте таблицу с именем EMPLOYEE_TBL, например, с помощью следующего оператора:
CREATE TABLE EMPLOYEE_TBL
(EMP_ID CHAR(9) NOT NULL,
EMP_NAME VARCHAR(40) NOT NULL,
EMP_ST_ADDR VARCHAR(20) NOT NULL,
EMP_CITY VARCHAR(20) NOT NULL,
EMP_ST CHAR(2) NOT NULL,
EMP_ZIP NUMBER(5) NOT NULL,
EMP_PHONE NUMBER(10) NULL,
EMP_PAGER NUMBER(10) NULL); Вместо NUMBER попробовать NUMERIC.
Еще один пример создания таблицы:
CREATE TABLE customer (
id_customer INTEGER NOT NULL,
sity VARCHAR(40) NOT NULL,
company_name VARCHAR(100) NOT NULL,
juridical_person VARCHAR(200) NOT NULL,
bank_properties BLOB SUB_TYPE 1,
adress VARCHAR(100) NOT NULL,
account_adress VARCHAR(100) NOT NULL,
comment BLOB SUB_TYPE 1);
В результате в таблице будет восемь столбцов. Обратите внимание на использование символа подчеркивания в именах столбцов так, что эти имена кажутся состоящими из нескольких слов (например, EMPLOYEE ID превратилось в EMP_ID). Каждому столбцу назначен свой тип данных определенной длины, а использование ограничений NULL /NOT NULL позволяет указать, какие из столбцов должны обязательно иметь значения во всех строках таблицы. Поле EMP_PHONE определено как NULL, и это значит, что для соответствующего столбца допустимы пустые значения (ввиду того, что не все могут иметь телефонные номера). Информация о столбцах разделяется запятыми, а описания всех столбцов заключены в круглые скобки (открывающая скобка помещена перед определением первого столбца, а закрывающая – после определения последнего).
|
|
Завершается оператор точкой с запятой. Большинство реализаций SQL предполагает использование некоторого символа, означающего завершение оператора или передачу оператора серверу базы данных. В Oracle используется точка с запятой. TransactSQL использует оператор GO. Мы используем точку с запятой.
В созданной нами таблице каждая запись или строка с данными будет состоять из следующих полей: EMP_ID, EMP_NAME, EMP_ST_ADDR, EMP_CITY, EMP_ST, EMP_ZIP, EMP_PHONE, EMP_PAGER.
В этой таблице каждое поле является столбцом. Столбец EMP_ID может состоять как из одного-единственного табельного номера одного служащего, так и из множества табельных номеров многих служащих в зависимости от требований запроса к базе данных или транзакций.
Значение NULL является значением столбца по умолчанию, следовательно, это значение в операторе CREATE TABLE вводить не обязательно.