![Скрипт создания таблиц mysql.](https://i2.wp.com/labs.org.ru/wp-content/uploads/2016/10/1-1.png)
Скрипт создания таблиц mysql.
В этой статье мы расскажем, как создавать новые базы данных и таблицы, используя команды SQL в клиенте mysql. Предполагается, что этот инструмент запущен и подключен к серверу базы данных MySQL.
Создание новой базы данных MySQLНовая база данных создается с помощью оператора SQL CREATE DATABASE, за которым следует имя создаваемой базы данных. Для этой цели также используется оператор CREATE SCHEMA. Например, для создания новой базы данных под названием MySampleDB в командной строке mysql нужно ввести следующий запрос:
CREATE DATABASE MySampleDB;
Если все прошло нормально, команда сгенерирует следующий вывод:
Query OK, 1 row affected (0.00 sec)
Если указанное имя базы данных конфликтует с существующей базой данных MySQL, будет выведено сообщение об ошибке:
ERROR 1007 (HY000): Can"t create database "MySampleDB"; database exists
В этой ситуации следует выбрать другое имя базы данных или использовать опцию IF NOT EXISTS. Она создает базу данных только в том случае, если она еще не существует:
CREATE DATABASE IF NOT EXISTS MySampleDB;
Создание таблиц с помощью SQLНовые таблицы добавляются в существующую базу данных с помощью оператора SQL CREATE TABLE. За оператором CREATE TABLE следует имя создаваемой таблицы, а далее через запятые список имен и определений каждого столбца таблицы:
CREATE TABLE имя_таблицы (определение имени_столбца, определение имени_таблицы …, PRIMARY KEY = (имя_столбца)) ENGINE = тип_движка;
В определении столбца задается тип данных, может ли столбец быть NULL, AUTO_INCREMENT. Оператор CREATE TABLE также позволяет указать столбец (или группу столбцов) в качестве первичного ключа.
Прежде чем будет создавать таблицу, нужно выбрать базу данных. Это делается с помощью оператора SQL USE:
Создадим таблицу, состоящую из трех столбцов: customer_id , customer_name и customer_address . Столбцы customer_id и customer_name не должны быть пустыми (то есть NOT NULL). customer_id содержит целочисленное значение, которое будет автоматически увеличиваться при добавлении новых строк. Остальные столбцы будут содержать строки длиной до 20 символов. Первичный ключ определяется как customer_id.
CREATE TABLE customer (customer_id int NOT NULL AUTO_INCREMENT, customer_name char(20) NOT NULL, customer_address char(20) NULL, PRIMARY KEY (customer_id)) ENGINE=InnoDB;
Значения NULL и NOT NULLЕсли для столбца указано значение NULL, тогда пустые строки будут добавляться в таблицу. И наоборот, если столбец определяется как NOT NULL, тогда пустые строки не будут добавлены.
Первичные ключиПервичный ключ — это столбец, используемый для идентификации записей в таблице. Значение столбца первичного ключа должно быть уникальным. Если несколько столбцов объединены в первичный ключ, то комбинация значений ключей должна быть уникальной для каждой строки.
Первичный ключ определяется с помощью оператора PRIMARY KEY во время создания таблицы. Если используется несколько столбцов, они разделяются запятой:
PRIMARY KEY (имя_столбца, имя_столбца...)
В следующем примере создается таблица с использованием двух столбцов в качестве первичного ключа:
CREATE TABLE product (prod_code INT NOT NULL AUTO_INCREMENT, prod_name char(30) NOT NULL, prod_desc char(60) NULL, PRIMARY KEY (prod_code, prod_name)) ENGINE=InnoDB;
AUTO_INCREMENTКогда столбец определяется с помощью AUTO_INCREMENT, его значение автоматически увеличивается каждый раз, когда в таблицу добавляется новая запись. Это удобно при использовании столбца в качестве первичного ключа. Благодаря AUTO_INCREMENTне нужно писать инструкции SQL для вычисления уникального идентификатора для каждой строки.
AUTO_INCREMENT может быть присвоен только одному столбцу в таблице. И он должен быть проиндексирован (например, объявлен в качестве первичного ключа).
Значение AUTO_INCREMENT для столбца можно переопределить, указав новое при выполнении инструкции INSERT.
Можно запросить у MySQL самое последнее значение AUTO_INCREMENT, используя функцию last_insert_id() следующим образом:
SELECT last_insert_value();
Определение значений по умолчанию при создании таблицыЗначения по умолчанию используются, когда значение не определено при вставке в базу данных.
Значения по умолчанию задаются с помощью ключевого слова DEFAULT в операторе CREATE TABLE. Например, приведенный ниже запрос SQL задает значение по умолчанию для столбца sales_quantity:
CREATE TABLE sales { sales_number int NOT_NULL, sales_quantity int NOT_NULL DEFAULT 1, sales_desc char(20) NOT_NULL, PRIMARY KEY (sales_number)) ENGINE=MyISAM;
Типы движков баз данных MySQLКаждый из примеров создания таблицы в этой статье до этого момента включал в себя определение ENGINE= . MySQL поставляется с несколькими различными движками баз данных, каждый из которых имеет свои преимущества. Используя директиву ENGINE =, можно выбрать, какой движок использовать для каждой таблицы. В настоящее время доступны следующие движки баз данных MySQL:
- InnoDB — был представлен вMySQL версии 4.0 и классифицирован как безопасная среда для транзакций.Ее механизм гарантирует, что все транзакции будут завершены на 100%. При этом частично завершенные транзакции (например, в результате отказа сервера или сбоя питания) не будут записаны. Недостатком InnoDB является отсутствие поддержки полнотекстового поиска.
- MyISAM — высокопроизводительный движок с поддержкой полнотекстового поиска. Эта производительность и функциональность обеспечивается за счет отсутствия безопасности транзакций.
- MEMORY — с точки зрения функционала эквивалентен MyISAM, за исключением того, что все данные хранятся в оперативной памяти, а не на жестком диске. Это обеспечивает высокую скорость обработки. Временный характер данных, сохраняемых в оперативной памяти, делает движок MEMORY более подходящим для временного хранения таблиц.
Движки различных типов могут сочетаться в одной базе данных. Например, некоторые таблицы могут использовать движок InnoDB, а другие — MyISAM. Если во время создания таблицы движок не указывается, то по умолчанию MySQL будет использовать MyISAM.
Чтобы указать тип движка, который будет использоваться для таблицы, о поместите соответствующее определение ENGINE= после определения столбцов таблицы:
CREATE TABLE tmp_orders { tmp_number int NOT_NULL, tmp_quantity int NOT_NULL, tmp_desc char(20) NOT_NULL, PRIMARY KEY (tmp_number)) ENGINE=MEMORY;
Перевод статьи «Creating Databases and Tables Using SQL Commands» был подготовлен дружной командой проекта
На уроке будет рассмотрен пример создания на локальной машине базы данных mySQL и ее таблиц; установка DENWER
Пакет denwer можно найти и загрузить с официального сайта.
Для работы с базами данных mySql существует популярный инструмент с удобным вебинтерфейсом — phpMyAdmin .
После успешной установки пакета Denwer, выполняются следующие действия для запуска инструмента phpMyAdmin:
* в случае изменения используемого порта во избежание конфликтов при установке denwer, адрес инструмента может быть и другим, например:
http://localhost:8080/tools/phpmyadmin
Создадим базу данных с названием insitute :
Создание таблиц в phpMyAdminТеперь в готовой базе данных можно создавать таблицы с полями:
Типы данных для MySQL можно разделить на три категории: числовые данные, дата и время, и данные типа строка.
Таким образом, поля таблицы могут иметь следующие типы данных:
Очень маленькое целое число | Диапазон числа со знаком от –128 до 127. Диапазон числа без знака (unsigned) от 0 до 255. |
Маленькое целое число | Диапазон числа со знаком от –32768 до 32767. Диапазон числа без знака (unsigned) от 0 до 65535. |
Среднее целое число | Диапазон числа со знаком от –8388608 до 8388607. Диапазон числа без знака (unsigned) от 0 до 16777215. |
Целое число | Диапазон числа со знаком от –2147483648 до 2147483647. Диапазон числа без знака (unsigned) от 0 до 4294967295. |
Большое целое число | Диапазон числа со знаком от –9223372036854775808 до 9223372036854775807. Диапазон числа без знака (unsigned) от 0 до 18446744073709551615. |
Малое (одинарной точности) число с плавающей запятой. Не может быть числом без знака | Диапазоны от –3.402823466E+38 до –1.175494351E-38, 0 и 1.175494351E-38 до 3.402823466E+38. Если количество знаков после запятой не установлено или |
Здесь код таблицы использует только PHP, чтобы чередовать стили, как вы пытаетесь сделать в своем примере:
Id | Title | Date |
Причина, по которой ваш код не выполняется, заключается в том, что вы не можете включать PHP с тегом Script. Вы должны использовать функцию PHP include, а исходная страница должна быть проанализирована как PHP.