Дом Личные финансы 10 Советов по поиску SQL - манекены

10 Советов по поиску SQL - манекены

Оглавление:

Видео: SQL-инъекция. Оборона и нападение (часть 1) 2025

Видео: SQL-инъекция. Оборона и нападение (часть 1) 2025
Anonim

Оператор SQL SELECT - это инструмент для поиска скрытой информации в базе данных. Даже если у вас есть четкое представление о том, что вы хотите получить, перевод этой идеи в SQL может стать проблемой. Если ваша формулировка немного не работает, вы можете получить неправильные результаты. Чтобы уменьшить ваши шансы быть введенными в заблуждение, используйте следующие десять принципов.

Проверка структуры базы данных

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

Попробуйте запросы в тестовой базе данных

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

Запустите каждый тестовый запрос по тестовым данным и посмотрите, соответствуют ли результаты вашим ожиданиям. Если это не так, вам может потребоваться переформулировать ваши запросы. Если запрос правильно сформулирован, но вы все равно получаете плохие результаты, вам может потребоваться реструктурировать вашу базу данных.

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

Запросы двойной проверки, содержащие объединения

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

Тройные проверки запросов с подзапросами

Запросы с подвыборками берут данные из одной таблицы и, в зависимости от того, что извлекается, берут некоторые данные из другой таблицы. Поэтому, по определению, такие запросы действительно могут быть труднодоступными. Убедитесь, что данные, которые внутренний SELECT извлекает, являются данными, которые внешний SELECT должен получить для получения желаемого результата. Если у вас есть два или более уровней подзапросов, вам нужно быть еще более осторожными.

Суммируйте данные с помощью GROUP BY

Скажите, что у вас есть таблица (NATIONAL), которая содержит имя (Player), команду (Team) и количество домашних бегов (Homers) каждого игрока в бейсбол в Национальной лиге, Вы можете получить общее количество игроков в команде для всех команд с таким запросом:

SELECT Team, SUM (Homers) FROM NATIONAL GROUP BY Team;

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

Наблюдать ограничения предложения GROUP BY

Предположим, что вам нужен список нападающих Национальной лиги. Рассмотрим следующий запрос:

SELECT Player, Team, Homers FROM NATIONAL WHERE Homers> = 20 GROUP BY Team;

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

SELECT Player, Team, Homers FROM NATIONAL WHERE Homers> = 20 GROUP BY Team, Player, Homers;

Поскольку все столбцы, которые вы хотите отобразить, отображаются в предложении GROUP BY, запрос выполняется успешно и предоставляет желаемые результаты. Эта формулировка сортирует полученный список сначала Командой, затем Игроком и, наконец, Гомерсом.

Используйте круглые скобки с символами AND, OR и NOT

Иногда, когда вы смешиваете AND и OR, SQL не обрабатывает выражение в ожидаемом порядке. Используйте круглые скобки в сложных выражениях, чтобы убедиться, что вы получите желаемые результаты. Ввод нескольких дополнительных нажатий клавиш - небольшая цена, чтобы заплатить за лучшие результаты.

Круглые скобки также помогают гарантировать, что ключевое слово NOT применяется к термину или выражению, к которому вы хотите применить.

Права на управление поиском

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

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

Предупреждение о недоподготовке: данные не могут быть восстановлены после перенапряжения, пожара, землетрясения или какой-либо другой опасности, которая уничтожает ваш жесткий диск. (Помните, иногда компьютеры просто умирают без уважительной причины.) Делайте частые резервные копии и помещайте резервный носитель в безопасное место.

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

Грамотно обрабатывать условия ошибки

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

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

10 Советов по поиску SQL - манекены

Выбор редактора

Как привлечь с помощью инструмента Magnetic Lasso в Photoshop CS6

Как привлечь с помощью инструмента Magnetic Lasso в Photoshop CS6

Самым сложным инструментом Lasso для использования в Photoshop CS6 является инструмент Magnetic Lasso. Инструмент Magnetic Lasso работает, анализируя цвета пикселей между элементами на переднем плане и элементами в фоновом режиме. Затем он привязывается к краю между элементами, как если бы край имел магнитное притяжение, ...

Как применить фильтр размытия линз в Photoshop CS6 - манекены

Как применить фильтр размытия линз в Photoshop CS6 - манекены

, Если вы используете Blur Lens Blur фильтр на альфа-канале в Photoshop CS6, альфа-канал действует как карта глубины, имитируя глубину резкости, создаваемую апертурой на камере. Глубина поля относится к плоскости фокуса или тому, как в фокусе элементы переднего плана, когда вы сравниваете их с ...

Выбор редактора

Как передавать электронные банковские инструкции с QuickBooks 2015 - манекены

Как передавать электронные банковские инструкции с QuickBooks 2015 - манекены

Вы можете делать все ваши электронные банки с QuickBooks. После того, как вы описываете онлайн-платежи и переводы счетов, которые хотите получить QuickBooks, вы передаете эту информацию в банк. Для этого выполните следующие действия:

Как использовать копию бухгалтера QuickBooks 2014 Data File - манекены

Как использовать копию бухгалтера QuickBooks 2014 Data File - манекены

Независимо от ли клиент вручную передает копию файла данных QuickBooks бухгалтера, отправляет электронную копию копии бухгалтера или отправляет копию бухгалтера через службу передачи файлов Intuit, вы используете копию бухгалтера, выбирая файл → Копировать → Диспетчер → Открыть и конвертировать перевод Файл. Когда вы выбираете эту команду, QuickBooks отображает серию ...

Как превратить оценку работы в счет-фактуру в QuickBooks 2015 - манекены

Как превратить оценку работы в счет-фактуру в QuickBooks 2015 - манекены

QuickBooks должен сделать жизнь проще, не так ли? Зачем создавать совершенно новый счет для задания, для которого вы уже создали оценку работы? Вы можете легко превратить оценку в счет-фактуру, выполнив следующие простые шаги:

Выбор редактора

Как написать заявление класса - манекены

Как написать заявление класса - манекены

Вы пишете инструкцию класса PHP для определения свойств и методов для класс. Класс - это шаблон (шаблон) для объекта. Оператор класса имеет следующий общий формат: class className {Добавить операторы, которые определяют свойства Добавить все методы} Вы можете использовать любой допустимый идентификатор PHP для ...

Поддержание изменений PHP и MySQL - манекены

Поддержание изменений PHP и MySQL - манекены

PHP и MySQL - это программное обеспечение с открытым исходным кодом. Если вы использовали только программное обеспечение от крупных издателей программного обеспечения, таких как Microsoft, Corel или Adobe, вы обнаружите, что программное обеспечение с открытым исходным кодом является совершенно другим видом. Он разработан группой программистов, которые пишут код в свое свободное время, для удовольствия и бесплатно. ...

Как использовать переменные PHP для программирования HTML5 и CSS3 - манекены

Как использовать переменные PHP для программирования HTML5 и CSS3 - манекены

Можно указать переменную PHP почти что угодно в программировании HTML5 и CSS3. Есть несколько зарезервированных слов, которые нельзя назвать переменной (например, печать, которая уже имеет значение в PHP), поэтому, если ваша программа не работает, и вы не можете понять, почему, попробуйте изменить некоторые имена переменных или посмотреть на зарезервированном ...