mysql

База данных MySQL

В интернете много рассуждений на тему — какая база данных быстрее? На самом деле разные базы могут различать по скорости исполнения даже отдельных запросов. Т.е. одна база быстрее другой на исполнении SELECT, но медленнее на UPDATE. И эта разница прослеживается не только на уровне запросов.

Создание базы данных MySQL

Создать базу можно через запрос: CREATE DATABASE имя_БД.

Пример создания таблицы в базе данных:

CREATE TABLE news (
id int(4) NOT NULL auto_increment, // число max 4 символа
title varchar(255) NOT NULL default '', // название текст max 255 символов
description varchar(255) NOT NULL default //описание max 255 символов
'',
content text, // текст
author varchar(50) NOT NULL default '',// автор max 50 символов
pubdate timestamp NOT NULL default '', // дата рубликации в цифрах
PRIMARY KEY (id) // id - идентификатор записи
);

На момент публикации актуальна MySQL 5.

Есть понятие ‘Веб-сервера’ — сейчас популярен Apache. Он передает php. А php обратно передает данные Apache. PHP работает с MySQL. Прямой связи mySQL и Apache не существует. Они не знают о существовании друг друга. А Php выступает тут в роли посредника. Т.е. схему работы можно изобразить как:

Apache <=> PHP <=> mySQL

Установку сервера mySQL рассматривать не будем, в сети полно руководств (см. вики).

Обзор файлов сервера MySQL 5

  • У mySQL есть свой конфигурационный файл настроек — my.ini.
  • Папка bin — утилиты командной строки.
  • папка data — здесь хранятся все базы данных (внутри есть папка mysql — с ней ничего не делать! в ней хранятся параметры mysql, удалите что-то там — будете переставлять сервер).

Клиентские программы для работы сервером

  • Утилиты командной строки.
  1. mysql.exe
  2. mysqldump.exe
  • MySQL Administrator.
  • MySQL Query Browser
  • другие, например, EMS MySQL Manager.
  • Веб-инструменты: phpmyadmin.

Утилита mysql

Разделяйте два понятия: ‘командная строка’ и ‘монитор’. Последний используют для работы с mysql.

mysql.exe –uлогин –pпароль [имя_БД] //вызов утилиты и заходим в "монитор"
USE имя_БД;
SHOW TABLES;
DESCRIBE имя_таблицы;
quit // выход из "монитора"

Внимание! Стандартный sql не предусматривает конца строки в виде точки с запятой ; или чего-то еще. Т.е. запросы можно писать в одну строку без разделителя, база сама разберется в коде. Но т.к. запросы бывают большие, когда мы находимся в мониторе, ‘enter’ — это не конец запроса, а перевод на новую строку, чтобы можно было делать многострочные запросы (так нагляднее). Для конца запроса — использовать ; или \g.

Утилита mysqldump

Мы не всегда можем обратиться напрямую к папке data в mysql. Для этого делаем дамп базы данных. Вся структура базы записывается в текстовый файл с общепринятым расширением sql. Также делают и бэкапы. Сделаем дамп:

mysqldump –uroot –ppass имя_БД > dump.sql //делаем дамп
mysql –uroot –ppass имя_БД < dump.sql //восстанавливаем дамп на машину

После восстановления дампа базы соединение с монитором обрывается. Поэтому нужно снова его устанавливать.

Проблема с кодировкой в командной строке

Иногда при работе в мониторе при запросе вывода таблиц из запрашиваемой базы данных выскакивает абракадабра. Проблема в том, что в используемой нами командной строке стоит кодировка cp866. А у нас стоит utf-8. Нам нужно сообщить монитору, чтобы получаемые данные он сконвертировал в cp866:

mysql> SET NAMES 'cp866';



Добавить комментарий

Ваш e-mail не будет опубликован.