Расскажу немного о том как пользоваться базой данных 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
У меня через консоль не получается, пишет mysql не является внутренней или внешней командой. Не подскажите в чем проблема?
в windows нужно указывать полный путь до файла mysql.exe, например C:/apache2/bin/mysql/mysql.exe
Слава Богу!
use db_name; – выбрать бд с именем db_name
Десятки сайтов, нигде нет этой команды, я уже думал с ума схожу. Наконец-то законектился. Спасибо, слов нет.
Очень информативная статья. Но нет ничего по связям. Как? Чем? и ньюансы типа 1-много, 1-1 не описано вообще. А мне как раз это и нужно было
Это не было темой поста, на данную тему немного позже будет отдельная статья
круто и понятно !
Хотел добавить про подключения к 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
и пользуемся.