Запрос CREATE
Оператор CREATE DATABASE служит для создания новой базы данных и имеет следующий формат:
CREATE DATABASE <Имя базы данных>
Оператор CREATE TABLE служит для создания новой таблицы базы данных и имеет следующий формат:
CREATE TABLE <Имя таблицы>
<Имя поля> <Тип данных>,
…
<Имя поля> <Тип данных>);
В этом операторе обязательно указание хотя бы одного имени поля и его типа данных.
Приведем пример создания простой таблицы:
CREATE TABLE MyTable (
Number INTEGER,
Name CHAR(20),
Surname CHAR(20)
);
При этом в каталоге текущей базы данных создастся новая таблица муТаblе, состоящая из полей Number, Name и Surname. Первое поле имеет целочисленный тип (INTEGER), остальные поля - символьного типа и ограничены длиной в 20 символов.
Если при выполнении этого запроса выяснится, что таблица с таким именем уже существует, будет сгенерирована исключительная ситуация.
Следующий SQL-запрос определит ключевое поле
для MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
для SQL Server:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Следующий SQL-запрос добавит внешний ключ P_Id для поля P_Id таблицы Persons
для MySQL:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)
для SQL Server
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)
Для создания инкремента в ключевом поле, то есть, чтобы счетчик самостоятельно увеличивался на определенное значение, необходимо использовать атрибут IDENTITY(seed, increment) с параметрам, где seed – значение, присваиваемое самой первой строке, загружаемой в таблицу, increment - значение приращения, которое прибавляется к значению идентификатора предыдущей загруженной строки. В большинстве случаев требуется задавать:
IDENTITY(1, 1).
Таким образом, результирующий SQL-запрос для SQL Server будет выглядеть следующим образом:
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY IDENTITY(1, 1),
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)
Дата добавления: 2015-05-19; просмотров: 887;