ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

acer ado.net amd asp.net c sharp c# cms css exceptions google html ipad iphone it бизнес javascript jquery linq microsoft mysql net nokia nokia lumia samsung seo silverlight sql surface tsql windows 8 windows blue windows phone windows rt xna безопасность библиотека вопросы на собеседовании интересные проекты интернет интернет магазин исключения книга книги компьютерная безопасность компьютерные игры контролы курсы по программированию логированние исключений мобильные приложения монетизация сайтов наушники новости новости it новости microsoft новости интернет новости технологий ноутбук ноутбуки обработка исключений оптимизация острова периферия планшет планшеты поддержка сайтов поисковое продвижение программы продвижение продвижение сайта продвижение сайтов рабство разработка игр разработка сайтов раскрутка сайта рекламные технологии смартфон смартфоны собеседование создание сайтов средства разработки туризм фриланс хостинг яндекс
  << Предыдущий пост       Следующий пост >>  
От: inbruk
19. июня 2013 01:06

MySQL

Продолжаю размещать переводы с англоязычного сайта www.techinterviews.com, посвященного вопросам на собеседовании для программистов. Ответы приведены такие же как на исходном сайте.

Что значит флаг –i-am-a-dummy при старте MySQL ?
Он заставляет отвергать команды UPDATE и DELETE когда выражение WHERE в них не наличествует. Таким образом не дает стереть все строки таблицы в случае неопытных или рассеяных программистов.

При исполнении команды DELETE я получил ошибку ограничения внешнего ключа. Что мне делать ?
Это значит, что те данные, которые вы пытаетесь удалить все еще остаются "живыми" в другой таблице. Например, вы имеете две таблицы университеты и студенты. В таблице студенты есть ссылка на поле ID таблицы университеты. Которое значит внешний ключ - связь между студентом и университетом в который он ходит. Удаление из таблицы университеты может не удаться, если на удаляемую строку есть ссылки из таблицы студенты. Правильное действие в таком случае сначала стереть те строки, которые ссылаются на университеты из таблицы со студентами, а потом уже стирать университеты. Еще одним способом может считаться отключение проверки внешних ключей перед командой DELETE с последующим включением, когда удаление завершено. Это делается так:
SET foreign_key_checks=0
Это может быть очень удобным и быстрым при массовом переносе данных из разных таблиц. Но в таких случаях нужно внимательно следить за целостностью данных (внешних ключей). Иначе это приведет к ошибкам во время работы с БД и/или потерям данных. Если ваши внешние ключи оформлены с выражением ON DELETE CASCADE, то данные в зависимых таблицах будут удалены автоматически.

Когда бы вы использовали ORDER BY в выражении DELETE ?
Тогда, когда вы не стираете по ID строки. Например в случае следующего запроса:
DELETE FROM techinterviews_com_questions ORDER BY timestamp LIMIT 1
Это удалит самый последний вопрос из добавленных в таблицу techinterviews_com_questions.

Как бы вы просмотрели все опреденные для заданной таблицы индексы ?
SHOW INDEX FROM techinterviews_questions

Как бы вы изменили тип колонки с VARCHAR(10) на VARCHAR(50) ?
ALTER TABLE techinterviews_questions CHANGE techinterviews_content techinterviews_CONTENT VARCHAR(50)

Как бы вы удалили колонку ?
ALTER TABLE techinterviews_answers DROP answer_user_id

Как бы вы изменили/перенесли таблицу на движок InnoDB ?
ALTER TABLE techinterviews_questions ENGINE innodb

Когда вы создали таблицу и потом запустили SHOW CREATE TABLE на ней. То вы увидите не дословно те же конструкции, которыми вы создавали ее. Что MySQL модифицировал автомтически в вашей, только что созданной таблице ?
- VARCHAR-ы с длинной менее 4-х символов становятся CHAR-ами
- CHAR-ы с длинной более 3 символов сьановятсяVARCHAR-ми
- NOT NULL добавляется к колонкам объявленным как PRIMARY KEYs
- Значения по умолчанию, такие как NULL специфицируются каждой колонке

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

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

Silverlight, HTML5 и непрозрачная стратегия развития Microsoft
Оригинал статьи взят отсюда: Silverlight, HTML5 и непрозрачная стратегия развития Microsoft Автор: Peter Bright Переводчик: Mairon     По непонятным мне на данный момент причинам, похоже, что многие разработчики, присутствовавшие на недавней конференции PDC-2010 (Крупнейшая конференция Microsoft для разработчиков — Прим. переводчика), были сильн...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий