MySql в консоли

08/19/2009, автор admin, категории Web-разработка

Расскажу немного о том как пользоваться базой данных mysql через консоль, то есть без использования стандартного редактора phpmyadmin. Вообще материалов на эту тему в интернете полно, но там либо слишком много не нужного обычному пользователю, либо слишком скудные описания.

Начало работы с mysql

Ну во первых начнем с того как зайти в mysql, для этого надо в консоли набрать:

mysql -uusername -ppassword -hhost 

Итак мы в командной строке mysql. Не забываем один важный момент: разделителем комманд mysql является «;» (точка с запятой).
Теперь необходимо создать базу данных или выбрать уже созданную:

create database db_name; - создаем новую бд с названием db_name
show databases; - просмотр имеющихся бд
use db_name; - выбрать бд с именем db_name

Вобщем мы выбрали (или создали) необходимую нам бд а теперь просмотрим команды для работы с таблицами:

show tables; - просмотр всех таблиц
show columns from table_name; - просмотр колонок и их свойств
create table table_name (`id` int(11) AUTO_INCREMENT,`name` varchar(255)); - создание таблицы с колонками id и name
alter table table_name add column1 int(11); - добавить колонку в таблицу
alter table table_name drop column1; - удалить колонку из таблицы

Ну а просмотр, удаление, добавление данных делается стандартными, всем известными командами…
Рассмотрим пример с SELECT:

SELECT * FROM table_name;

Скорее всего вы увидите вместо кириллицы разнообразные кракозябры или вопросительные знаки, в зависимости от того какая кодировка в вашей базе данных и в используемой консоли. Чтоб исправить это просто до выборки SELECT вводим команду

SET NAMES utf8; - чаще для линуксовых консолей
SET NAMES cp866; - для cmd windows

UPD: в windows нужно указывать полный путь до файла mysql.exe, например C:/apache2/bin/mysql/mysql.exe

Проектирование базы данных – Dia

Конечно для больших проектов создание таблиц способом описанным выше займет очень много времени, и phpmyadmin тоже не является решением. Если вам нужно создать большую базу данных и рассмотреть взаимодействие всех таблиц друг с другом могу посоветовать вам отличный редактор dia. После создания таблиц в данной программе, сохраним его в формате .dia и переконвертируем его в формат .sql:

tedia2sql -i file.dia -o file.sql

Если вам понадобилось создать или залить дамп базы данных то используем:

mysql -uusername -ppassword -hhost db_name < file_name.sql - залить бд
mysqldump -uusername -ppassword -hhost db_name > file_name.sql - сделать дамп бд

можно заливать из файлов различных форматов, txt например..

LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
        FIELDS TERMINATED BY ',' ENCLOSED BY '"'
        LINES TERMINATED BY '\n';

LOAD DATA INFILE имеет еще много дополнительных параметров о них вы можете узнать в справочном руководстве по mysql

Читать похожие статьи:

7 комментариев “MySql в консоли”

  1. Максим:

    У меня через консоль не получается, пишет mysql не является внутренней или внешней командой. Не подскажите в чем проблема?

  2. admin:

    в windows нужно указывать полный путь до файла mysql.exe, например C:/apache2/bin/mysql/mysql.exe

  3. Слава Богу!
    use db_name; – выбрать бд с именем db_name
    Десятки сайтов, нигде нет этой команды, я уже думал с ума схожу. Наконец-то законектился. Спасибо, слов нет.

  4. Олег:

    Очень информативная статья. Но нет ничего по связям. Как? Чем? и ньюансы типа 1-много, 1-1 не описано вообще. А мне как раз это и нужно было

  5. admin:

    Это не было темой поста, на данную тему немного позже будет отдельная статья

  6. круто и понятно !

  7. Рустам:

    Хотел добавить про подключения к mysql через консоль windows.Сам столкнулся с этой проблемой.При работе с пакетом денвер для корекной работы с mysql через консоль надо открыть файл my.ini или my.cnf и прописываем под
    [client]
    port=3306
    default-character-set=utf8
    character-sets-dir=»C:/WebServer/usr/local/mysql5/share/charsets»
    #вторая строка путь к папке charsets с кодировками на установленном #сервере
    [mysql]
    default-character-set=cp866
    character-sets-dir=»C:/WebServer/usr/local/mysql5/share/charsets»

    Теперь в консоли вводим путь к mysql на виртуальном диске:
    Z:/usr/local/mysql5/bin/mysql -u root
    и пользуемся.