Как добавить таблицу в MySQL
Читайте нашу статью, чтобы узнать, как создать таблицу в MySQL. Мы расскажем о структурных элементах таблицы и покажем, как создать ее разными способами.
Из чего состоит таблица
Таблица — это одна из составляющих базы данных. Она позволяет структурировать данные: вся информация хранится в соответствующих таблицах, благодаря чему данные выгружаются в нужном порядке.
Чтобы создать таблицу, нужно указать:
- имя таблицы — отобразится в структуре базы данных;
- имя поля — наименование столбца;
- тип данных — поясняет, какой тип данных будет храниться в таблице.
В MySQL добавить таблицу можно:
- через phpMyAdmin,
- через SSH-соединение.
Как добавить таблицу в phpMyAdmin
Чтобы перейти к нужной базе данных, слева от неё нажмите на значок «плюс» и кликните Новая:
- Имя таблицы — укажите название таблицы;
- Имя — введите имя столбца;
- Тип — укажите тип данных. Для числовых данных используйте тип «INT», для текстовых — «VARCHAR», а для формата даты — «DATE»;
- Длина/Значения — укажите количество символов, которые можно использовать в ячейке. Как правило, используют значение 255. Используется только для типа данных «VARCHAR». Затем нажмите Сохранить:

После сохранения откроется созданная таблица:

Готово, вы добавили таблицу в phpMyAdmin.
Как добавить таблицу в Ubuntu через SSH-соединение
Создать новую таблицу можно с помощью консольной команды. Так выглядит ее синтаксис:
CREATE TABLE table_name (column_name column_type);
- table_name — имя таблицы,
- column_name — имя поля,
- column_type — тип данных.
Чтобы создать таблицу:
Подключитесь к серверу по SSH.
Чтобы перейти в MySQL, выполните команду:
mysql -u u1234567_user -p
Где u1234567_user — имя пользователя MySQL. Затем введите пароль для входа в MySQL и нажмите Enter.
В консоли MySQL выполните команду:
USE u1234567_dbname;

Где u1234567_dbname — название базы данных, в которую нужно добавить таблицу. После выполнения команды появится уведомление:
Для создания таблицы используйте команду:
CREATE TABLE test (ID int, Name varchar(255), Age int);
- test — название таблицы,
- ID, Name и Age — названия столбцов,
- int и varchar(255) — типы данных. Значение int используется для числовых данных, а varchar — для текстовых. Для типа varchar число в скобках показывает, на сколько символов может быть заполнена ячейка таблицы.
После создания таблицы отобразится сообщение:

Готово, вы добавили таблицу через SSH-соединение.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь
Создание таблиц и ограничений

Опыт показывает, что абсолютное большинство разработчиков начального уровня, равно и тех, кто не специализируется на базах данных, допускает серию типичных ошибок и “ляпов”, создавая SQL-скрипты.
В этой статье мы рассмотрим лучшие устоявшиеся практики в отношении того, как создавать и оформлять DDL-скрипты для создания таблиц и ограничений.
Логическая модель данных:

Пример «плохого» DDL-кода:
create table Category ( CategoryID int identity primary key, Name nvarchar(20) not null UNIQUE, ModifiedDate date not null ) create table SwimmingClub ( SwimmingClubID int identity primary key, Name varchar(50) not null, City varchar(50) not null, Address varchar(50) not NULL, Phone varchar(50) not null, YearEstablished int not null, ModifiedDate date not NULL ) create table Swimmer ( SwimmerID int identity primary key, SwimmingClubID int not null, CategoryId int not null references Category(CategoryId), FirstName varchar(50) not null, LastName varchar(50) not null, YearOfBirth int not NULL, Gender int not null, ModifiedDate date not NULL ) create table Coach ( CoachID int identity primary key, FirstName varchar(50) not null, LastName varchar(50) not null, DateOfBirth date not NULL, CategoryID int not null references Category(CategoryID), ModifiedDate date not NULL ) create table SwimmerCoach ( SwimmerID int not null references Swimmer(SwimmerID), CoachID int not null references Coach(CoachID), ModifiedDate date not NULL ) goКод выше “плохой” по ряду причин:
- Он содержит код всех таблиц и ограничений одним “комком”.
- нескольким разработчикам тяжело работать над этим файлом одновременно (возможны merge-конфликты при сохранении результатов в SVC либо вместо распараллеливания разработку придется сериализовать);
- при изменении любой части кода нужно проводить заново тестирование всех объектов, перечисленных в файле;
- порядок создания сущностей и констрейнтов имеет значение, то есть при сбое в создании одного объекта “посыпятся” другие; при рефакторинге модели данных нужно думать о порядке выполнения новых фрагментов кода.
2. Таблицы создаются сразу с ограничениями (зачастую с анонимными), которые тяжело рефакторить или удалять. Проблемы появятся, когда мы захотим создать БД без ограничений или создать последние только после импорта данных.
3. Не соблюдены соглашения об именовании объектов и не выдержан единый стиль. Код трудно читать:
- регистр букв и ключевых слов “пляшет”;
- отступы и название схемы перед именем объекта отсутствуют;
- многие ограничения создаются неявно, без присвоения им имени (что может позже стать проблемой при необходимости изменить или удалить ограничение).
4. Имена идентификаторов, совпадающие с ключевыми словами языка SQL не экранированы.
5. Судя по косвенным признакам (например, часто повторяющимся типам varchar(50)) предварительный data-profiling не произведен.
6. Нет проверок на существование объектов перед их созданием
«Хороший» DDL-код подразумевает:
- следование определенным naming conventions и code style (а значит, читаемость);
- готовность к последующему рефакторингу;
- готовность к миграции на другие СУБД или к downgrade текущей;
- воспроизводимость результатов при перезапуске;
- возможность легкого и гибкого разворачивания;
- …
Посмотрим, к примеру, как можно было оформить DDL скрипт для создания таблицы dbo.Category (/SQL/code/DDL/tempdb — DDL — table — dbo.Category.sql):
--выбираем активную БД use tempdb go --создаем объект, предварительно проверяя был ли он создан ранее --стараемся использовать "классический" подход --drop table if exists #Category if OBJECT_ID('dbo.Category', 'U') is not null drop table dbo.Category go create table dbo.Category ( CategoryID tinyint not null identity, [Name] nvarchar(20) not null, ModifiedDate datetime not null, constraint PK_Category primary key ( CategoryID ) ) goОбратите внимание, в приведенном выше примере мы создаем объект, предварительно проверяя существует ли он уже, используя для этого классический для SQL Server подход. Эту же операцию можно было выполнить используя новый синтаксис drop table if exists, но последний вариант не будет работать на старых версиях СУБД (ситуация когда версия dev-сервера не совпадает с версией production-сервера, версии локальных dev-серверов для разных разработчиков не совпадают между собой или нужно выполнить downgrade не так уж и редка).
Возможно, еще лучшим вариантом для проверки наличия таблицы было бы использование INFORMATION_SCHEMA.TABLES, что работает не только в разных версиях SQL Server, но и легко переносится на другие версии реляционных СУБД, поддерживающих ANSI-стандарт.
Основной ключ таблицы создаем вместе с самой таблицей, так как его наличие – это требования первой нормальной формы и, в отличие от остальных, это ограничение действительно важное.
--выбираем активную БД use tempdb go --удаляем констрейнт если он был создан ранее --AK_Category_Name if exists(select 1 from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where CONSTRAINT_NAME = 'AK_Category_Name') alter table dbo.Category drop constraint AK_Category_Name go alter table dbo.Category add constraint AK_Category_Name unique ( [Name] ) go --Альтернативный способ проверки существования ограничения: DF_Category_ModifiedDate. --if exists(select 1 from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where CONSTRAINT_NAME = 'DF_Category_ModifiedDate') if OBJECT_ID('DF_Category_ModifiedDate', 'D') is not null alter table dbo.Category drop constraint DF_Category_ModifiedDate go alter table dbo.Category add constraint DF_Category_ModifiedDate default GETDATE() for ModifiedDate goОбратите внимание, имена всех ограничений соответствуют четкому правилу __.
В мире баз данных приняты такие префиксы:
DF – default, значение по умолчанию;
IX – index, некластерный, неуникальный индекс;
UC или AK – unique constraint, alternate key, альтернативный ключ, уникальный индекс;
PK – primary key, основной ключ;
FK – foreign key, внешний ключ.
В этом случае правило именования ограничения немного иное: FK__
Разделение DDL кода отдельно на таблицы и ограничения имеет смысл при деплойменте и рефакторинге.
Деплоймент в этом случае легко осуществить, выполнив сначала в любой последовательности все скрипты на создание таблиц, а потом все скрипты на создание ограничений (опять же, в любой последовательности).
Если не делать это разделение, во время релиза нужно думать о порядке выполнения скриптов (так как внешние ключи требуют уже существующей таблицы, на которую ключ ссылается).Рефакторинг отдельных мелких скриптов можно выполнять в параллели (в отличие от работы над единым большим скриптом).
Плюс, несколько измененных мелких скриптов требуют ограниченного тестирования, в то время как один измененный большой скрипт требует полного ретеста.
Все скрипты DDL данного учебного проекта находятся здесь: https://github.com/timoti1/T-SQL
Обратите внимание также на именование файлов и структуру папок репозитория. Тут тоже должно работать некоторое соглашение об именовании объектов, не позволяющее репозиторию превращаться в свалку мусора, когда непонятно что где лежит и какие файлы за что отвечают.
Вывод.
Код чаще читается чем пишется и, зачастую, его пишет один человек, а читают многие! Порой кроме кода нет никакой иной документации.
Уделяйте внимание тому насколько надежен, насколько понятен другим и как выглядит продукт вашего труда. Более того, создавайте код, который легко деплоить, переносить на другой сервер, тестировать и редактировать одновременно нескольким разработчикам!
Автор материала – Тимофей Гавриленко, преподаватель Тренинг центра ISsoft.
Образование: окончил с отличием математический факультет Гомельского Государственного Университета им. Франциска Скорины.
Microsoft Certified Professional (70-464, 70-465).
Работа: c 2011 года работает в компании ISsoft (ETL/BI Developer, Release Manager, Data Analyst/Architect, SQL Training Manager), на протяжении 10 лет до этого выступал как Sysadmin, DBA, Software Engineer.
В свободное время ведет бесплатные образовательные курсы для детей и взрослых, желающих повысить свой уровень компьютерной грамотности и переквалифицироваться в IT-специалиста.
Как создать таблицу в MySQL
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 11 человек(а).
Количество просмотров этой статьи: 74 535.
В этой статье:
Таблицы составляют основу структуры базы данных MySQL. Таблицы содержат введенную в базу данных информацию и могут быть созданы для любых целей хранения данных. Создание таблицы занимает всего несколько минут, особенно если у вас лишь несколько записей для сохранения. В этой статье мы и расскажем, как это сделать.
Часть 1 из 2:
Создание таблицы
- Если вы не помните имя базы данных, наберите SHOW DATABASES; , чтобы вывести список баз данных на сервере MySQL.
- Если у вас пока нет базы данных, вы можете ее создать, набрав CREATE DATABASE database ; . Имя базы данных не может содержать пробелы.
![]()
- INT — этот тип данных для целых чисел, и он часто используется для поля идентификатора (ID).
- DECIMAL — этот тип хранит десятичные значения и определяется как общее количество цифр и количество цифр после запятой. Например: DECIMAL(6,2) будет содержать числа вида "0000.00".
- CHAR —- это основной тип данных для текста и строк. При этом обычно нужно указать только максимальное количество содержащихся символов, например CHAR(30) . Вы также можете использовать VARCHAR, чтобы менять размер в зависимости от введенных данных. Телефонные номера должны сохраняться с использованием этого типа данных, так как они зачастую содержат символы и никак не взаимодействуют с числами (их не складывают, не вычитают и так далее). [1] X Источник информации
- DATE — этот тип данных хранит даты в формате ГГГГ-ММ-ДД. Используйте этот, если хотите хранить чей-то возраст, а не просто фактический возраст, в противном случае вам придется каждый год обновлять эту запись.
![]()
Создайте таблицу. Чтобы создать таблицу из командной строки, вам нужно создать все поля с помощью одной команды. Вы создаете таблицы, используя команду 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, введите следующий код, заменив информацию о соединении на актуальную для вас:
$connection=mysqli_connect(samp|server>>,samp|user>>,samp|password>>, samp|database>>); if (mysqli_connect_errno()) echo "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); > ?>
Как создать таблицу в sql код
Вы можете создать таблицу, указав её имя и перечислив все имена столбцов и их типы:
CREATE TABLE weather ( city varchar(80), temp_lo int, -- минимальная температура дня temp_hi int, -- максимальная температура дня prcp real, -- уровень осадков date date );
Весь этот текст можно ввести в psql вместе с символами перевода строк. psql понимает, что команда продолжается до точки с запятой.
В командах SQL можно свободно использовать пробельные символы (пробелы, табуляции и переводы строк). Это значит, что вы можете ввести команду, выровняв её по-другому или даже уместив в одной строке. Два минуса ( « -- » ) обозначают начало комментария. Всё, что идёт за ними до конца строки, игнорируется. SQL не чувствителен к регистру в ключевых словах и идентификаторах, за исключением идентификаторов, взятых в кавычки (в данном случае это не так).
varchar(80) определяет тип данных, допускающий хранение произвольных символьных строк длиной до 80 символов. int — обычный целочисленный тип. real — тип для хранения чисел с плавающей точкой одинарной точности. date — тип даты. (Да, столбец типа date также называется date . Это может быть удобно или вводить в заблуждение — как посмотреть.)
Postgres Pro поддерживает стандартные типы SQL : int , smallint , real , double precision , char( N ) , varchar( N ) , date , time , timestamp и interval , а также другие универсальные типы и богатый набор геометрических типов. Кроме того, Postgres Pro можно расширять, создавая набор собственных типов данных. Как следствие, имена типов не являются ключевыми словами в данной записи, кроме тех случаев, когда это требуется для реализации особых конструкций стандарта SQL .
Во втором примере мы сохраним в таблице города и их географическое положение:
CREATE TABLE cities ( name varchar(80), location point );
Здесь point — пример специфического типа данных Postgres Pro .
Наконец, следует сказать, что если вам больше не нужна какая-либо таблица, или вы хотите пересоздать её по-другому, вы можете удалить её, используя следующую команду:
DROP TABLE имя_таблицы;
| Пред. | Наверх | След. |
| 2.2. Основные понятия | Начало | 2.4. Добавление строк в таблицу |

