Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2012, 12:07   #1
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию Использование символа " ` " в запросе

В одном из учебников по PHP в главе, посвященной "MySQL", в примерах при составлении SQL-запросов имена баз данных, таблиц, колонок "оборачивались" в спец символы: " ` ".

Например:

INSERT INTO `table_name` (`col1`, `col2`) VALUES ("Value1", "Value2");

С момента прочтения этого учебника прошло много времени. Теперь я изучаю MySQL отдельно, более углубленно. Купил учебник. В нем все примеры без этого символа, т.е. вышеописанный запрос выглядел бы так:

INSERT INTO table_name (col1, col2) VALUES ("Value1", "Value2");

Вопрос. Для чего в первом учебнике использовался спец. символ " ` " ?
Есть подозрение, что для повышения уровня читабильности. Или же есть другие причины?
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 17.06.2012, 12:19   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Хотя бы для того, что бы отличить имена баз данных, таблиц и полей от зарезервированных слов, если по каким-то причинам использованы в качестве этих имен
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.06.2012, 11:22   #3
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

а если конкретно, то например у тебя есть база с названием "koe-chto-nibud"
и соответственно ты не сможешь выполнить к ней запрос в стиле
INSERT INTO koe-chto-nibud (col1, col2) VALUES ("Value1", "Value2");
так что без " ` " ты не обойдёшься
в общем смысл этих закорючек в том что бы указывать начало и окончание имён.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 18.06.2012, 16:41   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от Linel Посмотреть сообщение
INSERT INTO table_name (col1, col2) VALUES ("Value1", "Value2");
В данном примере применять эти кавычки нет смысла. Все зависит от имен таблиц и полей. Некоторые пихают данные кавычки повсеместно.
Ну а, вообще, мало кто в серьезных проектах пишет SQL-запросы руками, используются конструкторы. Так вот конструктор должен брать все имена в такие кавычки на всякий случай, чтобы избежать появления возможных ошибок.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
Visual Basic, использование операторов "for..next" и "if.. end if" Dieza Помощь студентам 0 27.10.2010 20:46
Код символа "BackSpase" в ANSI(Если такой есть...) ChEaTeR-abc Помощь студентам 3 30.06.2010 17:39
Как запретить ввод второго символа "-" в StringGrid ? Ветас Помощь студентам 2 11.11.2009 22:17
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04