--
Если в таблице мы создаем PRIMARY KEY, то мы
можем задать AUTO INCREMENT, т.е увеличение на
единицу.
--
PRIMARY KEY - индекс, который помогает БД
искать информацию.
/*
PRIMARY
KEY (Первичный ключ) является полем в
таблице, которое однозначно идентифицирует
каждую строку/запись в таблице базы
данных. Первичные ключи должны содержать
уникальные значения. Первичный ключ
столбец не может иметь значения NULL.
Если
таблица имеет первичный ключ, определенный
на любом поле, то вы не можете иметь две
записи, имеющие одинаковое значение
этого поля.
*/
CREATE
TABLE IF NOT EXISTS table2
(
id
INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Код товара',
name
VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'Название товара',
price
DECIMAL(8,2) NOT NULL DEFAULT 0.00 COMMENT 'Цена товара',
PRIMARY
KEY(id)
)
COMMENT 'Таблица товаров';
--
Для просмотра структуры таблицы
используем команду DESCRIBE или DESC.
DESC
table2;
--
Удалим таблицу.
DROP
TABLE IF EXISTS table2;
--
PRIMARY KEY мы можем задать для нескольких
полей, например, для id и name.
--
Перезапишем таблицу.
CREATE
TABLE IF NOT EXISTS table2
(
id
INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Код товара',
name
VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'Название товара',
price
DECIMAL(8,2) NOT NULL DEFAULT 0.00 COMMENT 'Цена товара',
PRIMARY
KEY(id, name)
)
COMMENT 'Таблица товаров';
--
Для просмотра структуры таблицы
используем команду DESCRIBE или DESC.
DESC
table2;
--
Удалим таблицу.
DROP
TABLE IF EXISTS table2;
--
Если мы задаем PRIMARY KEY для одного поля,
то можно написать так:
CREATE
TABLE IF NOT EXISTS table2
(
id
INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Код
товара',
name
VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'Название товара',
price
DECIMAL(8,2) NOT NULL DEFAULT 0.00 COMMENT 'Цена товара'
)
COMMENT 'Таблица товаров';
--
Удалим таблицу.
DROP
TABLE IF EXISTS table2;
-- Более
правильный подход задавать PRIMARY KEY, как
свойства свей таблицы.
CREATE
TABLE IF NOT EXISTS table2
(
id
INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Код товара',
name
VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'Название товара',
price
DECIMAL(8,2) NOT NULL DEFAULT 0.00 COMMENT 'Цена товара',
PRIMARY
KEY(id)
)
COMMENT 'Таблица товаров';
--
Удалим таблицу.
DROP
TABLE IF EXISTS table2;
-- Мы можем
создавать свою кодировку для каждой
таблицы.
CREATE
TABLE IF NOT EXISTS table2
(
id
INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Код товара',
name
VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'Название товара',
price
DECIMAL(8,2) NOT NULL DEFAULT 0.00 COMMENT 'Цена товара',
PRIMARY
KEY(id)
)
CHARACTER SET cp1251 COMMENT 'Таблица товаров';
--
Удалим таблицу.
DROP
TABLE IF EXISTS table2;
-- Мы можем
задать COLLATE, который отвечает за учет
регистра строк.
--
Создадим COLLATION без учета регистра.
CREATE
TABLE IF NOT EXISTS table2
(
id
INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Код товара',
name
VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'Название товара',
price
DECIMAL(8,2) NOT NULL DEFAULT 0.00 COMMENT 'Цена товара',
PRIMARY
KEY(id)
)
CHARACTER SET cp1251 COLLATE cp1251_general_ci COMMENT
'Таблица товаров';
--
Удалим таблицу.
DROP
TABLE IF EXISTS table2;
-- Мы можем
создать таблицу на движке MyISAM.
CREATE
TABLE IF NOT EXISTS table2
(
id
INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Код товара',
name
VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'Название товара',
price
DECIMAL(8,2) NOT NULL DEFAULT 0.00 COMMENT 'Цена товара',
PRIMARY
KEY(id)
)
CHARACTER SET cp1251 COLLATE cp1251_general_ci ENGINE=MyISAM
COMMENT 'Таблица товаров';
-- Мы
можем задать кодировку для каждого
отдельного столбца.
--
Удалим таблицу.
DROP
TABLE IF EXISTS table2;
--
Создадим кодировку и COLLATION для столбца
name с учетом регистра.
--
Допустим, что в поле name будет лежать
регистрозависимый логин.
CREATE
TABLE IF NOT EXISTS table2
(
id
INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Код товара',
name
VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT ''
COMMENT 'Название товара',
price
DECIMAL(8,2) NOT NULL DEFAULT 0.00 COMMENT 'Цена товара',
PRIMARY
KEY(id)
)
CHARACTER SET cp1251 COLLATE cp1251_general_ci ENGINE=MyISAM COMMENT
'Таблица товаров';
-- Таблицы можно
связывать.
-- RESTRICT - запрет
удаления | CASCADE - каскадное удаление
таблиц.
DROP
TABLE IF EXISTS table2;
Комментариев нет:
Отправить комментарий