English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Создание таблицы
create table имя_таблицы
create table if not exists имя_таблицы
mysql> create database company; Запрос выполнен успешно, изменено 1 строка (0.00 сек) mysql> use company; База данных изменена mysql> create table if not exists t_dept( -> deptno int, -> dname varchar(20), -> loc varchar(40)); Запрос выполнен успешно, изменено 0 строк (0.20 сек) mysql> show tables; +-------------------+ | Tables_in_company | +-------------------+ | t_dept | +-------------------+ 1 строка вセット (0.00 сек) mysql>
Показать все таблицы текущей базы данных
show tables;
mysql> show tables; +-------------------+ | Tables_in_company | +-------------------+ | t_dept | +-------------------+ 1 строка вセット (0.00 сек)
Просмотр структуры таблицы
describe имя_таблицы
Сокращение
desc имя_таблицы
mysql> describe t_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 строки вセット (0.00 сек) mysql> desc t_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 строки вセット (0.00 сек)
Просмотр подробной информации о таблице
show create table имя_таблицы
mysql> show create table t_dept; +--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Таблица | Создать таблицу | +--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | t_dept | CREATE TABLE `t_dept` ( `deptno` int(11) DEFAULT NULL, `dname` varchar(20) DEFAULT NULL, `loc` varchar(40) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 строка вセット (0.00 сек) show create table t_dept \G mysql> show create table t_dept \G *************************** 1. строка *************************** Table: t_dept Create Table: CREATE TABLE `t_dept` ( `deptno` int(11) DEFAULT NULL, `dname` varchar(20) DEFAULT NULL, `loc` varchar(40) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 строка вセット (0.00 сек)
Удалить таблицу
drop table имя_таблицы
drop table if exists имя_таблицы
mysql> drop table if exists t_dept; Запрос выполнен успешно, не затронуты строки (0.12 сек) mysql> show tables; Пустой набор (0.00 сек)
Изменить имя таблицы
ALTER TABLE old_table_name RENAME [TO] new_table_name
old_table_name Старое имя таблицы
new_table_name Новое имя таблицы
Изменить t_dept на tab_dept
mysql> alter table t_dept rename tab_dept; Запрос выполнен успешно, не затронуты строки (0.09 сек) mysql> show tables; +-------------------+ | Tables_in_company | +-------------------+ | tab_dept | +-------------------+ 1 строка вセット (0.00 сек) mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 строки вセット (0.00 сек)
Добавить поле в таблицу по умолчанию в конце
ALTER TABLE table_name ADD имя_атрибута тип_атрибута
Добавить поле descri varchar(20) к tab_dept
mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 строки вセット (0.00 сек) mysql> alter table tab_dept add descri varchar(20); Запрос выполнен успешно, изменено 0 строк (0.33 сек) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | varchar(20) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 строки вセット (0.00 сек)
Добавить поле в первую позицию таблицы
ALTER TABLE table_name ADD имя_атрибута тип_атрибута first
mysql> alter table tab_dept add id int first; Запрос выполнен успешно, не затронуты строки (0.38 сек) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | varchar(20) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 строк в наборе (0.00 сек)
Добавить поле после указанного поля в таблице
ALTER TABLE table_name ADD attribute_name attribute_type AFTER attribute_name
mysql> alter table tab_dept add comm varchar(20) after dname; Query OK, 0 rows affected (0.31 sec) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | comm | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | varchar(20) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 6 rows in set (0.00 sec)
Удаление поля
ALTER TABLE table_name DROP attribute_name
mysql> alter table tab_dept drop comm; Query OK, 0 rows affected (0.32 sec) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | varchar(20) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 строк в наборе (0.00 сек)
Изменение поля - изменить тип данных поля
ALTER TABLE table_name MODIFY attribute_name data_type
mysql> alter table tab_dept modify descri int; Query OK, 0 rows affected (0.45 sec) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | int(11) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 строк в наборе (0.00 сек)
Изменение поля - изменить имя поля
ALTER TABLE table_name CHANGE old_attribute_name new_attribute_name old_data_type
mysql> alter table tab_dept change id deptid int; Query OK, 0 rows affected (0.07 sec) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | deptid | int(11) | YES | | NULL | | | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | int(11) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 строк в наборе (0.00 сек)
Изменение поля - одновременно изменить имя поля и тип данных
ALTER TABLE table_name CHANGE old_attribute_name new_attribute_name new_data_type
mysql> alter table tab_dept change deptid id varchar(32); Query OK, 0 rows affected (0.49 sec) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | id | varchar(32) | YES | | NULL | | | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | int(11) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 строк в наборе (0.00 сек)
Изменение порядка
ALTER TABLE table_name MODIFY attribute_name1 data_type FIRST|AFTER attribute_name2
Должны существовать 2 атрибута
Переменная deptno должна быть перемещена в первое положение
mysql> alter table tab_dept modify deptno int first; Запрос выполнен успешно, изменено 0 строк (0.33 сек) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | YES | | NULL | | | id | varchar(32) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | int(11) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 строк в наборе (0.00 сек)
Поставить ID в конце
mysql> alter table tab_dept modify deptno int after descri; Запрос выполнен успешно, изменено 0 строк (0.29 сек) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | id | varchar(32) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | int(11) | YES | | NULL | | | deptno | int(11) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 строк в наборе (0.00 сек) mysql> alter table tab_dept modify deptno int first; Запрос выполнен успешно, изменено 0 строк (0.34 сек) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> alter table tab_dept modify id int after descri; Запрос выполнен успешно, изменено 0 строк (0.47 сек) Записи: 0 Дубликаты: 0 Предупреждения: 0 mysql> desc tab_dept; +--------+-------------+------+-----+---------+-------+ | Поле | Тип | Null | Ключ | Значение по умолчанию | Extra | +--------+-------------+------+-----+---------+-------+ | deptno | int(11) | YES | | NULL | | | dname | varchar(20) | YES | | NULL | | | loc | varchar(40) | YES | | NULL | | | descri | int(11) | YES | | NULL | | | id | int(11) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 5 строк в наборе (0.00 сек)