- •Типы данных столбцов
- •Пример:
- •То автоматически генерируется уникальный id (то же, если поле id вообще не указывать в команде вставки).
- •Обычно, следует выполнять select для set-столбца, используя оператор like или функцию find_in_set():
- •Но и такая форма также работает:
- •'Yyyy-mm-dd',yy-mm-dd' Например '98-12-31', "98.12.31', '98/12/31'
- •Describe messy # Описать таблицу 'messy'
- •Например, drop table people, animals, plants удалит эти три таблицы. Drop table oh_no, help_me, dont_do_it # Удалить таблицы 'oh_no', 'help_me' и 'dont_do_it'
- •Например, можно указать следующее:
- •Но нельзя указать:
- •Например:
- •Быстрая загрузка данных
- •Синтаксис оператора truncate
- •Примеры:
- •(Например, select name from people; select mydata.People.Name from people ).
- •Подзапросы -- Язык sql разрешает использовать в других операторах языка dml подзапросы, которые являются внутренними запросами, определяемыми оператором select.
- •Применение подзапросов в операторах изменения данных
- •Демонстрируется использование mysql в качестве несложного калькулятора:
- •Проверка таблицы при помощи команды describe:
- •Выборка всех данных
- •Выборка определенных строк. Выборка с условием Из таблицы можно выбрать и только нужные строки, если надо проверить правильность внесенных в дату рождения собаки Bowser изменений:
- •В условиях может указываться любой из столбцов:
- •Условия можно и комбинировать, например для того, чтобы выделить всех собак женского пола:
- •В предыдущем запросе использован оператор and. Существует еще и оператор or:
- •Операторы and и or можно использовать совместно.
- •Выборка определенных столбцов Достаточно просто перечислить имена нужных столбцов, разделив их запятыми.
- •Получить имена владельцев животных можно с помощью следующего запроса:
- •Сократить количество выводимых строк можно, воспользовавшись ключевым словом distinct - тогда будут выводиться только уникальные записи:
- •При помощи выражения where можно комбинировать выбор строк и столбцов. Например для того, чтобы загрузить даты рождения только кошек и собак, можно воспользоваться следующим запросом:
- •Сортировка строк Для этого используется выражение order by.
- •Предположим, нужно узнать, в каком возрасте животные давали приплод:
- •В этом запросе мы указываем псевдонимы имен таблицы, для обращения к столбцам и определения, к какой из таблиц относится каждая ссылка на столбец.
- •Сортировку можно проводить по нескольким столбцам сразу.
- •Отсортировать результаты по возрасту также можно при помощи выражения order by:
- •Этот запрос подсчитывает, сколько различных дней входит в данную комбинацию год/месяц, автоматически исключая дублирующиеся значения.
Describe messy # Описать таблицу 'messy'
DESC big my\_% # Показать информацию о всех столбцах таблицы 'big начинающихся с 'mу_'
Выводит различную информацию о системе MySQL. Выражение можно использовать для выяснения статуса или структуры практически любой части
SHOW DATABASES [LIKE wild]
SHOW KEYS FROM table_name
SHOW TABLES [FROM database] [LIKE wild]
SHOW [COLUMNS|FIELDS] FROM table [FROM database] [LIKE wild]
SHOW INDEX FROM table [FROM database]
SHOW COLUMNS FROM table [FROM database] [LIKE clause]
SHOW FIELDS FROM table [FROM database] [LIKE clause]
SHOW STATUS
SHOW TABLE STATUS [FROM database] [LIKE clause]
SHOW VARIABLES [LIKE clause]
Отображает информацию о базе данных MySQL
ПРИМЕР:
mysql> SHOW fields FROM Widget_Table from WidgetDB;
Field |
Type |
Null |
Key |
Default |
Extra |
|
|
widget_id |
mediumint(8) |
PRI |
0 |
auto_increment |
|
|
|
widget_name |
char(60) |
|
MUL |
|
|
|
|
widget_color_id |
mediumint(8) |
|
MUL |
0 |
|
|
|
widget_size_id |
mediumint(8) |
|
|
0 |
|
|
|
widgets_on_hand |
smallint(5) |
|
|
0 |
|
|
|
widget_price |
float(8,2) |
|
|
|
0.00 |
|
|
commission_percent |
float(4,2) |
|
|
|
0.00 |
|
|
Null будет содержать YES, если это поле может быть равным NULL, Key сообщает имеет ли это поле индекс, Default сообщает значение по умолчанию, которое будет назначено этому полю, если там ничего не окажется после выполнения команды INSERT, Extra
SHOW DATABASES # Показать все доступные БД
SHOW KEYS FROM bigdata #Показать информацию об индексах таблицы 'bigdata'
SHOW INDEX FROM bigdata FROM mydata # Показать информацию об индексах в таблице 'bigdata' в БД 'mydata'
SHOW TABLES FROM mydata LIKE 'z%' # Показать все доступные таблицы из БД 'mydata', начинающиеся с буквы 'z'
SHOW COLUMNS FROM stakes # Выдать информацию обо всех столбцах таблицы 'skates'
SHOW FIELDS FROM people LIKE '%\_name' # Выдать информацию обо всех столбцах таблицы 'people', с именами кончающимися на '_name'
DROP DATABASE tdata Удаляет всю базу и все файлы, связанные с ней. Пользователю возвращается количество удаленных файлов. Так как большинство таблиц представлено тремя файлами, обычно возвращаемое значение равно числу таблиц, умноженному на три.
DROP TABLE [IF EXISTS] name [, name2, ...] Полностью стирает таблицу. Можно указать IF EXISTS , чтобы MySQL не возвращала ошибку при попытке удалить несуществующую таблицу.
Для выполнения этой операции необходимо права DELETE и DROP на таблицу. MySQL уничтожит все данные удаленной таблицы. Можно одной командой удалить несколько таблиц, разделяя их имена запятыми.