Команды для работы с таблицами MySQL
Отредактировано: 12 Февраля 2019
Тут представлены основные наиболее частые команды для работы с таблицами. Полный синтаксис команд можно узнать в оффициальной документации по MySQL.
Создание таблицы MySQL
Таблицы можо создать при помощи команды CREATE TABLE. Количество указываемых столбцов — не ограничено, параметры column_attributes и tables_attributes — не обязательны.
CREATE TABLE table_name
(column_name1 data_type1 column_attributes1,
column_name2 data_type2 column_attributes2,
..........................................
column_nameN data_typeN column_attributesN,
// например:
// Id INT,
// UserName VARCHAR(20),
// Необязательный атрибут
tables_attributes
)
Основные типы данных
- INT — тип данных для целых чисел.
- DECIMAL — тип хранит десятичные значения и определяется как общее количество цифр и количество цифр после запятой. Например: DECIMAL(6,2) будет содержать числа вида "0000.00".
- CHAR — для фиксированного текста и строк. В скобках нужно указать максимальное количество содержащихся символов, например CHAR(30).
- VARCHAR — для неограниченного текста и строк. Размер будет изменяться в зависимости от введенных данных.
- DATE — хранит даты в формате ГГГГ-ММ-ДД.
Переименование таблицы MySQL
Для переименования таблицы используется команда RENAME TABLE, таблицы указываются вместе с префиксом.
RENAME TABLE old_table_name TO new_table_name;
Таблиц в списке может быть несколько:
RENAME TABLE old_table_name TO new_table_name[, old_table_name2 TO new_table_name2,...]
Замещение таблицы пустой таблицей:
CREATE TABLE new_table (...);
RENAME TABLE old_table TO backup_table, new_table TO old_table;
Вывод характеристик таблицы
DESCRIBE table_name;
Загрузка единичных данных в таблицу
Для небольшого количества строк можно использовать команду INSERT INTO, ее наиболее простая запись:
INSERT INTO `table_name` (column_1, column_2, ...) VALUES (value_1, value_2, ...);
Можно вставить значение из другой таблицы:
INSERT INTO table_1 SELECT * FROM table_2;
Загрузка данных из файла в таблицу
LOAD DATA LOCAL INFILE "data.txt" INTO TABLE table_name;
Файл должен быть правильно отформатирован. По умолчанию, в качестве маркера конца строки и символа, разделяющего значения столбцов используются символы табуляции и перевода строки:
- содержать по одной записи в каждой строке;
- значения столбцов должны быть разделены символами табуляции и даны в том порядке, который был определен командой CREATE TABLE
- Незаполненным полям можно присвоить значение
NULL (в
текстовом файле это значение представляется символами\N)
.
Маркер конца строки и символ, разделяющий значения столбцов, можно переопределить в команде LOAD DATA.
Работа со столбцами таблиц
Для изменения структуры уже существующей таблицы используется команда ALTER TABLE.
ALTER [IGNORE] TABLE table_name specification [, specification_2 ...]
- IGNORE — если параметр не задан, то при обнаружении дублирующих значений в уникальных ключах в новой таблице производиться отмена всех изменений. Если задан при обнаружении дублирующих значений в уникальных ключах первая запись с дублирующим ключем остается, а остальные удаляются.
Добавление нового столбца:
// Схема
ALTER TABLE table_name ADD column_name column_attributes position
// Простое добавление столбца
ALTER TABLE table_name ADD column_name INT
// Добавление столбца в начало
ALTER TABLE table_name ADD column_name TEXT FIRST
// Добавление столбца после столбца
ALTER TABLE table_name ADD column_name5 VARCHAR AFTER column_name3
// Добавление нескольких столбцов
ALTER TABLE table_name ADD column_name1 TEXT, ADD column_name2 VARCHAR(255), ADD column_name3 INT(11)
// Добавление нескольких столбцов с позиционированием
ALTER TABLE table_name ADD column_name1 TEXT AFTER old_column_name_1, ADD column_name2 INT(11) AFTER old_column_name_2
Переименование столбца:
ALTER TABLE table_name CHANGE COLUMN `old_column_name` `new_column_name` column_attributes
Удаление старого столбца:
// Удаление одного столбца
ALTER TABLE table_name DROP column_name
// Удаление нескольких столбцов
ALTER TABLE table_name DROP column_name1, DROP column_name2, DROP column_name3
Полное удаление данных из таблицы
TRUNCATE TABLE table_name;
Удаление таблицы MySQL
DROP TABLE table_name;
Здравствуйте!
Позвольте представиться, меня зовут Марина. Более 10 лет я занимаюсь обслуживанием сайтов и развитием интернет проектов. Если вы хотите избавиться от хлопот связанных с созданием и поддержкой сайта, тогда вы попали по адресу. При работе с сайтами я предоставляю качественные услуги, ориентируясь на ваши индивидуальные потребности. Для связи со мной воспользуйтесь формой обратной связи.