Создание таблиц в mysql.

Откройте базу данных. Для создания таблицы вам необходимо иметь базу данных, которая будет ее содержать. Вы можете открыть базу данных, набрав USE database в командной строке MySQL.

  • Если вы не помните имя базы данных, наберите SHOW DATABASES , чтобы вывести список баз данных на сервере MySQL.
  • Если у вас пока нет базы данных, вы можете ее создать, набрав CREATE DATABASE . Имя базы данных не может содержать пробелы.

Изучите основные типы данных. Каждая запись в таблице сохраняется как определенный тип данных. Это позволяет MySQL взаимодействовать с ними различными способами. Типы данных, которые вы будете использовать, зависят от назначения вашей таблицы. Есть много типов кроме нижеперечисленных, но вы можете их использовать для создания базовой, пригодной для использования таблицы:

Создайте таблицу. Чтобы создать таблицу из командной строки, вам нужно создать все поля с помощью одной команды. Вы создаете таблицы, используя команду CREATE TABLE с последующей информацией о таблице. Чтобы создать базовую запись о сотруднике, вам нужно ввести следующую команду:

CREATE TABLE employees (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT , lastname VARCHAR (20 ) , firstname VARCHAR (20 ) , phone VARCHAR (20 ) , dateofbirth DATE )

  • INT NOT NULL PRIMARY KEY AUTO_INCREMENT создает числовой идентификатор для каждого работника, который добавляется в запись. Это число каждый раз автоматически увеличивается. Это позволяет вам легко ссылаться на сотрудников с помощью других функций.
  • Хотя VARCHAR позволяет уменьшать размер в зависимости от введенных данных, вы можете установить максимум для него, чтобы пользователь не мог ввести слишком длинные строки. В приведенном выше примере имя и фамилия ограничены 20-ю символами.
  • Заметьте, что запись о телефонном номере хранится как VARCHAR, поэтому символы тоже обрабатываются корректно.
  • Проверьте, что ваша таблица была создана правильно. Как только вы создадите таблицу, вы получите сообщение, что она была успешно создана. Теперь вы можете использовать команду DESCRIBE , чтобы убедиться, что вы включили все поля, что хотели, и что у них правильные типы данных. Наберите DESCRIBE database; и посмотрите на появившийся график, чтобы проверить структуру вашей таблицы.

    Создайте таблицу с использованием PHP. Если вы используете PHP для администрирования вашей базы данных MySQL через веб-сервер, вы можете создать таблицу, используя простой PHP-файл. Предполагается, что база данных уже существует на сервере MySQL. Для создания такой же таблицы, как и в Шаге 3, введите следующий код, заменив информацию о соединении на актуальную для вас:

    "Failed to connect to MySQL: " . mysqli_connect_error () ; } $sql = "CREATE TABLE employees (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, lastname VARCHAR(20), firstname VARCHAR(20), phone VARCHAR(20), dateofbirth DATE)" ; if (mysqli_query ($connection , $sql ) ) { echo "Table employees created successfully" ; } else { echo "Error creating table: " . mysqli_error ($connection ) ; } ?>

    Заметка: активирована адаптивная версия сайта, которая автоматически подстраивается под небольшой размер Вашего браузера и скрывает некоторые детали сайта для удобства чтения. Приятного просмотра!

    Здравствуйте уважаемые читатели блога Site on! В прошлой статье мы рассмотрели всё о в PHP, но для закрепления полученных теоритических материалов, предлагаю выполнить практическую задачу, которая довольно часто встречается в повседневной жизни разработчика сайтов.

    В наших с вами любимых CMS для отрисовки любой HTML таблицы используются циклы, по-другому никак. Например, у товара (смартфона) есть характеристики: ширина, высота, глубина, цвет, размер дисплея, объём памяти и тд. Все эти свойства обычно отрисовываются в виде HTML таблицы, это очень удобно и хорошо, ровно выглядит.

    Чтобы понять, как это делается, сегодня мы решим такую простую задачу, как создание таблицы умножения:

    Приступим

    Для начала нужно придумать и понять алгоритм, которому мы будем следовать. Из чего состоит HTML таблица? Давайте я нарисую:

    Как видим из рисунка, тег table встречается всего 1 раз, поэтому он явно должен быть вне цикла. Повторяется у нас только строка (tr) и внутри неё ячейки, они же столбцы (td). Всё, больше у нас ничего не повторяется.

    Теперь нужно решить, какой цикл лучше использовать для данной задачи. Это классический вариант и лучшим решением будет цикл for, хотя можно использовать и while, если вы к нему привыкли больше. Но нам понадобится не один цикл, а два: первый будет рисовать и считать строки (tr), а второй столбцы (td).

    // количество строк, tr $cols = 20; // количество столбцов, td echo "

    "; for ($tr=1; $tr<=$rows; $tr++){ // в этом цикле счётчик $tr // следит за количеством строк и всегда равен текущему номеру строки. // То есть в начале $tr=1, так как в начале у нас 1 строка, затем // каждый раз прибавляем единицу, пока не дойдём до заданного количества // $rows. echo ""; for ($td=1; $td<=$cols; $td++){ // в этом цикле счётчик $td аналогичен // счётчику $tr. echo ""; } echo ""; } echo "
    ". $tr*$td ."
    "; ?>

    Готово! Результат:

    В первом цикле мы отрисовываем tr, внутри него td. Этот код можно было бы назвать идеальным шаблоном отрисовки любой таблицы, но я знаю, как сделать ещё лучше. Незачем каждый раз напрягать PHP и делать вывод на экран (echo) после каждой итерации, гораздо лучше поместить всё в одно место (переменную) и сделать echo в самом конце, один единственный раз:

    // количество строк, tr $cols = 20; // количество столбцов, td $table = "

    "; for ($tr=1; $tr<=$rows; $tr++){ $table .= ""; for ($td=1; $td<=$cols; $td++){ $table .= ""; } $table .= ""; } $table .= "
    ". $tr*$td ."
    "; echo $table; // сделали эхо всего 1 раз ?>

    Для этого мы использовали оператор .= присвоение через . Результат будет точно таким же. Но это ещё не всё. Нам нужно привести нашу таблицу к виду, как на самом первом рисунке в этой статье. То есть сделать первую строку и столбец полужирным и поставить зелёный фон. Такого результата можно добиться двумя способами:

    Итак, делаем с помощью PHP:

    // количество строк, tr $cols = 20; // количество столбцов, td $table = "

    "; for ($tr=1; $tr<=$rows; $tr++){ $table .= ""; for ($td=1; $td<=$cols; $td++){ if ($tr===1 or $td===1){ $table .= ""; // вычислили первую строку или столбец }else{ $table .= ""; // все ячейки, кроме ячеек из первого столбца и первой строки } } $table .= ""; } $table .= "
    ". $tr*$td ."". $tr*$td ."
    "; echo $table; // сделали эхо всего 1 раз ?>

    Красота:) Можете выводить таблицу хоть 100 на 100. Балуйтесь, как хотите, это полезно для опыта. Спасибо за внимание, и приятных вам выходных!

    В предыдущем уроке мы узнали, как создать соединение с сервером БД. Следующий шаг - создание БД и таблиц.

    Рассмотрим два способа создания БД и таблиц. Первый, как это делается в PHP, второй - с помощью более дружественной утилиты PhpMyAdmin, которая является стандартной на большинстве вэб-хостов и в XAMPP.

    Если у вас на хосте есть сайт с поддержкой PHP и MySQL, БД, возможно, уже создана для вас, и вы можете пропустить это раздел урока и начать создавать таблицы. Не забывайте консультироваться со страницами помощи хоста.

    Создание БД и таблиц с помощью PHP

    Функция mysql_query используется для отправки запроса БД MySQL. Запросы записываются на языке S tructured Q uery L anguage (SQL). SQL - наиболее широко распространённый язык запросов БД - не только для БД MySQL - он очень логичен и прост для изучения. В этом и следующем уроках вы узнаете всё самое важное о SQL-запросах.

    При создании БД используется SQL-запрос CREATE DATABASE с таким синтаксисом:

    CREATE DATABASE имя БД

    Легко и просто, не так ли!? Попробуем вставить это в PHP-скрипт:

    Mysql_connect("mysql.myhost.com", "user", "sesame") or die(mysql_error()); mysql_query("CREATE DATABASE mydatabase") or die(mysql_error()); mysql_close();

    Сначала соединяемся с MySQL-сервером. Затем создаём БД "mydatabase". И наконец - закрываем соединение с MySQL-сервером.

    Пока неплохо... но всё несколько усложняется, когда мы хотим создать таблицы в PHP. При создании таблиц мы используем SQL-запрос CREATE TABLE с таким синтаксисом:

    CREATE TABLE имя таблицы (имя_столбца1 ТИП_ДАННЫХ, имя_столбца2 ТИП_ДАННЫХ, имя_столбца3 ТИП_ДАННЫХ, ...)

    имя_таблицы и имя_столбца это, понятное дело, соответствующие имена. ТИП_ДАННЫХ используется для специфицирования типа данных, вставляемых в столбец. Вот наиболее распространённые типы:

    Целые числа Десятичные числа Краткий текст до 255 символов длиной Обычный текст до 65,535 символов Длинные куски текста до 4,294,967,295 символов Даты в формате ГГГГ-MM-ДД Время в формате ЧЧ:MM:СС Время и дата в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС

    В целом логично и относительно просто. Попробуем вставить это в наш пример:

    Mysql_connect("mysql.myhost.com", "user", "sesame") or die(mysql_error()); mysql_select_db("people") or die(mysql_error()); mysql_query("CREATE TABLE MyTable (id INT AUTO_INCREMENT, FirstName CHAR, LastName CHAR, Phone INT, BirthDate DATE PRIMARY KEY(id))") Or die(mysql_error()); mysql_close ();

    В этом примере мы начинаем с соединения с MySQL-сервером. Затем используем функцию для выбора БД "people". Далее создаём таблицу "persons" из 5 столбцов.

    Обратите внимание, что для столбца "id" мы используем для специфицирования того, что столбец содержит числа, а затем добавляем для автоматического инкремента этих чисел и гарантирования тог, что для каждого ряда будет сгенерирован уникальный ID.

    В конце мы используем для установки столбца "id" как первичного ключа/primary key. Первичный ключ уникально идентифицирует каждую запись (/ряд) в таблице, что особенно пригодится при последующих обновлениях БД.

    Создание БД и таблиц с использованием phpMyAdmin

    Бывает полезно иметь возможность создавать БД и таблицы напрямую в PHP. Но часто проще использовать phpMyAdmin (или любую иную утилиту администрирования MySQL), которая является стандартной на большинстве вэб-хостов и в XAMPP. Скриншот ниже показывает, как создавать БД и таблицы с применением phpMyAdmin.

    В этой статье мы расскажем, как создавать новые базы данных и таблицы, используя команды 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» был подготовлен дружной командой проекта