Для бэкапа и импорта данных пользуюсь очень простым и быстрым php-скриптом с удобным интерфейсом. Sypex Dumper справляется с таблицами в сотни тысяч записей, в отличие от того же phpMyAdmin или других оконных менеджеров для работы с БД. Про консоль mysql я сейчас не говорю.
NULL означает отсутствие, неизвестность информации. Значение NULL не является значением в полном смысле слова: по определению оно означает отсутствие значения и не принадлежит ни одному типу данных. Поэтому NULL не равно ни логическому значению FALSE, ни пустой строке, ни нулю. При сравнении NULL с любым значением будет получен результат NULL, а не FALSE и не 0. Более того, NULL не равно NULL! Довольно часто программисты избегают null-значений и для нулевых полей в базе выставляют значения по умолчанию типа 0, '' (пустая строка). Во-первых, это неправильно с точки зрения семантики: 0 все-таки означает наличие информации. Во-вторых, использование подобных дефолтных значений может привести к ошибкам. Приведу пример
Лучшее, что я смог найти. По России 2500 городов. Страны не все (не хватает Эль-Сальвадор, Эритрея, Фарерские острова и подобных малоизвестных стран, которые по сути являются мусором). читать дальше →
Задача: выбрать 5 случайных активных пользователей из таблицы user
Решение:
SELECT userid, user_name FROM user WHERE activity=1 ORDER BY RAND() LIMIT 5
ORDER BY RAND() - удобная конструкция для выборки случайных записей из таблицы. Она не очень быстрая, но удобная в случае выборки более одной случайной записи, и для небольших таблиц то, что доктор прописал. Для таблицы 20 000 записей вышеприведенный запрос занимает 0.02 с.
Вот такой интересный способ выбора случайной записи встречается иногда :-)
$res = mysql_query(‘SELECT userid, user_name FROM user WHERE activity=1’);
$j = rand(1,mysql_num_rows($res));
$i=1;
while($row=mysql_fetch_array($res)){
if($i==$j){
break;
}
$i++;
}
Отличный учебник по SQL, написанный специально для тех, кто будет использовать SQL в процессе работы. Даже если это ваш первый опыт с базами данных, эта книга очень быстро научит вас свободно работать с реальным SQL, использовать простые запросы, а также снабдит вас ясными понятиями об автоматизированном управлении базой данных. Предоставит вам обучающие программы, чтобы, овладевая командами SQL шаг за шагом, помочь вам узнать, как извлекать и обрабатывать информацию, содержащуюся в таблицах данных. Скачать Мартин Грубер. Понимание SQL (0.6 Mb, формат html)