- С помощью phpMyAdmin
- ЗАВЕРШЕНИЕ РАБОТЫ С СЕРВЕРОМ
- Просмотр баз данных на сервере
- Удаление службы mysqld
- Другие команды
- Выход из монитора mysql
- Подготовка веб-интерфейса
- Настройка страницы приветствия
- Создание страницы ответов
- Создание таблицы стилей
- Удалённый доступ к базе данных MySQL
- Какие данные необходимо использовать для удалённого подключения?
- Какие программы использовать для удалённого подключения MySQL
- PuTTY
- С помощью SSH
- Windows
- Linux
- Полезные ссылки
- Как изменить пароль базы данных
- Измените пароль в конфигурационном файле сайта
- Запуск службы mysqld
- Подключение из разных операционных систем
- Привилегии MySQL
- Creating users
- Предоставление Привилегий Командой GRANT
- Проверка Пользовательских Разрешений
- Удаление Прав Доступа Пользователя Командой REVOKE
- Удаление Учетных Записей с Использованием DELETE
- Заключение
- Введение
- Понимание базы данных
- Приступаем к работе
- Установка MySQL на локальную машину
- Настройка локальной установки MySQL
- Подключение к локальной базе данных
- Подключение к удаленной базе данных
- Закрытие соединения
- Форматирование запросов и результатов
- Восстановление базы данных
- Логирование результатов
- Резервное копирование базы данных
- Заключение
С помощью phpMyAdmin
- создание, копирование и удаление базы данных;
- создание таблиц;
- редактирование табличных полей;
- поиск информации по БД;
- выполнение SQL-запросов;
- просмотр прав пользователя и управление ими;
- импорт и экспорт данных.
Изображение от Freepik
Веб-интерфейс поможет разобраться в работе с СУБД даже начинающим системным сисадминам и разработчикам: чтобы настроить нужную функцию, достаточно зайти в раздел с соответствующим ей названием и выбрать из списка подходящие параметры. Например, найти данные можно с помощью пункта «Поиск».
Шаг 1. Выберите существующую базу данных или создайте новую. После авторизации в админке необходимо открыть раздел меню «Основное» и перейти в пункт «Базы данных». Выберите нужную БД из появившегося списка. При создании новой базы не забудьте разрешить к ней удаленный доступ.
ЗАВЕРШЕНИЕ РАБОТЫ С СЕРВЕРОМ
Закрываем соединение и завершаем работу с сервером:
Просмотр баз данных на сервере
Для того, чтобы посмотреть какие базы данных имется на сервере, можно воспользоваться следующей командой:
SQL — является языком регистронезависимым, и операторы принято писать в верхнем регистре:
а имена баз данных, имена таблиц — пишутся в нижнем регистре.
Если произойдет ошибка: ERROR 2013 (HY000): lost connection to mysql during query (потеряно соединение с MySQL во время запроса),
то можно попробовать увеличить в файле .
Рекомендуемое значение составляет 10 секунд.
Или набрать в консоли:
mysql> SET GLOBAL connect_timeout = 10;
Удаление службы mysqld
Для удаление службы в командной строке пропишем:
— служба будет удалена
Другие команды
Вывод общей информации о базе данных:
Отображение списка выполняемых процессов:
Выход из монитора mysql
Чтобы выйти из монитора:
Подготовка веб-интерфейса
Начните с подготовки страницы приветствия (index.jsp
) и страницы ответов (response.jsp
). На странице приветствия реализована форма HTML для сбора пользовательских данных. На обеих страницах для просмотра структурированных данных используется таблица HTML. В этом разделе также рассматривается процесс создания таблицы стилей, которая расширяет внешний вид обеих страниц.
Настройка страницы приветствия
Убедитесь, что страница index.jsp
открыта в редакторе. Если файл еще не открыт, дважды щелкните index.jsp
под узлом «Веб-страницы» проекта IFPWAFCAD в окне «Проекты».
В редакторе измените текст между тегами
<title>
наДомашняя страница IFPWAFCAD
.Измените текст между тегами
<h1>
наДобро пожаловать в IFPWAFCAD, Международную ассоциацию по консультированию и развитию для бывших профессиональных борцов!
Откройте палитру среды IDE, выбрав в главном меню «Окно» > «Палитра» (CTRL+SHIFT+8; ⌘+SHIFT+8 в ОС Mac). Наведите курсор на значок «Таблица» в категории «HTML» и обратите внимание на то, что отображается фрагмент кода для элемента по умолчанию.
Figure 6. На палитре отображается фрагмент кода при подведении курсора к элементу
Палитру можно настроить в соответствии с существующими требованиями — щелкните правой кнопкой мыши палитру и выберите ‘Показать крупные значки’ и ‘Скрыть имена элементов’, чтобы палитра выглядела как на рисунке выше.
Установите курсор сразу же после тегов
<h1>
. (Именно в этом месте будет внедрена новая таблица HTML). Далее в окне «Палитра» дважды щелкните значок «Таблица».В появившемся диалоговом окне «Вставка таблицы» укажите следующие значения и затем нажмите кнопку «ОК»:
Размер границы: 0
Код таблицы HTML создан и добавлен на страницу.
Добавьте следующее содержимое в заголовок таблицы и ячейку первой строки таблицы (новое содержимое выделено полужирным шрифтом):
<table border="0">
<thead>
<tr>
<th>*IFPWAFCAD offers expert counseling in a wide range of fields.*</th>
</tr>
</thead>
<tbody>
<tr>
<td>*To view the contact details of an IFPWAFCAD certified former
professional wrestler in your area, select a subject below:*</td>
</tr>
Для нижней строки таблицы вставьте форму HTML. Для этого поместите курсор между второй парой тегов
<td>
и дважды щелкните значок формы HTML (
) на палитре. В диалоговом окне «Вставка формы» введитеresponse.jsp
в текстовом поле «Действие» и нажмите кнопку «ОК».
Figure 7. Укажите настройки формы в диалоговом окне ‘Вставить форму’
Между тегами
<form>
введите следующее содержимое (новое содержимое выделено полужирным шрифтом):
<tr>
<td>
<form action="response.jsp">
*<strong>Select a subject:</strong>*
</form>
</td>
</tr>
Нажмите клавишу Enter, чтобы добавить пустую строку после добавленного содержимого, затем дважды щелкните «Список» в палитре, чтобы открыть диалоговое окно «Вставить список».
В диалоговом окне «Вставить список» ведите
subject_id
для текстового поля «Имя» и нажмите «OK». Обратите внимание на то, что к форме добавляется фрагмент кода для раскрывающегося списка.
Количество параметров для раскрывающегося списка не имеет значения. Позже в этом учебном курсе будет показано добавление тегов JSTL для динамического создания на основе данных, полученных из таблицы базы данных «Subject».
Добавьте элемент кнопки ‘Отправить’ (
) в точку, расположенную непосредственно после только что добавленного раскрывающегося списка. Для этого можно использовать окно «Палитра» или вызвать дополнение кода в редакторе, как показано в предыдущем шаге. В диалоговом окне «Вставка кнопки» в текстовых полях «Подпись» и «Имя» введитеОтправить
и нажмите кнопку ОК.Для форматирования кода щелкните правой кнопкой мыши в редакторе и выберите ‘Формат’ (Alt-Shift-F; Ctrl-Shift-F в Mac). Код автоматически форматируется и должен теперь выглядеть следующим образом:
<body>
<h2>Welcome to <strong>IFPWAFCAD</strong>, the International Former
Professional Wrestlers' Association for Counseling and Development!
</h2>
<table border="0">
<thead>
<tr>
<th>IFPWAFCAD offers expert counseling in a wide range of fields.</th>
</tr>
</thead>
<tbody>
<tr>
<td>To view the contact details of an IFPWAFCAD certified former
professional wrestler in your area, select a subject below:</td>
</tr>
<tr>
<td>
<form action="response.jsp">
<strong>Select a subject:</strong>
<select name="subject_id">
<option></option>
</select>
<input type="submit" value="submit" name="submit" />
</form>
</td>
</tr>
</tbody>
</table>
</body>
Для просмотра этой страницы в браузере щелкните правой кнопкой мыши в редакторе и выберите ‘Запустить файл’ (Shift-F6; Fn-Shift-F6 в Mac). После этого страница JSP будет автоматически скомпилирована и развернута на сервере. Открывается браузер по умолчанию, и в нем выводится страница из местоположения, где она развернута.
Figure 8. Файл index.jsp отображается в браузере
Создание страницы ответов
Для подготовки интерфейса для страницы response.jsp
сначала необходимо создать файл в проекте. Обратите внимание на то, что большая часть содержимого, отображаемого на странице, создана динамически с помощью технологии JSP. Поэтому в следующих шагах будет необходимо добавить метки-заполнители, которые позже будут заменены кодом JSP.
Щелкните правой кнопкой мыши узел проекта «IFPWAFCAD» в окне «Проекты» и выберите «Создать > JSP». Откроется диалоговое окно «Новый файл JSP».
В поле «Имя файла JSP» введите
response
. Обратите внимание на то, что в настоящий момент для поля «Расположение» выбран каталог «Веб-страницы», это означает, что файл будет создан в каталоге проектаweb
. Это то же местоположение, что и для страницы приветствияindex.jsp
.Примите остальные значения по умолчанию и нажмите кнопку «Готово». В редакторе выполняется создание и открытие шаблона новой страницы
response.jsp
. Новый узел JSP также отображается в каталоге «Веб-страницы» в окне «Проекты».
Figure 9. Узел response.jsp отображается в окне ‘Проекты’
Удалите строку
<h1>Hello World!</h1>
строка между тегами<body>
. Скопируйте и вставьте в тело страницы следующую таблицу HTML:
<table border="0">
<thead>
<tr>
<th colspan="2">{placeholder}</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Description: </strong></td>
<td><span style="font-size:smaller; font-style:italic;">{placeholder}</span></td>
</tr>
<tr>
<td><strong>Counselor: </strong></td>
<td>{placeholder}
<br>
<span style="font-size:smaller; font-style:italic;">
member since: {placeholder}</span>
</td>
</tr>
<tr>
<td><strong>Contact Details: </strong></td>
<td><strong>email: </strong>
<a data-hren="mailto:{placeholder}">{placeholder}</a>
<br><strong>phone: </strong>{placeholder}
</td>
</tr>
</tbody>
</table>
Для просмотра этой страницы в браузере щелкните правой кнопкой мыши в редакторе и выберите ‘Запустить файл’ (Shift-F6; Fn-Shift-F6 в Mac). Выполняется компиляция и развертывание страницы на сервере GlassFish с последующим открытием в браузере по умолчанию.
Figure 10. Файл response.jsp отображается в браузере
Создание таблицы стилей
Создайте простую таблицу стилей для расширения просмотра в веб-интерфейсе. При работе с данным учебным курсом предполагается, что пользователь обладает знаниями о правилах стилей и их влиянии на соответствующие элементы HTML на страницах index.jsp
и response.jsp
.
Откройте мастер создания файлов, нажав кнопку ‘Создать файл’ (
) на главной панели инструментов IDE. Выберите категорию «Web», а затем выберите «Каскадная таблица стилей» и нажмите кнопку «Далее».Введите
style
в поле «Имя файла CSS» и нажмите кнопку «Готово». Среда IDE создает пустой файл CSS и располагает его в том же местоположении проекта, что иindex.jsp
иresponse.jsp
. Обратите внимание на то, что узел дляstyle.css
отображается теперь внутри проекта в окне «Проекты», а файл открывается в редакторе.В редакторе добавьте следующее содержимое к файлу
style.css
:
body {
font-family: Verdana, Arial, sans-serif;
font-size: smaller;
padding: 50px;
color: #555;
}
h1 {
text-align: left;
letter-spacing: 6px;
font-size: 1.4em;
color: #be7429;
font-weight: normal;
width: 450px;
}
table {
width: 580px;
padding: 10px;
background-color: #c5e7e0;
}
th {
text-align: left;
border-bottom: 1px solid;
}
td {
padding: 10px;
}
a:link {
color: #be7429;
font-weight: normal;
text-decoration: none;
}
a:link:hover {
color: #be7429;
font-weight: normal;
text-decoration: underline;
}
Подключите таблицу стилей к
index.jsp
иresponse.jsp
. На обеих страницах добавьте следующую строку между тегами<head>
:
<link rel="stylesheet" type="text/css" data-hren="style.css">
Для быстрого перехода между открытыми в редакторе файлами нажмите CTRL+TAB, а затем выберите требуемый файл.
Удалённый доступ к базе данных MySQL
Для активации удалённого соединения с базой данных войдите в вашу панель управления хостингом, и следуйте соответствующей инструкции ниже:
Чтобы активировать удаленный доступ MySQL, выберите пункт «Базы данных». Кликните по базе данных и нажмите Пользователи:
Выберите пользователя, под которым вы будете удалённо подключаться, и нажмите Изменить:
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
В разделе «Базы данных» выберите пункт Удаленный MySQL:
В панели управления Plesk возможность удалённого соединения включена по умолчанию.
Какие данные необходимо использовать для удалённого подключения?
Для удалённого соединения с базой данных (БД) и доступа к MySQL необходимо указывать следующие данные:
Server/Hostname (сервер базы данных): в качестве сервера необходимо указывать
- имя сервера, на котором располагается ваша услуга хостинга (например, serverX.hosting.reg.ru, точное имя сервера вы можете уточнить в информационном письме),
- либо IP-адрес сервера
- либо доменное имя сайта (убедитесь, что домен припаркован к хостингу);
- Port (порт): 3306 (стандартный порт для подключения к БД);
- DataBase (база данных): имя БД, к которой производится подключение;
- User (пользователь): имя пользователя БД. Обычно имя пользователя имеет вид u1234567_username (не путайте с логином от хостинга вида u1234567);
- Password (пароль): пароль пользователя БД (может отличаться от пароля к услуге хостинга). Как узнать пароль базы данных MySQL?
Какие программы использовать для удалённого подключения MySQL
Подключиться к базе данных вы можете с помощью программы «mysql». Пример удалённого подключения к базе данных на сервере «server90.hosting.reg.ru» под пользователем «u0015955_default»:
mysql -p3306 -hserver90.hosting.reg.ru -uu0015955_default -p
PuTTY
Из соображений безопасности на виртуальном хостинге не предоставляется возможности настройки SSH-туннелирования для соединения с базой данных. Для этого мы рекомендуем приобрести VPS или выделенный сервер.
С помощью SSH
Подключение к серверу с MySQL по SSH начинающие разработчики выбирают редко, так как в этом случае отсутствует графический интерфейс, а управление БД осуществляется с помощью командной строки операционной системы. Однако такое решение имеет свои преимущества — подключение защищено шифрованием, а значит, передаваемые данные нельзя перехватить, и доступно больше функций для работы с информацией. Разбираемся, как подключиться к базе данных MySQL с помощью SSH в ОС Windows и дистрибутивах Linux.
Windows
Шаг 1. Настройки Session. В поле Host Name необходимо указать ftp.доменное_имя, Port — 22, Connection type — SSH.
Шаг 2. Настройки Connection. Выберите тип соединения с сервером SSH, Telnet. Перейдите к заполнению полей: Source port — 3306 (порт для локального доступа после установки туннеля), Destination — localhost:3306 (хост, к которому подключаются по заданному порту) и Local (локальное подключение). Forwarded port заполнится автоматически после нажатия кнопки Add.
Linux
В дистрибутивах Линукс удаленное подключение к MySQL создается с помощью командной строки — Терминала. Последовательность команд:
- Создание SSH-туннеля:
- Настройка удаленного подключения к MySQL через конфигурационный файл:
sudo nano /etc/mysql/my.cnf.
- Создание комментария:
# bind-address = 127.0.0.1
- Сохранение правок и обновление параметров MySQL
sudo service mysql restart.
- Создание пользователя
- Проверка подключения через Telnet.
- Соединение с сервером:
Полезные ссылки
- dev.mysql.com/doc/refman/8.0/en — официальная документация.
- dev.mysql.com/doc/refman/8.0/en/mysqldump.html — официальная документация по утилите mysqldump;
- itreviewchannel.ru/zagruzka-i-skachivanie-fajlov-po-ssh — загрузка и скачивание файлов по ssh.
Как изменить пароль базы данных
Важно: в ISPmanager подраздел «Базы данных» недоступен, если вы используете тариф «Host-Lite».
Чтобы изменить пароль базы данных, войдите в вашу панель управления хостингом и следуйте соответствующей инструкции ниже:
Перейдите в раздел «Базы данных», выберите нужную базу и нажмите Пользователи:
Выберите пользователя БД, пароль которого необходимо изменить, и нажмите Изменить:
В открывшемся окне введите новый пароль и нажмите Ok.
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
В блоке «Базы данных» выберите пункт Базы данных MySQL:
Пролистайте страницу вниз до раздела «Текущие пользователи» и кликните по ссылке Изменить пароль для нужного пользователя:
Дважды введите новый пароль (если нужно, используйте генератор паролей). Нажмите кнопку Изменить пароль.
Перейдите в раздел «базы данных» и на открывшейся странице нажмите управление пользователями:
Кликните по имени пользователя, пароль которого необходимо изменить.
На открывшейся странице сгенерируйте новый пароль, нажав кнопку создать. чтобы увидеть и скопировать новый пароль, нажмите показать. нажмите применить для сохранения изменений:
Готово, пароль базы данных изменён.
Измените пароль в конфигурационном файле сайта
Не забудьте изменить пароль базы данных в настройках сайта: Где cms хранит настройки подключения к базе данных.
Запуск службы mysqld
Обновим вкладку «» — появится новая служба -, в ее свойствах выбрать «» —
Для того, чтобы запустить эту службу, запишем:
Жмем «Enter» и получаем:
Если обновим вкладку «Службы» — увидим, что служба — работает
Подключение из разных операционных систем
как подключиться к базе данных MySQL из разных операционных систем. Выглядеть команды будут так:
Привилегии MySQL
Привилегии — это то, каким доступом обладают пользователи к базам данных, таблицам, почти ко всему. На данный момент в базе данных gentoo, учетная запись MySQL root — это единственная учетная запись, которая может получить к ней доступ, учитывая ее разрешения. Теперь, давайте создадим двух обычных пользователей, guest и admin, которые получат доступ к базе данных gentoo и будут работать с информацией, хранящейся в ней. Учетная запись guest будет ограниченной в правах. Все, что он сможет сделать, это получить информацию из базы данных, и только это. admin будет иметь те же самые права на управление, что и root, но только к базе данных gentoo (а не основным базам данных mysql). Перед тем как начать, давайте рассмотрим подробнее этот, в некотором смысле, упрощенный формат команды GRANT
.
Creating users
The CREATE USER SQL statement will define users and set the authentication method, commonly by password but other plugins may be available.
An example CREATE USER command is:
КОД CREATE USER Syntax
CREATE USER '[user]'@'[host]' IDENTIFIED BY '[password]';user is the name of the user and host is the hostname the user will be accessing from. In most cases, this will be localhost. To create our users for this example:
(admin)
mysql>
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
(guest)
mysql>
CREATE USER 'guest'@'localhost' IDENTIFIED BY 'password';
Важно
A host of ‘localhost’ does not mean DNS localhost (127.0.0.1) to MySQL. Instead, it refers to the UNIX socket connection and not TCP/IP.Предоставление Привилегий Командой GRANT
Let’s have a closer look at this somewhat simplified format of the GRANT command.
КОД Синтаксис команды GRANT
GRANT [privileges] ON database.* TO '[user]'@'[host]' IDENTIFIED BY '[password]';Во-первых, мы имеем привилегии, которые мы хотим назначить. Исходя из того что мы выучили на данный момент, имеются несколько привилегий, которые вы можете установить:
ALL
— Дает полный контроль базы данных со всеми привилегиямиCREATE
— Позволяет пользователям создавать таблицыSELECT
— Позволяет пользователям делать запросы к таблицамINSERT
— Позволяет пользователям вставлять данные в таблицуSHOW DATABASES
— Позволяет пользователям просматривать список баз данныхUSAGE
— Пользователь не имеет привилегийGRANT OPTION
— Позволяет пользователям предоставлять привилегии
Заметка
Если вы запустили MySQL чтобы передавать данные веб-приложению, CREATE
, SELECT
, INSERT
(обсуждалось здесь же), DELETE
и UPDATE
(для получения дальнейшей информации посмотрите раздел Справочного Руководства MySQL — Синтаксис GRANT и REVOKE) — это единственные разрешения, которые вам, скорее всего, понадобятся. Большинство делает ошибку, предоставляя все разрешения, когда в этом нет действительной необходимости. Сверьтесь с разработчиками приложения, чтобы посмотреть, не вызовут ли такие разрешения проблемы в общей работе.
Для пользователя admin, подойдет уровень ALL. Для пользователя guest, SELECT
будет достаточно для доступа только на чтение. database — это база данных, над которой пользователь, как мы того желаем, должен иметь эти разрешения. В этом примере, базой данных является gentoo. .* означает все таблицы. Если бы вы хотели, вы могли бы установить права доступа для каждой из таблиц. user — это имя пользователя, а host — имя хоста, с которого пользователь будет получать доступ. В большинстве случаев, это будет localhost. И наконец, password — это пароль пользователя. Учитывая эту информацию, давайте продолжим и создадим наших пользователей.
mysql>
GRANT ALL ON gentoo.* TO 'admin'@'localhost' IDENTIFIED BY 'password';
mysql>
GRANT SELECT ON gentoo.* TO 'guest'@'localhost' IDENTIFIED BY 'password';
Теперь, когда мы настроили наших пользователей, давайте их протестируем. Сначала, мы завершим работу mysql, введя quit
в командной строке:
Теперь мы снова в консоли. Сейчас, когда пользователи созданы, давайте продолжим и посмотрим что они могут делать.
Проверка Пользовательских Разрешений
Сейчас мы должны попытаться войти в качестве пользователя guest. В настоящий момент, пользователь guest имеет только привилегии SELECT
. Это, просто-напросто, сводится к способности поиска в базе данных, и ничему другому. Продолжайте и войдите как пользователь guest.
user $
mysql -u guest -h localhost -p
Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 6 to server version: 4.0.25 Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql>
Теперь мы должны протестировать пользовательские ограничения. Давайте переключимся к базе данных gentoo:
mysql>
USE gentoo;
Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
Давайте попробуем сделать что-нибудь, что мы, как предполагается, не должны. Мы попытаемся создать таблицу.
mysql>
CREATE TABLE test (test VARCHAR(20), foobar VARCHAR(2));
ERROR 1044: Access denied for user: 'guest@localhost' to database 'gentoo'
Как видите, эта функция не сработала, так как наш пользователь не имеет соответствующих прав доступа. Однако, одной из привилегий, которую мы предоставили, является выражение SELECT
. Давайте попробуем:
mysql>
SELECT * FROM developers;
+-------------+-----------------------+----------------+ | name | email | job | +-------------+-----------------------+----------------+ | Joe Smith | joesmith@gentoo.org | toolchain | | John Doe | johndoe@gentoo.org | portage | | Chris White | chriswhite@gentoo.org | documentation | | Sam Smith | samsmith@gentoo.org | amd64 | | Jane Doe | NULL | Outsourced job | +-------------+-----------------------+----------------+ 5 rows in set (0.00 sec)
Команда завершилась успешно, и мы мельком увидели, что могут делать пользовательские разрешения. Мы, однако же, также создали и учетную запись admin. Она была создана для того чтобы показать, что даже пользователи, которым предоставлены все права, все же могут иметь ограничения. Завершите работу MySQL и войдите под учетной записью admin.
user $
mysql -u admin -h localhost -p
Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 7 to server version: 4.0.25 Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql>
Для начала, мы попытаемся создать новую базу данных от учетной записи admin. Этот пользователь будет иметь права доступа схожие с учетной записью root в MySQL, и будет способен выполнить любые изменения выбранной базы данных gentoo. Это протестирует права доступа данного пользователя к главной базе данных MySQL. Вспомните, что ранее мы установили разрешения только для определенной базы данных.
mysql>
CREATE DATABASE gentoo2;
ERROR 1044: Access denied for user: 'admin@localhost' to database 'gentoo2'
В самом деле, пользователь admin не может создавать базы данных в основной базе данных MySQL, вопреки всем своим разрешениям к базе данных gentoo. Однако, мы все еще способны использовать учетную запись admin для изменения базы данных gentoo, как показано на этом примере вставки данных.
mysql>
USE gentoo;
Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> INSERT INTO developers VALUES('Bob Simmons', 'bobsimmons@gentoo.org', 'python'); Query OK, 1 row affected (0.08 sec)
Пользователь admin может получить доступ к базе данных по желанию. Иногда, мы должны избавиться от пользовательских разрешений. Примером может быть все что угодно, от пользователя, вызывающего проблемы, до уволенного сотрудника. Давайте рассмотрим как отключить пользовательские разрешения командой REVOKE
.
Удаление Прав Доступа Пользователя Командой REVOKE
Команда REVOKE
позволяет нам запретить доступ пользователю. Мы можем запретить или все права на доступ, или определенные права. В действительности, формат весьма схож с командой GRANT
.
КОД Синтаксис REVOKE
REVOKE [privileges] ON database.* FROM '[user]'@'[host]';Здесь, параметры объясняются в разделе команды
GRANT
. Однако же, в этом разделе, мы собираемся запретить пользователю доступ полностью. Давайте предположим, мы обнаружили, что учетная запись guest вызывает некоторые проблемы с безопасностью. Мы решаем отозвать все привилегии. Мы заходим под учетной записью root и делаем то, что необходимо.
mysql>
REVOKE ALL ON gentoo.* FROM 'guest'@'localhost';
Query OK, 0 rows affected (0.00 sec)Заметка
В данном случае, права доступа пользователя достаточно просты, поэтому их удаление из базы данных не является проблемой. Однако, в более общем случае, вы, скорее всего, использовали бы *.* вместо gentoo.* для того чтобы удалить права доступа пользователя ко всем другим базам данных.Давайте теперь выйдем и попытаемся зайти в качестве пользователя guest.
user $
mysql -u guest -h localhost -p
Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 9 to server version: 4.0.25 Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql>Хотя мы и были способны выполнить вход, наши права доступа к gentoo теперь исчезли.
mysql>
USE gentoo;
ERROR 1044: Access denied for user: 'guest@localhost' to database 'gentoo'И наш проблемный пользователь больше не может получить доступ к базе данных gentoo. Пожалуйста, заметьте, что пользователь все еще может выполнить вход. Это потому что он остается в основной базе данных MySQL. Давайте рассмотрим как полностью удалить учетную запись командой
DELETE
и взглянем на таблицу пользователей MySQL.Удаление Учетных Записей с Использованием DELETE
Таблица пользователей MySQL является перечислением всех пользователей и информации о них. Убедитесь, что вы выполнили вход под root. Затем продолжайте и используйте основную базу данных MySQL.
DROP USER will delete the record in the user table and all privilege tables. Let’s go ahead and do that:
mysql>
DROP USER 'guest'@'localhost';
Query OK, 1 row affected (0.07 sec)Кажется, сработало на отлично. Давайте это протестируем, выйдя и попытаясь войти как пользователь guest.
user $
mysql -u guest -h localhost -p
Enter password: ERROR 1045: Access denied for user: 'guest@localhost' (Using password: YES)Наш пользователь успешно удален!
Заключение
В то время как это руководство сфокусировано, в основном, на настройке MySQL из командной строки, доступно несколько альтернатив с графическим интерфейсом:
- phpMyAdmin — Популярный инструмент администрирования MySQL, основанный на php.
- mysqlnavigator — Интерфейс QT к MySQL.
- gmyclient — MySQL клиент, основанный на GNOME.
- knoda — клиент MySQL для KDE.
Это завершает вводное руководство к MySQL. Я надеюсь это дало вам лучшее понимание основ MySQL и настройки базы данных.
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Chris White, Shyam Mani, Xavier Neys
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article’s associated history page.
Разработка веб-приложений, использующих статическое хранилище данных, где данные необходимо обновлять, хранить и манипулировать ими, часто может быть громоздкой задачей. Однако эта статья познакомит вас с миром реляционных баз данных, что позволит вам максимизировать потенциал ваших данных.
Введение
При постоянном расширении веб-приложений и веб-сайтов, управляемых пользователем, появляется необходимость иметь способ хранения данных в
организованном виде, при этом данные можно получить и манипулировать ими «на лету»; что невозможно при статическом контенте.
Для этого необходимо использовать базу данных!
Базой данных в ее простейшей форме является огранизованный сбор данных, независимо от того, используется ли шкаф для хранения документов или компьютеризированную базу данных.
Интеграция базы данных на ваш веб-сайт или веб-приложение позволяет хранить и извлекать данные с помощью определенных команд.
В этой статье мы будем использовать систему управления реляционной базой данных MySQL.
Это программное обеспечение с открытым исходным кодом, доступное в соответствии с общедоступной лицензией GNU, которое, конечно же, делает его бесплатным!
Веб-сайт MySQL можно найти по адресу http://www.mysql.com/. Все что вы видите в этой статье, указывает на функцию MySQL, вы можете найти полную документацию по этим функциям на веб-сайте MySQL.
СОВЕТ. Чтобы выполнить поиск на веб-сайте MySQL по определенной функции, просто добавьте имя этой функции в URL-адрес MySQL. НАПРИМЕР. http://www.mysql.com/SELECT, этот пример будет искать select.
Я создал модифицированную версию поискового буклета Jesse Ruderman для поиска документации MySQL 5.1. Чтобы использовать его, просто выделите подчеркнутое слово, затем нажмите букмарклет, чтобы перейти к результатам поиска. В качестве альтернативы запустите букмарклет ничего не выделяя, чтобы получить окно подсказки с просьбой ввести то, что вы хотите найти.
Закладка:> MySQL SEARCH
Понимание базы данных
Чтобы хранить данные в базе данных, сначала необходимо создать базу данных. Затем эта база данных может хранить множество таблиц (представьте, что в шкафу хранения хранится много файлов); каждая таблица должна иметь определенные столбцы, и эти столбцы создаются для хранения определенных данных (представьте форму ввода данных). Можно ограничить то, что может быть введено в них, например числовые данные или ограничения символов.
После того, как данные будут введены в базу данных, они будут сохранены в соответствующей таблице, тогда таблица будет состоять из строк и столбцов, похожих на таблицу, поскольку данные сохраняются и отображаются в табличной форме. MySQL может управлять несколькими базами данных, которые могут содержать несколько таблиц. Уровни доступа могут предоставляться различным пользователям для предоставления или отзыва определенных привилегий.
MySQL использует команды/функции на основе SQL (язык структурированных запросов). Это позволяет нам использовать ключевые слова, чтобы указать, какие данные мы хотим вернуть. Затем MySQL реализует некоторые дополнительные функции для улучшения доступных функций. Ключевые слова, как правило, легко понять и часто связаны с английским словом или фразой (например SELECT, UPDATE, WHERE).
Приступаем к работе
В этой части мы рассмотрим:
- Установка MySQL на ваш локальный компьютер (windows)
- Настройка локальной установки MySQL (windows)
- Подключение к локальной базе данных
- Подключение к удаленной базе данных
- Ввод и форматирование запросов
- Форматирование и протоколирование результатов
- Резервное копирование базы данных
- Восстановление базы данных
Чтобы использовать MySQL, нам необходимо установить его независимо от того, находится ли он в нашей локальной системе или на удаленном веб-узле. Однако для того, чтобы подключиться, мы должны сначала использовать интерфейс.
Сегодня мы будем использовать пакет Essentials, который доступен на веб-сайте MySQL по адресу http://dev.mysql.com/downloads/.
На момент написания этой статьи, текущей стабильной версией была 5.1, и я расскажу, как ее установить в операционной системе Windows. Сначала найдите нужное программное обеспечение, я буду использовать 64-битную версию Windows, но вы можете выбрать другую в зависимости от архитектуры вашей системы. Для этой статьи я решил использовать пакет Essentials, поскольку он включает в себя все необходимые функции. Вы можете сравнить различия между версиями windows по адресу http://dev.mysql.com/doc/refman/5.1/en/windows-choosing-package.html.
Установка MySQL на локальную машину
После того как вы загрузите соответствующий исполняемый файл установки, запустите его, и вам будет предложено вывести это окно. Как вы видите, я устанавливаю версию 5.1.30. Нажмите «Далее», чтобы перейти к следующему экрану.
Я решил сохранить типичную установку, но не стесняйтесь выбирать, какие компоненты вы хотите установить. Вам понадобятся сервер MySQL и файлы данных, если вы работаете на своей локальной машине; однако, если у вас есть доступная вам удаленная база данных, которую вы хотите использовать, вы можете не устанавливать эти функции. Вам понадобится оболочка командной строки MySQL, так как это приложение, которое мы будем использовать. Опять же, если вы не используете локальную базу данных, вы можете пропустить утилиты командной строки и конфигурацию экземпляра сервера. Эта статья не будет охватывать использование C и MySQL, однако, если вы работаете на C, вы можете установить ее. Нажмите «Далее», чтобы перейти к следующему экрану.
Затем вас попросят подтвердить ваш выбор, нажмите «Установить», если вы согласны, иначе нажмите «Назад», чтобы внести какие-либо изменения.
Будет запущена ваша установка, на этом этапе вы можете получить уведомление от антивируса или управления учетными записями пользователей Windows Vista, в нем указывается, что программа просит установить или получить доступ к определенным файлам. Это будет подписан MySQL AB; это компания, которая работает и поддерживает MySQL, о котором вы можете прочитать на http://www.mysql.com/about/.
После установки убедитесь, что сервер MySQL настроен (если установлен), и нажмите «Готово». Поздравляем, вы успешно установили MySQL Server / components. Затем должен загрузиться мастер настройки экземпляра сервера MySQL. Однако, если он не запускается, не волнуйтесь, вы можете получить к нему доступ в папке программ MySQL (если установлена).
Настройка локальной установки MySQL
Теперь мы настроим вашу установку (если вы установили сервер), нажмите «Далее», чтобы перейти к следующему экрану.
Теперь у вас есть возможность использовать стандартную конфигурацию; однако я буду использовать подробную конфигурацию, которая позволит мне настроить различные аспекты моей установки.
Я выбрал это как машину для разработки; однако вы можете выбрать, какой вариант вы предпочитаете. Машина для разработки содержит полный функицонал, но это предотвратит использование слишком большого количества ресурсов. Нажмите «Далее», чтобы перейти к следующему экрану.
Поскольку эта установка предназначена для целей разработки, а не для конкретного проекта, я выбрал многофункциональную базу данных, которая позволяет использовать механизм хранения InnoDB и MyISAM. Подробнее о механизмах хранения можно узнать по адресу http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html. Нажмите «Далее», чтобы перейти к следующему экрану.
Теперь вы должны выбрать, где вы хотите хранить файл данных InnoDB, в зависимости от имеющегося у вас пространства для хранения, которое вы, возможно, захотите изменить, если у вас есть большая емкость или более быстрый диск. Нажмите «Далее», чтобы перейти к следующему экрану.
Теперь вы должны настроить количество одновременных подключений, которые вы собираетесь подключать к своей базе данных в любой момент времени. Выбор DSS позволяет до 100 подключений, но предполагает в среднем 20 одновременных подключений. OLTP поддерживает до 500 одновременных подключений. Однако для нашей машины для разработки мы часто используем только одно соединение; поэтому я установил ручную настройку на 5. Нажмите «Далее», чтобы перейти к следующему экрану.
Теперь вам предоставляется возможность настроить параметры TCP/IP. Я убрал галочку, чтобы отключить этот флажок. Отключив это, он предотвращает удаленные подключения к базе данных. Затем вы можете установить режим сервера, я оставил этот флажок (вы можете подробнее узнать о режимах сервера по адресу http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html) , Нажмите «Далее», чтобы перейти к следующему экрану.
Теперь нам нужно выбрать, какой набор символов/ кодировку мы будем использовать. Я выбрал UTF8, поскольку она позволяет вводить символы на разных языках. Нажмите «Далее», чтобы перейти к следующему экрану.
Теперь вам нужно решить, хотите ли вы запускать сервер в качестве службы, вы можете настроить имя службы в раскрывающемся списке. Установив MySQL как службу по умолчанию, сервер будет запущен автоматически и перезапустится даже с ошибкой. Я рекомендую использовать приведенную выше настройку. Вы также можете включить файлы MySQL Bin в путь windows. Это позволяет нам вызывать MySQL непосредственно из командной строки, я также рекомендую это сделать. Нажмите «Далее», чтобы перейти к следующему экрану.
Теперь вы должны указать пароль для учетной записи root. Это учетная запись «master» с полными привилегиями (имя пользователя учетной записи будет «root»); Я не рекомендую оставлять его пустым! Выбор для включения доступа к корневым машинам по умолчанию отключен; Я сохранил его таким образом, так как отключил настройки TCP/IP, но он также открывает более высокий риск для безопасности, если детали попадают в чужие руки. Я также отключил выбор, чтобы включить анонимную учетную запись, поскольку эта база данных предназначена для личного использования. Нажмите «Далее», чтобы перейти к следующему экрану.
Теперь ваша конфигурация установки готова к применению, нажмите «выполнить», чтобы запустить процесс.
Затем вы получите сообщение об успешном конфигурировании. После завершения нажмите кнопку завершения, чтобы выйти из этого мастера. Теперь вы успешно завершили настройку.
Если вы устанавливаете MySQL в другой операционной системе или хотите взглянуть на официальную документацию, то ее можно найти по адресу http://dev.mysql.com/doc/refman/5.1/en/installing.html.
Подключение к локальной базе данных
Теперь, когда у вас установлен сервер, мы можем подключиться к нему!
Я собираюсь использовать Windows CLI (интерфейс командной строки) для инициализации соединения, но вы можете использовать MySQL CLI, найденный в папке программ MySQL.
Сначала откройте командную строку, открыв диалоговое окно запуска, которое находится в меню «Пуск», затем введите CMD и нажмите [ENTER]; под котором вы увидите окно, подобное приведенному ниже.
Первая команда, которую мы собираемся ввести, будет подключаться к серверу с нашим именем пользователя и паролем.
Существует несколько способов подключения к серверу, все из которых выполняют одну и ту же задачу.
Команда соединения MySQL использует следующий синтаксис:
1 | mysql [host] [port] [username] [password] [database] |
Каждый из этих аргументов может быть передан команде mysql следующим образом:
- —host=host или -hhost
- —port=port или -P
- —username=username or -uusername
- —password=password or -ppassword
- база данных задается просто как строка (например db_name)
Примечание. Если вы печатаете строку пароля так, то она будет видна на экране, если вы предпочитаете, вы можете просто предоставить команду -p или -password без пароля, который будет представлен со скрытой подсказкой ввода пароля. Нам также не нужен командный терминатор, поскольку мы вводим в CLI Windows на данный момент не MySQL.
Так как мы хотим подключиться к нашему локальному компьютеру, так что мы можем исключить аргумент host (см. соединение с удаленным хостом позже в этой статье). Мы хотим войти в нашу учетную запись root, чтобы получить полные привилегии, поэтому нам понадобятся наши имя пользователя и пароль; поскольку в настоящее время у нас нет каких-либо баз данных, мы также не будем указывать аргумент базы данных.
Я буду подключаться к учетной записи пользователя root на моей локальной машине с паролем «secret», используя следующую команду:
Эта команда соединится с MySQL с использованием пользователя root и паролем secret. Следующие команды достигнут того же результата.
1 | mysql --username=root --password=secret |
1 | mysql -uroot --password=secret |
1 | mysql --username=root -psecret |
Учетная запись пользователя «root» — это основная учетная запись MySQL, которая была создана во время установки; это тот же пользователь, с которым вы должны подключаться. Однако имейте в виду, что не рекомендуется оставлять учетную запись root, включенной при веб-установке, для получения дополнительной информации см. Учетные записи пользователей и привилегии на веб-сайте MySQL. (http://dev.mysql.com/doc/refman/ 5.1 / о / добавления-users.html)
Подключение к удаленной базе данных
(пропустите это, если вы подключаетесь к локальной базе данных). Чтобы подключиться к вашей удаленной базе данных, часто предоставляемой хостинг-провайдером, вы должны знать IP-адрес или имя хоста вашей базы данных (и, возможно, номер порта, если он был изменен от значения по умолчанию — 3306). Вы будете подключаться к такой базе точно так же,как если бы вы подключались к локальной базе данных, просто заменяя аргументы хоста и порта в зависимости от конфигурации вашего хостинга.
Закрытие соединения
Чтобы отключиться от сеанса MySQL, отправьте команду QUIT (или q).
Форматирование запросов и результатов
Теперь, когда мы подключены (после получения сообщения «Welcome to the MySQL monitor.»), мы готовы отправить наши команды, но сначала есть еще несколько замечаний.
MySQL позволяет использовать пробелы, не влияя на введенные команды. Это пригодится, чтобы сделать наши запросы максимально читаемыми (см. изображение ниже). Оба этих запроса дают одинаковый результат, однако второй значительно легче читать.
Примечание. Этот запрос не будет работать, поскольку у нас нет базы данных, установленной для демонстрационных целей!
Вы можете увидеть код, который я использовал ниже, оба введенных запроса идентичны, но нажав [ENTER], CLI позволяет нам продолжать команду на отдельной строке. MySQL реализовал функцию отмены ввода, если ваша команда охватывает несколько строк, просто выпустите команду clear « c».
1 | SELECT fld_1longlonglong, fld_2longlonglong, fld_3longlonglong, fld_4longlonglong, fld_5longlonglong, fld_6longlonglong, fld_7longlonglong FROM tbl_name WHERE fld_1longlonglong = `datavalue`; |
Это, однако, также означает, что необходимо отправить специальную команду, чтобы указать, что это конец команды. Мы можем использовать одно из следующих:
- ;
- g
- G
Первые два терминатора идентичны, однако третий, который используется в запросе, который возвращает данные, показывает результат в вертикальной таблице, а не в горизонтальной. Это удобно использовать, если мы возвращаем информацию из таблицы, которая имеет много столбцов, так как она может стать нечитаемой.
Восстановление базы данных
Затем мы будем импортировать файл SQL, это тот же процесс, который вы бы делали, если бы восстанавливали резервную копию базы данных. Этот файл просто имеет все команды, необходимые для создания дубликата базы данных в заданное время резервного копирования.
В идеале мы создали бы собственную базу данных, однако создание базы данных может быть сложным процессом, который включает в себя отношения, соглашения об именах, механизмы хранения и настройки полей, что выходит за рамки данной статьи.
Мы собираемся использовать предварительно подготовленную базу данных, доступную по адресу http://dev.mysql.com/doc/#sampledb, прокрутите вниз до тех пор, пока вы не увидите примеры баз данных, и вы хотите продолжить и загрузить базу данных world.
(world.sql).
После подключения к MySQL мы собираемся восстановить базу данных world, так как это резервная копия предыдущей базы данных. Этот файл представляет собой просто список команд MySQL, которые будут запускаться для создания новой базы данных. Этот файл SQL содержит только данные таблицы и не сохраняет информацию о базе данных, поэтому мы должны сначала создать базу данных для хранения таблиц (см. Аналогию в начале статьи).
Примечание. Чтобы эта статья не стала слишком длинной, я буду размещать несколько команд в фрагментах кода, вы можете разделить эти команды или собрать их вместе для поиска завершающих команд, показанных ранее в этой статье. Также имейте в виду, что функции MySQL не чувствительны к регистру, поэтому SELECT — это то же самое, что и select и SeLEcT. Я лично использую функции MySQL, чтобы сделать мои запросы максимально простыми, поскольку запросы становятся длиннее и сложнее.
Чтобы создать базу данных, которую мы собираемся вызвать команду CREATE DATABASE, после создания мы будем использовать USE базу данных.
1 | CREATE DATABASE db_world; USE db_world; |
Время импортировать резервную копию, есть много способов сделать это (http://dev.mysql.com/doc/refman/5.0/en/batch-commands.html). Поскольку мы уже подключены к MySQL, мы будем использовать команду SOURCE, за которой следует наше имя файла. Я извлек файл «world.sql» из папки zip и поместил его в свой корневой каталог C: вам нужно знать абсолютный путь к исходному файлу. Если вы укажете только свое имя файла, то MySQL будет искать источник в папке, в которой вы запустили свою командную строку (C:USERSUSERNAME на vista C:Documents and SettingsUsername
на XP). Вы не можете перейти в другой каталог, используя интерфейс MySQL, поэтому убедитесь, что вы предоставили соответствующий абсолютный путь. После выдачи этой команды окно CLI выдает каждую из команд в файле SQL, после завершения вы будете возвращены в приглашение mysql>.
Теперь у вас есть полностью функциональная база данных. Однако мы еще не знаем, что она содержит! Давайте немного поизучаем ее содержимое; мы будем использовать следующие команды:
- SHOW TABLES; — это показывает таблицы в текущей базе данных.
- DESCRIBE tbl_name; — это показывает, какие поля существуют в указанной таблице.
После выдачи команды мы теперь знаем, что база данных содержит три таблицы: «city», «country» и «countrylanguage». Затем мы узнаем, какие поля хранятся в этих таблицах. Для каждой из таблиц выполните DESCRIBE tbl_name .
После выдачи команды DESCRIBE для таблицы country вы увидите, что она вернула нечитаемый беспорядок, чтобы решить эту проблему, просто используйте терминатор G вместо;.
1 | DESCRIBE city; |
2 | DESCRIBE country; |
3 | DESCRIBE country G |
4 | DESCRIBE countrylanguage; |
Теперь у нас есть вся информация, которая нам нужна для управления таблицами по своему желанию, у нас есть имя пользователя, пароль, имя базы данных, имена таблиц и имена полей, если вы работаете на другом языке, таком как PHP, это информация вам потребуется чтобы получить эти данные в вашей системе (см. http://php.net/mysql).
Логирование результатов
Мы можем выбрать логирование вывода MySQL-интерфейса; мы делаем это, отправив команду T filename.txt. Чтобы остановить ведение журнала, мы выдаем команду t. В приведенном ниже примере сохраняется файл с именем log.txt в корневой каталог жесткого диска E:. На моей машине это запасной жесткий диск, обратите внимание, что у вас должно быть разрешение на доступ к этому диску; вы не сможете записать данные в корень на установочном диске Windows в Windows Vista без запуска MySQL из командной строки с повышенными правами.
1 | T E:log.txt |
2 | SHOW TABLES; |
3 | t
|
1 | |
2 | E:log.txt contents: |
3 | mysql> SHOW TABLES; |
4 | +--------------------+ |
5 | | Tables_in_db_world | |
6 | +--------------------+ |
7 | | city | |
8 | | country | |
9 | | countrylanguage | |
10 | +--------------------+ |
11 | 3 rows in set (0.00 sec) |
12 | |
13 | mysql> t |
Резервное копирование базы данных
Монитор MySQL поставляется с расширением mysqldump; так как вы могли бы ожидать эта команда делает дамп из базы данных, чтобы иметь возможность сделать точную копию. Команда mysqldump использует следующий синтаксис:
1 | |
2 | mysqldump [username] [password] [database name] > [dump file] |
Чтобы запустить это, вы должны быть отключены от сеанса MySQL.
Следующий код логируется в сеанс MySQL с учетной записью пользователя root с паролем secret, затем он выгружает таблицу db_world в файл db_worldbak.sql.
1 | |
2 | mysqldump -uroot -psecret db_world > db_worldbak.sql |
Заключение
Прочитав эту статью, я надеюсь, что вы получили четкое представление о том, как взаимодействовать с mysql на уровне командной строки. То, что может оказаться полезным в качестве команд, может быть отправлено непосредственно в базу данных MySQL, а не через другой язык сценариев. Пожалуйста, не останавливайтесь здесь, http://dev.mysql.com/doc/ действительно отличный ресурс, и вы никогда не будете создавать свою собственную базу данных. Ниже я написал для вас несколько базовых запросов для поиска в базе данных world и некоторые примеры. Посмотрим, сможете ли вы их понять, если вы еще не знаете, где находится документация.
1 | SELECT Name, Population |
2 | FROM city |
3 | WHERE CountryCode='GBR' |
4 | ORDER BY Population ASC |
5 | LIMIT 0,5G |
На английском языке этот запрос SELECT и возвращает Name и Population FROM таблицы city WHERE код страны является GBR, результаты затем фильтруются с использованием ORDER BY Population ASC (возрастающая популяция) и затем LIMIT, чтобы вернуть первые 5 результатов. Этот запрос показывает название и население 5 наименее населенных городов Великобритании.
И еще немного…
1 | |
2 | SELECT
|
3 | CONCAT(city.Name,' speak the ', countrylanguage.Language, ' language')AS Detail, |
4 | city.Population |
5 | FROM city, countrylanguage |
6 | WHERE city.CountryCode = countrylanguage.CountryCode |
7 | AND city.countryCode = 'GBR' |
8 | AND countrylanguage.Language = 'English' |
9 | ORDER BY city.Population ASC |
10 | LIMIT 5,5 G |
На английском языке этот запрос SELECT данные, он CONCAT Name из таблицы city и Language из таблицы countrylanguage и отображает результаты AS Detail запрос также SELECT Population из таблицы city. Снова этот запрос SELECT свои данные FROM таблицы city и таблицы countrylanguage, он возвращает данные, в которых код страны города совпадает с кодом страны на языке страны. Данные отфильтровываются, чтобы отображать страны, WHERE код страны — это GBR, AND язык — английский, затем он ORDER BY возрастающей численности населения, а результаты LIMIT, чтобы показать результаты от 6 до 10. Этот запрос известен как INNER JOIN, поскольку две таблицы связаны между собой в запросе. Этот запрос отобразит 6-ю по 10-ю наименее населенные города с кодом страны GBR, в которых оворят по-английски.
Как я узнал, какие данные нужно писать для этих запросов? Запустив следующий запрос SELECT, он использует символ wild card, чтобы выбрать все поля и вернуть все данные в указанной таблице. Из результата запроса я понял, что было включено, и я сделал некоторые сценарии, которые я хотел запросить.
1 | SELECT * FROM tbl_name; |
Вот несколько функций, которые вы можете посмотреть более подробно, чтобы начать работу:
- SELECT
- FROM
- WHERE
- ПРЕДЕЛ
- ORDER BY
- А ТАКЖЕ
- OR
- CONCAT
- ПОКАЗАТЬ БАЗЫ ДАННЫХ
- USE
- CREATE
- ПОКАЗАТЬ ТАБЛИЦЫ
- DESCRIBE
- UPDATE
Следите за последующим руководством по извлечению и обработке данных. Не стесняйтесь задавать любые вопросы в комментариях, и я сделаю все возможное, чтобы ответить на них. Убедитесь, что вы начали свой вопрос с #Q, чтобы я мог их найти!
- Подпишитесь на RSS-канал NETTUTS для получения других ежедневных статей по веб-разработоке.