Mysql запрос из командной строки. Команды MySQL в Linux. Привилегии в MySQL

Будем считать что все у нас уже установлено и теперь приступаем непосредственно к работе.
Подключаемся:
ceval@srv:~$ mysql -pПАРОЛЬ
-p, —password= — Пароль пользователя, для соединения с сервером MySQL. Не должно быть пробела между -p и паролем.
-u, —user= - Имя пользователя для соединения с сервером MySQL. Необязательно, по умолчанию используется такое же, как ваш логин.Используеться если логин отличается от имени пользователя для соединения с сервером MySQL.
$ mysql -u ceval_ -pПАРОЛЬ
Если мы ввели свой пароль правильно, то увидим такие строки и приглашения:

Welcome to the MySQL monitor. Commands end with ; or \g.
Server version: 5.0.45-Debian
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>

Создаем нужную нам базу, с кодировкой cp1251, указанную кодировку можно заменить на требуемую:
CREATE DATABASE db_name DEFAULT CHARACTER SET cp1251 DEFAULT COLLATE cp1251_general_ci;
Удаления базы:
DROP DATABASE db_name;
Смена базы
USE `mydatabase`;
Удаления таблицы из базы
DROP TABLE `db_table`;
Еще немного:
->\g show databases; // смотрим какие базы есть
->\g create database sputnik; // создаем новую базу
->\g show databases; // проверяем создалась ли она
->\q // Выходим

В разных версиях MySQL могут быть разные команды (4 и 5) в данном случае \g — дает команду серверу выполниьт скрипт SQL
Загрузка, сохранение базы данных MySQL (backup, restore) работа с mysql ubuntu
Загрузить базу сохраненными данными (если делалось сохранение данных). Они сохранены например в файле baza.sql
mysql
->\g show databases;
->\u baza;
->\. /home/backup/baza.sql
->\q
/home/backup/baza.sql — путь к файлу бекапа
[b]Сохранить базу с данными в файл baza.sql
mysqldump baza > /home/backup/baza.sql;
База хранится: /var/lib/mysql/baza - для удаления всей базы данных достаточно удалить данный каталог.
Можно осуществлять различными способами:
— подключиться по ssh и работать через командную строку;
— использовать phpmyadmin;
— использовать пакет mysql-admin — это графическая утилита администрирования MySQL (GUI tool for intuitive MySQL administration
MySQL)
Теперь устанавливаем себе пакет mysql-admin на машину
sudo aptitude install mysql-admin
Дальше идем на удаленную машину и правим конфиг [b]my.cnf
$ sudo nano /etc/mysql/my.cnf
Для начало можно проверить:
$ netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
Как видно из вывода пока MySQL слушает на localhoste, а нам нужно, чтобы MySQL слушал на всех интерфейсах, а не только на localhost, поэтому находим и редактируем такую запись:

[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
[...]

и что б MySQL слушал на всех интерфейсах, закомментируем эту строчку:
[...]

#bind-address = 127.0.0.1:

[...]
Рестанем MySQL:
$ sudo /etc/init.d/mysql restart
И посмотрем снова вывод команды:
$ netstat -an | grep 3306
Вывод должен выглядеть следующим образом:

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

и теперь можно запускать mysql-admin для удаленной работы с MySQL — Alt+F2 — mysql-admin
или
$ mysql-admin
работа с mysql ubuntu

От автора: опять заплутали, и не знаете, как зайти в MySQL? Не вы первый! Собирайте всех заблудившихся, и сейчас отправимся прямиком в гости к ней. К кому «к ней»? К самой популярной СУБД всемирной паутины!

Где в Денвере находится MySQL

Имеется в виду не столица штата Колорадо в США, а пакет программ для создания и тестирования приложений на PHP. В состав набора для «джентльменов» входит локальный сервер Apache, MySQL сервер и оболочка phpMyAdmin. Именно с помощью данного программного пакета чаще всего «новички» познают все тонкости работы с этой системой управления БД.

Перед тем, как зайти в MySQL через браузер, нужно запустить локальный сервер, затем в адресной строке набрать localhost, и в появившемся окне «Ура, заработало!» в разделе утилиты выберите phpMyAdmin.

После чего окажетесь там-же (в phpMyAdmin).

Проходим к базам данных через «лабиринт»

Мы с вами отправимся в «дремучий» лес, и постараемся через него «пробраться» к серверу баз. Не подумайте, что мы от кого-то прячемся, просто сейчас мы будем действовать, как . Поехали!

Перед тем, как зайти в MySQL через командную строку, следует выяснить, где находится главная директория сервера баз данных. Если вы используете СУБД в «чистом» виде без «примесей» (вне «джентльменского» набора), то корневая папка сервера расположена здесь: C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe

Если вы используете Денвер, то искомый фал находится по этому пути: Z:\usr\local\mysql-5.5\bin\mysql.exe,

где Z – это виртуальный диск, который создается после запуска локального веб-сервера. У вас он может быть под другим именем (точнее, буквой).

Нас интересует именно файл mysql.exe. Запустим его на выполнение, указав имя сервера баз данных, пароль и пользователя, под которым зайдем в MySQL.

Как включить MySQL через командную строку: заходим в «Пуск», среди стандартных программ выбираем «Командная строка». Запускаем утилиту, и с этого момента опишем всю процедуру «хождения» в дремучем лесу пошагово, чтобы вся группа «заблудившихся» не потерялась еще раз Стартуем:

В черное окно CMD (командной строки) вводим путь, где хранится исполняемый файл MySQL, а рядом указываем имя пользователя СУБД и пароль. Так как у нас локальный сервер, то мы вводим после идентификатора u имя пользователя root без пароля.

На самом деле это неправильно, и для каждого пользователя сервера MySQL должен быть установлен пароль. Более подробно все вопросы безопасности СУБД мы рассмотрим в одной из наших следующей публикации.

Вот весь кусок «кода»: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Если все прошло успешно, то ниже в окне командной строки должна появиться информация о версии запущенного сервиса, год выпуска и другая «ненужная» для нас информация.

Теперь, чтобы проверить правильность подключения, введем после оператора mysql> запрос, который отобразит все базы данных хранящиеся на сервере. Код запроса:

show databases ;

Не забывайте в конце запроса ставить точку с запятой, иначе система выдаст сообщение об ошибке. После ввода запроса и нажатия на клавишу «Enter» мы получили список всех баз, хранящихся на сервере СУБД:

Но этого нам мало. Давайте «копнем» еще глубже в структуру. Рассмотрим, как зайти в базу данных MySQL и получить список всех ее таблиц. Напомню, что сейчас мы уже авторизированы на сервере, поэтому нам потребуется лишь ввести еще один запрос:

show tables from db1;

show tables from db1 ;

db1 – это имя нужной нам базы.

На скриншоте мы видим, что запрашиваемая база данных содержит всего одну таблицу.

Копаем глубже!

Как говорится, «аппетит» приходит после получения результатов выполнения кода. Поэтому постараемся копнуть еще глубже, чтобы получить данные, которые хранятся в таблице. Перед тем, как войти в MySQL еще раз, приведем пример SQL-запроса, с помощью которого мы сможем осуществить задуманное:

SELECT * FROM animal;

SELECT * FROM animal ;

Вводим запрос, запускаем на выполнение и…. Почему-то сервер выдал нам ошибку.

И все потому, что мы забыли указать MySQL, какая из баз нас интересует. Вот сервер и «ругается», что ни одна из БД не выделена. Это еще раз доказывает, что работа с СУБД через командную строку сильно отличается от взаимодействия с ней через программную оболочку.

В phpMySQL данный запрос был бы успешно выполнен и сервер возвратил выборку из всех строк, содержащихся в запрашиваемой таблице.

Исправим наше общее упущение (свою вину всегда трудно признавать ), и перед тем, как войти в MySQL через консоль снова, подготовим «специфический» запрос, с помощь которого мы укажем системе нужную БД:

USE db1 ;

После ввода данной строки и ее выполнения сервер выведет сообщение, подтверждающее, что нужная база данных выделена.

И теперь введем и запустим запрос на выборку всех данных из таблицы animal еще раз. «Да будут данные!» — сказал администратор, и запустил на выполнение SELECT. Докопались до базы db1, и получили содержимое таблицы animal. Не зря перед тем, как войти в базу данных MySQL, мы провели целый «ритуал», и написали правильное «заклинание» на языке SQL.

Что можно еще накопать?

Вглубь мы «докопались» до самого дна MySQL. Теперь давайте «копнем» немного в сторону. Какие еще сведения можно получить через командную строку, опрашивая MySQL? Хотите узнать структуру таблицы, типы данных всех столбцов, первичный ключ? Пожалуйста! Запустите на выполнение этот запрос:

describe animal;

describe animal ;

Иногда, чтобы знать, как включить сервер MySQL, требуется получить список всех зарегистрированных пользователей СУБД. Для этого используется следующий запрос.

Развитие информационных технологий - одно из передовых направлений деятельности человечества. Поэтому в данную область инвестируется огромное количество средств. С момента начала и по сегодняшний день было решено много различных задач, которые серьезно облегчили повседневную жизнь многих людей. Однако с развитием технологий возник ряд проблем, одна из которых - чрезмерный объем информации, подлежащей хранению. Базы данных были призваны разрешить возникшую ситуацию.

Краткий обзор систем управления базами данных

Так как проблема хранения большого объема информации актуальна на сегодняшний день, существует несколько способов решения. Каждый из них ориентирован на задачи определенной направленности. Однако в совокупности они образуют полноценный комплекс, который позволяет упростить проблему хранения данных.

Существует определенная классификация, которая определяет необходимость использования той или иной базы данных и СУБД (системы управления базами данных). Наиболее распространенными в настоящее время принято считать клиент-серверные технологии хранения данных. К ним относятся следующие виды: Firebird, Interbase, IBM DB2, Sybase, Oracle, PostgreSQL, ЛИНТЕР, MySQL. Нас будет интересовать последний вариант - MySQL, команды которой полностью соответствуют стандартам SQL. Данная технология является одной из популярных и часто применяемых для решения как локальных прикладных, так и производственных задач малого масштаба.

Предшественниками клиент-серверной технологии являются файл-серверные СУБД, которые утратили свои позиции из-за ряда имеющихся недостатков, среди которых выделяют необходимость распространения ядра СУБД на каждом компьютере и значительную нагрузку на локальную сеть, приводящую к увеличению временных затрат. К данной группе относятся Borland Paradox.

Новые технологии, набирающие популярность

Однако несколько лет назад появилась передовая технология, которая приобретает популярность и пользуется спросом при решении небольших локальных задач. Речь идет о встраиваемых системах управления базами данных. Главная особенность рассматриваемых СУБД - отсутствие серверной части. Сама система представляет собой библиотеку, позволяющую унифицированным образом работать с большими объемами информации, размещенными на локальном компьютере. Данный способ исключает недостатки файл-серверных средств, а также значительно превосходит по скорости клиент-серверные технологии.

В качестве примеров можно рассматривать OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, Sav Zigzag, Compact, ЛИНТЕР, а также один из вариантов MySQL, команды которого ничем не отличаются от используемых в клиент-серверных СУБД. Однако встраиваемые системы могут легко утратить свою актуальность, если задача перестанет носить локальный характер.

Основные преимущества СУБД MySQL

Система управления базами данных MySQL является одной из наиболее востребованных технологий, так как может быть задействована для решения огромного количества задач. Если сравнивать ее с современными аналогами, то можно выделить ряд основных преимуществ.

Главным плюсом на российском рынке считается ее доступность, так как она бесплатна в большинстве случаев. Второй особенностью является быстродействие. Одной из самых популярных систем является MySQL. Команды в ней выполняются быстро, с минимальным временем отклика. Не оказывает влияния на скорость обработки команд подключение к серверу нескольких клиентов в многопоточном режиме за счет использования механизма InnoDB для быстрой поддержки транзакций.

Наличие ODBC драйвера позволяет упростить разработчикам решение многих задач. К преимуществам также стоит отнести наличие возможности осуществления записей фиксированной и переменной длины. Но главная функция, которая очень ценится в кругу программистов, - интерфейс с языками С и РНР. Возможности, предоставляемые MySQL, позволили использовать данную СУБД для огромного числа провайдеров услуг интернет-хостинга.

А для простого обывателя, проявляющего интерес к современным технологиям хранения информации, необходимо изучать MySQL, и их синтаксис потому, что специалисты в данном направлении являются широко востребованными и высокооплачиваемыми в любой точке мира. Поэтому, если кого-нибудь интересует данное направление, не стоить медлить. Необходимо переходить к изучению прямо сейчас.

Что необходимо для изучения

На первый взгляд может показаться, что данная область сложна в самостоятельном изучении и требует постоянной связи со специалистом. Однако это далеко не так. Изучать архитектуру и особенности MySQL, основные команды языка запросов и все, что с этим связано, можно самостоятельно, не прибегая при этом к помощи консультанта. Для этого достаточно иметь желание и прилагать усилия для того, чтобы двигаться дальше. Только саморазвитие и изучение этой области позволят приобрести новые знания, закрепить приобретенные навыки и, возможно, начать строить карьеру и продвигаться в данном направлении.

Для изучения основных команд, прежде всего, необходимо иметь под рукой бесплатную версию консольной утилиты MySQL. Именно с нее начинается процесс обучения. Скачать ее можно с официального сайта MySQL. Она легко устанавливается на любую операционную систему, образуя серверную и клиентскую на одном компьютере, что очень удобно.

Затем необходимо прибегнуть к поиску обучающего мануала, содержащего основные сведения о среде MySQL. для базового изучения, как правило, в них также содержатся. Информации по этому поводу достаточно много. Однако к выбору необходимо подойти серьезно. Информация должна быть представлена последовательно и четко структурирована.

В случае если у вас имеются начальные знания английского языка, можно воспользоваться встроенной в консоль поддержкой. Для этого существует специальная команда help , которая помогает разобраться в использовании утилиты MySQL.

Основные консольные команды

Плавно переходя от основных особенностей, возможностей и преимуществ, мы подобрались к списку основных команд. Утилита MySQL изначально содержит только одного пользователя, который как раз и используется для изучения. Это пользователь с именем root , пароль для которого полностью идентичен имени.

При первом и последующих запусках консоли MySQL пользователю необходимо будет вводить пароль root для дальнейшей работы с СУБД MySQL. Команды консоли будут доступны только после прохождения аутентификации.

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

и отображения

Теперь необходимо перейти к следующему шагу. Для этого необходимо выбрать существующую или создать новую базу данных. Для выбора существующей базы необходимо использовать команду use. И через пробел ввести имя базы данных. Изначально в утилите она существует только одна - с именем test . Поэтому запрос будет выглядеть следующим образом: use test .

Для создания базы данных необходимо воспользоваться командой create , указав ей ключевое слово database и задав соответствующее имя. Структура примет следующий вид: create database Name_of_database . Для работы с созданной базой к ней необходимо обратиться при помощи команды use .

В среде предусмотрена функция, предназначенная для отображения существующих баз данных, таблиц, первичных ключей или внешних связей и вывода имеющейся о них информации на MySQL консоль. Команды в этом случае должны всегда начинаться с предложения show . Например, для того чтобы отобразить список имеющихся баз данных для текущего пользователя, достаточно ввести следующий запрос: show databases . Для отображения таблицы достаточно после ключевого слова изменить объект отображения, вписав tables .

Команды управления таблицами

Прежде чем перейти дальше, необходимо ещё раз напомнить, что соответствие стандартам языка SQL предоставляет широкие возможности разработчикам, независимо от используемых СУБД и операционных систем. Запросы, разработанные в любой среде, которая поддерживает стандарт SQL, успешно отработают (при наличии базы данных и таблиц) в среде MySQL. Команды консоли Windows ничем не отличаются от используемых в других операционных системах.

Для работы с таблицами существует ряд определенных команд, которые, если перевести их с английского, говорят сами за себя. О команде create было упомянуто выше. Она также может быть задействована для добавления таблиц в ранее созданную базу данных. Для удаления объектов баз данных, в частности и таблиц, используется команда drop , к которой добавляется имя уничтожаемого объекта. Пример: drop name _ of _ your _ table .

Синтаксис обращений к серверу БД всегда имеет общую структуру. Поэтому запрос, разработанный в Windows, успешно отработает и в консоли MySQL Linux. Команды, обработанные сервером без ошибок в одной операционной системе, не могут привести к возникновению ошибок в других.

Команда Select

Но самая важная для работы с таблицами команда, синтаксис которой достаточно прост, - команда select . Именно она применяется для выбора данных из базы. Первоначальный синтаксис имеет следующую структуру: select * from table _ name . Отправив такой запрос серверу базы данных, клиент должен получить все записи, хранящиеся в таблице.

Многие никогда не задумываются, но при просмотре интернет-ресурсов постоянно используются MySQL команды.PHP-запросы используют синтаксис языка SQL, чтобы отображать содержимое каталогов интернет-магазинов или новости в социальных сетях. Вместо знака “*” после предложения select , как правило, приводится список основных полей таблицы или нескольких таблиц, данные из которых необходимо обработать. В случае выборки из нескольких таблиц используется специальная связка join , которая служит для их соединения по имеющимся внешним связям. Однако это условие можно изменять, самостоятельно указывая, по каким полям должна проводиться связь.

Задание ограничений выборки

Иногда происходит ситуация, когда ответ, полученный от сервера базы данных, содержит повторяющиеся данные. Для того чтобы пользователю были видны только уникальные записи, используется предложение distinct. Оно помещается перед списком запрашиваемых полей и служит вспомогательным средством для сокрытия дубликатов.

Ниже предоставлен список наиболее полезных и часто используемых команд MySQL с примерами.

mysql в начале строки означает, что команда выполняется после входа вMySQL .

Символ # или $ в начале строки означает, что команда выполняется из командной строки.

Что бы проверить статус сервера MYSQL выполните:

для FreeBSD :

# service mysql-server status

в CentOS / RHEL :

# service mysqld status

MySQL из консоли, если сервер MySQL находится на том же хосте:

Что бы подключиться к серверу MySQL из консоли, если сервер MySQL находится на удаленном хосте db1.example.com:

$ mysql -u username -p -h db1.example.com

Работа с базами, таблицами - просмотр, удаление, редактирование записей. Консоль

Создать базу данных на MySQL сервере:

Mysql create database

Показать список всех баз данных на сервере MySQL :

Mysql use ;

Отобразить все таблицы в базе данных:

Mysql show tables;

Просмотреть формат таблицы в базе:

Mysql describe ;

Удалить базу:

Mysql drop database ;

Удалить таблицу из базы:

Mysql drop table ;

Показать все содержимое таблицы:

Mysql SELECT * FROM ;

Отобразить столбцы и содержимое столбцов в выбранной таблице:

Mysql show columns from ;

Отобразить строки в определенной таблице, содержащие " whatever ":

Mysql SELECT * FROM WHERE = "whatever";

Отобразить все записи в определенной таблице, содержащие " Bob " и телефонный номер " 3444444:

Mysql SELECT * FROM WHERE name = " Bob " AND phone_number = " 3444444 ";

Отобразить все записи, НЕ содержащие имя " Bob " и телефонный номер " 3444444 ", отсортированные по полю phone_number:

Mysql SELECT * FROM WHERE name != " Bob " AND phone_number = " 3444444 " order by phone_number;

Показать все записи, начинающиеся с букв " bob " и телефонного номера " 3444444 " в определенной таблице:

Mysql SELECT * FROM WHERE name like " Bob %" AND phone_number = " 3444444 ";

Показать все записи, начинающиеся с букв " bob " и телефонного номера " 3444444 ", ограничиваясь записями с 1-ой до 5-ой:

Mysql SELECT * FROM WHERE name like " Bob %" AND phone_number = " 3444444 " limit 1,5;

Использование регулярных выражений ("REGEXP BINARY") для поиска записей. Например, для регистро-независимого поиска - найти все записи, начинающиеся с буквы А:

Mysql SELECT * FROM WHERE rec RLIKE "^ a ";

Показать все уникальные записи:

Mysql SELECT DISTINCT FROM ; mysql SELECT , FROM ORDER BY DESC;

Показать количество строк в таблице:

Mysql SELECT COUNT(*) FROM ;

Mysql SELECT SUM(*) FROM ;

Удаление столбца:

Mysql alter table drop column ;

Добавление колонки в базу данных:

Mysql alter table add column varchar (20);

Изменение имени столбца:

Mysql alter table change varchar (50);

Создать столбец с уникальным именем, что бы избежать дубликатов в названиях:

Mysql alter table add unique ();

Изменение размера столбца:

Mysql alter table modify VARCHAR(3);

Удаление столбца из таблицы:

Mysql alter table drop index ;

Mysql LOAD DATA INFILE " /tmp/filename.csv " replace INTO TABLE FIELDS TERMINATED BY "," LINES TERMINATED BY "n" (field1,field2,field3);

Пользователи, пароли сервера MySQL - добавление, изменение пользователей и паролей. Консоль

Создание нового пользователя - подключение к серверу MySQL под root, переключение к базе данных, добавление пользователя, обновление привилегий:

# mysql -u root -p mysql use mysql; mysql INSERT INTO user (Host,User,Password) VALUES("%"," username ", PASSWORD(" password ")); mysql flush privileges;

Изменений пользовательского пароля из консоли на удаленном хосте db1.example.org:

# mysqladmin -u username -h db1.example.org -p password " new-password "

Изменение пользовательского пароля из консоли MySQL - подключение под root, обновление пароля, обновление привилегий:

# mysql -u root -p mysql SET PASSWORD FOR " user "@" hostname " = PASSWORD(" passwordhere "); mysql flush privileges;

Восстановление/изменение пароля root сервера MySQL - остановка MySQL , запуск без таблиц привилегий, подключение под root, установка нового пароля, выход и перезапуск MySQL .

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql use mysql; mysql update user set password=PASSWORD(" newrootpassword ") where User="root"; mysql ; flush privileges; mysql quit # /etc/init.d/mysql stop # /etc/init.d/mysql start

Set a root password if there is on root password.

# mysqladmin -u root password newpassword

Обновление пароля root:

# mysqladmin -u root -p oldpassword newpassword

Установка права на подключение к серверу с хоста localhost с паролем " passwd " - подключение подroot, переключение к базе данных, установка привилегий, обновление привилегий:

# mysql -u root -p mysql use mysql; mysql grant usage on *.* to bob @localhost identified by " passwd "; mysql flush privileges;

Установка привилегий пользователю на использование базы данных - подключение под root, переключение к базе данных, установка привилегий, обновление привилегий:

# mysql -u root -p mysql use mysql; mysql INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ("%","databasename","username","Y","Y","Y","Y","Y","N"); mysql flush privileges;

Mysql grant all privileges on databasename .* to username @localhost; mysql flush privileges;

Обновление информации в базе данных:

Mysql UPDATE SET Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" where = user";

Удаление строки в таблице:

Mysql DELETE from where = "whatever";

Обновление привилегий в базе данных:

Mysql flush privileges;

Резервные копии - создание, восстановление бд. Консоль

Создать резервную копию (dump) всех баз данных в файл alldatabases.sql:

# mysqldump -u root -p password -opt ; /tmp/alldatabases.sql

Создать резервную копию одной базы данных в файл databasename.sql:

# mysql dump -u username -p password -databases databasename ; /tmp/databasename.sql

Создать резервную копию одной таблицы в файл databasename.tablename.sql:

# mysql dump -c -u username -p password databasename tablename ; /tmp/databasename.tablename.sql

Восстановление базы данных (или таблицы) из резервной копии:

# mysql -u username -p password databasename < /tmp/databasename.sql

Создание таблиц БД. Консоль

маленькими буквами указаны имена столбцов;
ПРОПИСНЫМИ буквами - типы и атрибуты столцов;
в (скобках) - значение типа столбца.

Создать таблицу, пример 1:

mysql CREATE TABLE (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35), suffix VARCHAR(3), officeid VARCHAR(10), userid VARCHAR(15), username VARCHAR(8), email VARCHAR(35), phone VARCHAR(25), groups VARCHAR(15), datestamp DATE, timestamp TIME, pgpemail VARCHAR(255));

Создать таблицу, пример 2:

Mysql create table (personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, firstname VARCHAR(35), middlename VARCHAR(50), lastname VARCHAR(50) default "bato");

Расскажу немного о том как пользоваться базой данных 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 например..