X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите разобрать запрос SQL
Banderas
Banderas
Topic Starter сообщение 4.12.2011, 1:59; Ответить: Banderas
Сообщение #1


Вот есть запрос, помогите обьяснить что как работает
create database bookmarks; // команда на создание БД с идентефикатором bookmarks
use bookmarks; // как я понял, команда, которая указывает что следующие запросы будуть для БД bookmarks


// создаем таблицу users (тут все понятно)
create table users (
username varchar(16) not null primary key,
passwd char(40) not null,
email varchar(100) not null
);


// создаем таблицу bookmark (тут пару вопросов)
create table bookmark (
username varchar(16) not null,
bm_URL varchar(255) not null,
index (username), // что это значи
index (bm_URL),
primary key (username, bm_URL) // задаем первичный ключ, но он должен быть по username, почему здесь есть bm_URL?
);

grant select, insert, update, delete // выставляем права (возможные запросы) on bookmarks.* // как это понять (подробно)
to bm_user@localhost identified by 'password'; // создается пользователь bm_user с паролем password ???


После это мне нужно дать команду в командной строке
mysql -u root -p < bookmarks.sql

как я понял это команда читается так
1) обращаемся к файлу mysql
2) после -u пишем пользователя
3) после -p пишем пароль
4) пароль указан в файле, то < указывает что нужно открыть bookmarks.sql и считать оттуда???

Пожалуйста дайте ссылку или обьясните, интересно почитать.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 4.12.2011, 4:10; Ответить: sc2r2bey
Сообщение #2


http://www.deepserver.ru/sql/index.htm


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 4.12.2011, 10:54; Ответить: matroskin8
Сообщение #3


(Banderas)
use bookmarks; // как я понял, команда, которая указывает что следующие запросы будуть для БД bookmarks

Правильно понял. Если говорить формальнее, то это выбор БД для работы, аналог функции mysql_select_db()

(Banderas)
passwd char(40) not null

Для строк переменной длины лучше использовать тип VARCHAR

(Banderas)
index (username), // что это значи

Это так называемое индексирование поля, т.е. создание индексов для указанного поля. Цель этого действия - облегчение серверу поиска по указанному полю. Если попытаться объяснить на доступном примере, то индексы можно сравнить с содержанием книги. Для того, чтобы найти конкретное место в книге, нам не надо перелистывать ее всю - достаточно в содержании найти нужное нам с номером страницы. Или, к примеру, в энциклопедии для того, чтобы найти слово "программирование", не нужно перелопачивать всю энциклопедию, а достаточно найти указатель "ПРО" и искать искомое слово в нем. В общем, индексируют поля, по которым чаще всего происходит выборка.
В случае с представленным запросом индексирование полей "username" и "bm_URL" лишено смысла, поскольку для данных полей устанавливается первичный ключ. Если для поля установлен PRIMARY KEY либо UNIQUE KEY, то сервер автоматом создает для данных полей индекс, поскольку:
1) "понимает", что выборка чаще всего будет происходить именно по этим полям;
2) поскольку эти поля становятся уникальными, то при добавлении каждой записи сервер должен проверить, а не было ли уже такого значения для поля "username", т.е. сделать своеобразную выборку.

(Banderas)
grant select, insert, update, delete // выставляем права (возможные запросы) on bookmarks.* // как это понять (подробно)
to bm_user@localhost identified by 'password'; // создается пользователь bm_user с паролем password ???

Тут просто - создаем пользователя bm_user с паролем password и соответствующими (ограниченными) правами для БД.

mysql -u root -p < bookmarks.sql

Ну а это соединение с сервером MySQL из консоли:
1) -u (user) - имя пользователя;
2) -p (password) - пароль

(Banderas)
4) пароль указан в файле, то < указывает что нужно открыть bookmarks.sql и считать оттуда???

Вот с таким не сталкивался :rolleyes:... надо посмотреть что в указанном файле.


Поблагодарили: (0)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Banderas
Banderas
Topic Starter сообщение 4.12.2011, 11:01; Ответить: Banderas
Сообщение #4


2*matroskin8* большое спасибо!!!
В указаном файле SQL запрос для создание БД bookmarks (что выше)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Запрос на бесплатные полезности
7 Tia2 1980 23.3.2024, 11:27
автор: Alexand3r
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 731 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыБаза товаров (opencart) SQL 70к+ товаров
Инструменты для дома, строительное и производственное оборудование
5 getdump 5637 1.9.2021, 2:04
автор: WebSniper
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1702 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2345 7.8.2020, 9:28
автор: heisenberg_mw


 



RSS Текстовая версия Сейчас: 25.4.2024, 7:55
Дизайн