Керівництво по mysql для початківців, linux

Значить, потрібно створити кілька таблиць. Щоб це зробити, використовуємо команду CREATE TABLE. Однак, ця команда досить сильно відрізняється від простої команди CREATE DATABASE. Їй передається список аргументів такого вигляду:

Важливо: Якщо ви зіткнетеся з дивацтвами, переконайтеся, що поля розділені табуляторами. Якщо ви вставляєте інформацію в файл з іншого джерела, табулятори можуть перетворитися в прогалини.

Спрацювало. Але ця команда просто додає записи і не дає проконтролювати роботу MySQL. Безліч веб-додатків використовують сценарії sql для швидкої і легкої настройки бази даних MySQL. Якщо ви хочете використовувати сценарій sql, вам знадобиться запустити mysql в пакетному режимі (як введення використовується файл зі сценарієм). Ось приклад запуску mysql в пакетному режимі:

Лістинг 3.11: MySQL в пакетному режимі

Як і у випадку з LOAD DATA, переконайтеся, що знаєте, що саме виконує файл sqlfile. Не роблячи цього, ви можете піддати вашу базу даних серйозному ризику витоку! Інший шлях полягає у використанні команди source. Ця команда запускає команди mysql з файлу, коли mysql знаходиться в інтерактивному режимі. Ось як взяти команди sql з файлу:

Лістинг 3.12: Виконання команд sql з файлу

Якщо ви зіткнетеся з веб-додатком, якому потрібно, щоб ви запустили файл з командами sql, можна використовувати одну з двох команд, показаних вище. Отже, наша таблиця сформована, але як же працювати з полями? Це робиться пошуком в таблиці за допомогою запитів.

Одна з головних функцій будь-якої бази даних SQL - запити. Вони допомагають звернути дані з таблиць в щось корисне. Більшість запитів виконується командою SELECT. Ця команда досить складна, тому в цьому документі ми розглянемо лише три основних її форми.

Лістинг 3.13: Форми SELECT

Примітка: Команда GRANT вважається способом створення користувача. Пізні версії MySQL, однак, також містять функцію CREATE_USER, хоча GRANT досі предпочительнее.

Тепер потрібні привілеї, які можна привласнювати. Використовуючи все вищесказане, можна встановлювати такі привілеї:

  • ALL - дається повний доступ до всієї бази даних
  • CREATE - користувачам дозволяється створювати таблиці
  • SELECT - користувачам дозволяється робити запити до таблиць
  • INSERT - користувачам дозволяється вставляти дані в таблицю
  • SHOW DATABASES - дозволяється виводити список баз даних
  • USAGE - у користувача немає привілеїв
  • GRANT OPTION - користувачам дозволяється давати привілеї

Примітка: Якщо ви використовуєте MySQL для обміну даними з веб-додатком, то роз'ясняються тут привілеї CREATE, SELECT, INSERT, а також привілеї DELETE і UPDATE (описані в керівництві по MySQL, розділ GRANT and REVOKE Syntax (англ.)) - єдині, які, ймовірно, будуть потрібні. Багато роблять помилку, роздаючи все привілеї, коли це, насправді, не потрібно. Порівняйте з розробниками додатків, чи дійсно такі дозволи створять проблеми в роботі.

Для нашого користувача admin підійде ALL. А для користувача guest привілеї SELECT буде досить для доступу на читання. За базу даних вкажемо gentoo, на неї будуть встановлені дозволу. * Означає «все таблиці». Якщо буде потрібно, можна встановити права доступу до окремих таблиць. Далі йде ім'я користувача і ім'я вузла, з якого буде працювати користувач. У більшості випадків це буде вузол localhost. Нарешті, задається пароль користувача. Виходячи з цього, давайте створимо користувачів.

Лістинг 4.2: Створення користувачів admin і guest

Схожі статті