Меню

Как вывести содержимое всей таблицы mysql



Полезные команды MySQL

Авторизация на сервере (из консоли), -h при необходимости авторизации на удалённом сервере

mysql -h hostname -u root -p

Создание БД

mysql> create database `databasename`;

Создание БД с указанием необходимой кодировки

mysql> create database `databasename` default character set ‘utf8’ collate ‘utf8_unicode_ci’;

Получить список всех БД на сервере

mysql> show databases;

Переключится на БД

mysql> use `db name`;

Получить список таблиц в базе

mysql> show tables;

Посмотреть структуру таблицы

mysql> describe `table name`;

Ещё один вариант

mysql> show columns from `table name`;

Удалить БД

mysql> drop database `database name`;

Удалить таблицу

mysql> drop table `table name`;

Показать все данные в таблице

mysql> SELECT * FROM `table name`;

Показать строки, где поле `field name` имеет значение «whatever».

mysql> SELECT * FROM `table name` WHERE `field name` = ‘whatever’;

Показать строки с именем «Bob» и номеном «3444444»

mysql> SELECT * FROM `table name` WHERE name = ‘Bob’ AND phone_number = 3444444;

Показать строки с номером «3444444» не содержащие имени «Bob» отсортированные по номеру.

mysql> SELECT * FROM `table name` WHERE name != ‘Bob’ AND phone_number = 3444444 order by phone_number;

Показать записи с именем, начинающимся на «bob» и номером 3444444

mysql> SELECT * FROM `table name` WHERE name like ‘Bob%’ AND phone_number = 3444444;

Верннуть все данные с именем, начинающемся на «bob» и номером 3444444 ограничить вывод пятью первыми строками

mysql> SELECT * FROM `table name` WHERE name like ‘Bob%’ AND phone_number = 3444444 limit 0,5;

Используем регулярное выражение. Для регистрозависимого выбора используйте «REGEXP BINARY». Данный запрос найдёт все записи, начинающиеся на «a»

mysql> SELECT * FROM `table name` WHERE rec RLIKE ‘^a’;

Показать уникальные записи

mysql> SELECT DISTINCT `column name` FROM `table name`;

Показать выбранные колонки отсортированные от а до я (ASC) или от я до а (DESC)

mysql> SELECT `col1`,`col2` FROM `table name` ORDER BY `col2` DESC;

Вернуть количество строк в таблице.

mysql> SELECT COUNT(*) FROM `table name`;

Просуммировать все числовые поля таблицы

mysql> SELECT SUM(*) FROM `table name`;

Объединение таблиц. Как работает JOIN (в картинках)

mysql> select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;

Создание пользователя. Вход под root. Переключение на БД mysql. Создание пользователя и обновление привилегий.

mysql -u root -p mysql> use mysql;
mysql> INSERT INTO user (Host,User,Password) VALUES(‘%’,’username’,PASSWORD(‘password’));
mysql> flush privileges;

Смена пароля пользователя из консоли

mysqladmin -u username -h hostname -p password ‘new-password’

Смена пароля пользователя из консоли MySQL. Вход как root. Смена пароля. Обновление привелегий.

mysql -u root -p mysql> SET PASSWORD FOR ‘user’@’hostname’ = PASSWORD(‘passwordhere’);
mysql> flush privileges;

Восстановление пароля root пользователя. Остановить MySQL сервер. Запустить с пониженной безопасностью. Залогинится на MySQL как root. Установить новый пароль. Разлогинится и перезапустить MySQL сервер.

/etc/init.d/mysql stop
mysqld_safe —skip-grant-tables &
mysql -u root mysql> use mysql;
mysql> update user set password=PASSWORD(‘newrootpassword’) where User=’root’;
mysql> flush privileges;
mysql> quit /etc/init.d/mysql stop
/etc/init.d/mysql start

Установка пароля root если он ещё не задавался ранее

mysqladmin -u root password newpassword

Смена пароля root

mysqladmin -u root -p oldpassword newpassword

Разрешить пользователю «Bob» подключаться к серверу c локального адреса с паролем «passwd». Войти как root. Переключиться на БД mysql. Дать привилегии. Обновить привелегии.

mysql -u root -p mysql> use mysql;
mysql> grant usage on *.* to bob@localhost identified by ‘passwd’;
mysql> flush privileges;

Предоставить пользователю привилегии на БД. Авторизоваться как root. Переключиться на БД mysql. Предоставить привилегии. Обновить кеш привилегий.

mysql -u root -p mysql> use mysql;
mysql> INSERT INTO user (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES (‘%’,’databasename’,’username’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’);
mysql> flush privileges;

mysql> grant all privileges on databasename.* to username@localhost;
mysql> flush privileges;

Обновить информацию для существующего пользователя

mysql> use mysql;
mysql> UPDATE `user` SET Select_priv = ‘Y’,Insert_priv = ‘Y’,Update_priv = ‘Y’ where `User` = ‘user’;
flush privileges;

Удалить строки из таблицы

mysql> DELETE from `table name` where `field_name` = ‘whatever’;

Обновить кеш привилегий

mysql> flush privileges;

Удалить колонку из таблицы

mysql> alter table `table name` drop column `column name`;

Добавить колонку в таблицу

mysql> alter table `table name` add column `new column name` varchar (20);

Переименовать колонку

mysql> alter table `table name` change `old column name` `new column name` varchar (50);

Сделать данные в колоке уникальными (если дублирующиеся уже есть — будет ошибка)

mysql> alter table `table name` add unique (`column name`);

Читайте также:  Нормативы и разряды по спортивной гимнастике
Модифицировать колонку

mysql> alter table `table name` modify `column name` VARCHAR(3);

Удалить индекс

mysql> alter table `table name` drop index `colmn name`;

Загрузить данные в БД из CSV файла.

mysql> LOAD DATA INFILE ‘/tmp/filename.csv’ replace INTO TABLE `table name` FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’ (field1,field2,field3);

Сделать дамп всех БД для бэкапа. Бэкап это файл с SQL командами для воссоздания всех баз.

mysqldump -u root -p —opt > /tmp/alldatabases.sql

Сделать дамп одной базы.

mysqldump -u username -p —databases databasename > /tmp/databasename.sql

Сделать дамп одной таблицы

mysqldump -c -u username -p databasename tablename > /tmp/databasename.tablename.sql

Восстановить БД (или таблицу) из бэкапа

mysql -u username -p databasename CREATE TABLE `table name` (
`firstname` VARCHAR(20),
`middleinitial` VARCHAR(3),
`lastname` VARCHAR(35),
`suffix` VARCHAR(3),
`officeid` VARCHAR(10),
`userid` VARCHAR(15),
`username` VARCHAR(8),
`email` VARCHAR(35),
`phone` VARCHAR(25),
`groups` VARCHAR(15),
`datestamp` DATE,
`timestamp` time,
`pgpemail` VARCHAR(255)
);

Создание таблицы, пример 2.

mysql> CREATE TABLE `table name` (
personid int(50) not null auto_increment primary key,
firstname VARCHAR(35),
middlename VARCHAR(50),
lastname VARCHAR(50) default ‘bato’
);

Источник

SELECT, SELECT DISTINCT. Вывод данных из таблиц в MySQL

Команда SELECT

SELECT используется для создания выборок из базы данных MySQL.

С помощью SELECT можно:

  • выводить данные из одной или нескольких таблиц и колонок.
  • вывести все данные из таблицы используя оператор * .
  • выводить данные с условием, используя команду WHERE .
  • ограничить количество выводимых записей, используя команду LIMIT .
  • задать смещение колонок, используя команду OFFSET .

Синтаксис запроса вывода данных из таблицы

В запросе мы выбираем из каких колонок (column1, column2, . ) какой таблицы (table_name) мы хотим получить данные.

Если нужно получить данные всех колонок таблицы, то воспользуйтесь оператором * .

Вывод данных таблицы в терминале

Пример вывода данных колонок id, title, author, price, amount из таблицы books.

mysql> USE Bookstore;
Database changed

mysql> SELECT id, title, author, price, amount FROM books;
+—-+—————————+———————+———+———+
| id | title | author | price | amount |
+—-+—————————+———————+———+———+
| 1 | Дубровский (Акция) | Александр Пушкин | 230.00 | 20 |
| 2 | Нос (Акция) | Николай Гоголь | 255.20 | 7 |
| 3 | Мастер и Маргарита | Михаил Булгаков | 263.00 | 8 |
| 4 | Мёртвые души (Акция) | Николай Гоголь | 173.00 | 3 |
| 5 | Преступление и наказание | Фёдор Достоевский | 245.00 | 3 |
| 6 | Война и мир | Лев Толстой | 341.00 | 1 |
| 7 | Анна Каренина | Лев Толстой | 346.00 | 0 |
| 8 | Отцы и дети | Иван Тургенев | 371.00 | 3 |
| 9 | Собачье сердце | Михаил Булгаков | 232.00 | 10 |
| 10 | Бесы | Фёдор Достоевский | 212.00 | 8 |
+—-+—————————+———————+———+———+
10 rows in set (0.00 sec)

Запрос для вывода данных всех колонок из таблицы books, будет выглядеть так.

Вывод данных можно также организовать не только в виде таблицы, но и в виде списка, просто добавьте флаг \G после имени таблицы.

mysql> SELECT * FROM books \G;
*************************** 1. row ***************************
id: 1
title: Дубровский (Акция)
author: Александр Пушкин
genre: Драма,Повесть
price: 230.00
discount: 15
edition: 1
isbn: 841-6-817-134484-1
page_num: 120
publish_year: 1855
creation_date: 2019-01-28 15:17:12
amount: 20
shelf_position: f4a322ccca

Вывод данных из нескольких таблиц

Если у вас есть несколько связанных таблиц, то с помощью SELECT вы можете выводить их данные составляя из них одну таблицу.

Например мы имеем таблицу с книгами — books и их заказами — orders.

Выведем колонки id, book_id и status для таблицы orders.

Имея идентификаторы записей таблицы books в колонке book_id, мы можем соотнести их с колонкой id в таблице books с помощью команды WHERE . В результате мы можем узнать статус заказа для каждой книги.

Выведем колонки title, author, price из таблицы books и колонку status из таблицы orders.

mysql> SELECT title, author, price, status FROM books, orders WHERE books.id=book_id;
+———————+——————-+———+——————+
| title | author | price | status |
+———————+——————-+———+——————+
| Мастер и Маргарита | Михаил Булгаков | 263.00 | Новый |
| Дубровский (Акция) | Александр Пушкин | 230.00 | Обрабатывается |
+———————+——————-+———+——————+
2 rows in set (0.00 sec)

Вывести колонки с одинаковыми именами, например id, в данном случае не получится, т.к. они имеются в обоих таблицах.

Команда SELECT DISTINCT

В отличие от обычного SELECT , SELECT DISCTINCT позволяет выводить только уникальные (не повторяющиеся) данные из таблицы БД.

Источник

Как вывести содержимое всей таблицы mysql

Команда SELECT

SELECT используется для создания выборок из базы данных MySQL.

С помощью SELECT можно:

  • выводить данные из одной или нескольких таблиц и колонок.
  • вывести все данные из таблицы используя оператор * .
  • выводить данные с условием, используя команду WHERE .
  • ограничить количество выводимых записей, используя команду LIMIT .
  • задать смещение колонок, используя команду OFFSET .
Читайте также:  Как выровнять текст по высоте по вертикали ячейки

Синтаксис запроса вывода данных из таблицы

В запросе мы выбираем из каких колонок (column1, column2, . ) какой таблицы (table_name) мы хотим получить данные.

Если нужно получить данные всех колонок таблицы, то воспользуйтесь оператором * .

Вывод данных таблицы в терминале

Пример вывода данных колонок id, title, author, price, amount из таблицы books.

mysql> USE Bookstore;
Database changed

mysql> SELECT id, title, author, price, amount FROM books;
+—-+—————————+———————+———+———+
| id | title | author | price | amount |
+—-+—————————+———————+———+———+
| 1 | Дубровский (Акция) | Александр Пушкин | 230.00 | 20 |
| 2 | Нос (Акция) | Николай Гоголь | 255.20 | 7 |
| 3 | Мастер и Маргарита | Михаил Булгаков | 263.00 | 8 |
| 4 | Мёртвые души (Акция) | Николай Гоголь | 173.00 | 3 |
| 5 | Преступление и наказание | Фёдор Достоевский | 245.00 | 3 |
| 6 | Война и мир | Лев Толстой | 341.00 | 1 |
| 7 | Анна Каренина | Лев Толстой | 346.00 | 0 |
| 8 | Отцы и дети | Иван Тургенев | 371.00 | 3 |
| 9 | Собачье сердце | Михаил Булгаков | 232.00 | 10 |
| 10 | Бесы | Фёдор Достоевский | 212.00 | 8 |
+—-+—————————+———————+———+———+
10 rows in set (0.00 sec)

Запрос для вывода данных всех колонок из таблицы books, будет выглядеть так.

Вывод данных можно также организовать не только в виде таблицы, но и в виде списка, просто добавьте флаг \G после имени таблицы.

mysql> SELECT * FROM books \G;
*************************** 1. row ***************************
id: 1
title: Дубровский (Акция)
author: Александр Пушкин
genre: Драма,Повесть
price: 230.00
discount: 15
edition: 1
isbn: 841-6-817-134484-1
page_num: 120
publish_year: 1855
creation_date: 2019-01-28 15:17:12
amount: 20
shelf_position: f4a322ccca

Вывод данных из нескольких таблиц

Если у вас есть несколько связанных таблиц, то с помощью SELECT вы можете выводить их данные составляя из них одну таблицу.

Например мы имеем таблицу с книгами — books и их заказами — orders.

Выведем колонки id, book_id и status для таблицы orders.

Имея идентификаторы записей таблицы books в колонке book_id, мы можем соотнести их с колонкой id в таблице books с помощью команды WHERE . В результате мы можем узнать статус заказа для каждой книги.

Выведем колонки title, author, price из таблицы books и колонку status из таблицы orders.

mysql> SELECT title, author, price, status FROM books, orders WHERE books.id=book_id;
+———————+——————-+———+——————+
| title | author | price | status |
+———————+——————-+———+——————+
| Мастер и Маргарита | Михаил Булгаков | 263.00 | Новый |
| Дубровский (Акция) | Александр Пушкин | 230.00 | Обрабатывается |
+———————+——————-+———+——————+
2 rows in set (0.00 sec)

Вывести колонки с одинаковыми именами, например id, в данном случае не получится, т.к. они имеются в обоих таблицах.

Команда SELECT DISTINCT

В отличие от обычного SELECT , SELECT DISCTINCT позволяет выводить только уникальные (не повторяющиеся) данные из таблицы БД.

Источник

Как вывести данные из MySQL – руководство для не шаманов

Дата публикации: 2016-04-25

Как вывести данные из MySQL – руководство для не шаманов

От автора: что вы мобильник так трясете? Письмо пришло на почтовый ящик, а вы его прочитать не можете? Понятно! Вы бы еще, чтобы вывести данные из MySQL, с бубном возле ПК побегали. После «изъятия» письма этим и собирались заняться, и даже бубен прихватили? Ну ладно, не буду мешать. А для остальных «не шаманов» расскажу, как «вынуть» данные из MySQL без бубна.

Средства вывода phpMyAdmin

Отложите пока в сторону бубен, глаза ползучего питона и ожерелье из мухоморов. Опробуем для получения информации из БД менее «магические» способы. Начнем с рассмотрение возможностей, которые предоставляет для этого оболочка phpMyAdmin. Запускаем программу, слева в списке выбираем нужную базу. Чтобы вывести данные из таблицы MySQL, в основном верхнем меню переходим в раздел «Обзор». После этого получаем содержимое выбранной таблицы.

В результате нам удалось в три щелчка получить доступ к содержимому нужной базы данных. Но что-то выбранная для экспериментов БД уж слишком приелась. Конечно, все мы любим «зверюшек», но от наших «танцев с бубнами» они все быстро разбегутся. Нелегкое это дело «шаманство»

Чтоб не мучатся с созданием новой БД и не тратить понапрасну драгоценное время, скачаем готовую базу с официального ресурса MySQL. А сэкономленные таким образом минуты потратим на обучение «волшебству» администрирования СУБД. Установка скачанной базы происходит в phpMyAdmin через вкладку «Импорт».

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Импортированная БД «World» содержит намного больше информации, и поэтому более интересна для обучения (на случай, если мы заскучаем во время освоения материала). Ее «потенциал» можно увидеть, открыв любую из ее таблиц. Например, «City»:

Читайте также:  Таблицы для индивидуальной оценки физического развития детей

Окунаемся в язык структурированных запросов

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

В языке структурированных запросов для вывода отсортированных данных используется оператор SELECT. Его синтаксис:

Приведем пример SQL запроса к таблице «city». Например, нам нужно вывести строку, в которой значение столбца id равно 670:

Запрос на вывод из базы данных MySQL мы начинаем указанием команды (SELECT). Затем звездочкой (*) мы «говорим» СУБД, что хотим сделать выборку всех значений строки из (FROM) таблицы city, где значение столбца id равно заданному значению ( id =670). Вводим запрос в окно редактора (вкладка «SQL»). Вот какой результат возвращает нам сервер:

Сервер возвратил нам строку, отвечающую заданным в запросе критериям. Выше система выводит код запроса, а также автоматически добавляет к нему свою часть. По умолчанию, с помощью директивы ORDER BY программа (НЕ СУБД) сортирует результаты выборки по значению столбца Name ( city . Name ). При этом значения столбца сортируются по возрастанию (параметр ASC).

Обратите внимание на «тонкости» синтаксиса (написания) запросов на вывод таблиц MySQL. Названия имя таблицы экранируются не одинарными кавычками, а грависом. Он является знаком слабого ударения. На клавиатуре он расположен на клавише с буквой «Ё».

Это важно, поскольку при использовании одинарных кавычек система MySQL буде выдавать ошибку о нарушении синтаксиса
написания команды запроса. Для наглядности попробуйте сами. В результате увидите следующий результат:

Выборка данных из кода PHP

Теперь постараемся произвести вывод данных из MySQL в PHP. Отобразим на экране ту же строку, полученную в предыдущем запроса. Вот код примера:

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

$id — $name — $country_code — $district — $population

В результате выгрузки MySQL мы получили ту же самую строку:

Но что, если нужно отобразить всю таблицу? Для этого придется немного изменить код SQL запроса:

Вот, что мы вывели в браузере:

То есть, мы отобразили все данные таблицы целиком. Но они слишком громоздки, и могут не помещаться в экранной области браузера. С помощью оператора LIMIT в запросе можно задать, какие строки выводить (с какой по какую). Например, нам нужно просмотреть данные с 1 по 10 строки. Тогда запрос для вывода страницы из MySQL будет выглядеть так:

Обратите внимание, что для использования в PHP мы указываем имя базы и таблицы через точку, отдельно экранировав друг от друга.

Экспорт БД

О том, как экспортировать базу данных MySQL, мы подробно рассказывали в одном из наших предыдущих материалов. Сегодня мы рассмотрим вариант переноса данных различных форматов. Чаще всего требуется импортировать информацию в SQL из CSV и наоборот.

На самом деле CSV является обычным текстовым форматом, в котором все строки разделены запятыми. Он идеально подходит для переноса информации в интернете, поскольку файлы в этом формате «весят» в несколько раз меньше. Кроме этого CSV легко расширяем, что позволяет в одном файле поместить нужное количество БД и при необходимости добавлять новые.

Для переноса информации из этого формата в MySQL в веб-программированию пишутся большие куски кода, описанию которых придется посвятить отдельную статью. Но мы пойдем по иному пути, и рассмотрим, как экспортировать данные из CSV в MySQL с помощью phpMyAdmin.

Заходим в оболочку. В основном меню сверху переходим в раздел «Импорт». Затем «Импортируемый файл». Указываем через «Обзор вашего компьютера» нужный файл, формат и жмем внизу «Ок».

Импорт данных окончен. Теперь осталось задать структуру таблиц и тип данных столбцов.

Как видите, чтобы вывести данные из MySQL, не обязательно быть шаманом и плясать под звуки бубна. Нам для этого хватило возможностей, предоставляемых СУБД. Кстати, для «изъятия» письма из телефона бубен тоже не нужен

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Источник