Поиск: SELECT (174)
| Перенос на другие системы » Регулярные выражения в MySQL |
G Регулярные выражения в MySQL
Регулярные выражения (regex, regexp) представляют собой мощный способ выполнения сложного поиска.
В MySQL используется расширенная версия предложенной Генри Спенсером (Henry Spencer) реализации регулярных выражений, которая ориентирована на соответствие POSIX 1003.2. |
|
теги: SELECT |
| |
| Перенос на другие системы » Методы блокировки |
E.4 Методы блокировки
В настоящее время MySQL поддерживает только табличную блокировку для таблиц типов ISAM/MyISAM и HEAP, страничную блокировку для таблиц BDB и строковую блокировку для таблиц InnoDB (see section 5.3.1 Как MySQL блокирует таблицы). Для таблиц MyISAM можно произвольным образом сочетать команды INSERT и SELECT без блокировок, поскольку поддерживается управление версиями (Versioning). |
|
теги: MyISAM, DELETE, SELECT |
| |
| Перенос на другие системы » Использование журналов для определения причин ошибок в mysqld |
E.1.5 Использование журналов для определения причин ошибок в mysqld
Обратите внимание: перед запуском mysqld с --log необходимо проверить все используемые таблицы с помощью myisamchk (see section 4 Администрирование баз данных).
Если демон mysqld умрет или зависнет, следует запустить mysqld с опцией --log. Если аварийное завершение mysqld снова повторится, то можно исследовать часть журнала, относящуюся к запросу, убившему mysqld. |
|
теги: SELECT, MyISAM |
| |
| Привнесенные программы » Разработчики MySQL AB |
C.1 Разработчики MySQL AB
Здесь представлен список разработчиков, занимающихся в настоящее разработкой программного обеспечения сервера баз данных MySQL в компании MySQL AB или занимавшихся этой разработкой ранее, приблизительно в том порядке, в котором они начинали работать с нами. После личных данных каждого разработчика следует небольшой список задач, за которые он отвечал, или выполненных им работ. |
|
теги: MyISAM |
| |
| Привнесенные программы » Веб-инструменты |
B.3 Веб-инструменты
http://www.mysql.com/Downloads/Contrib/mod_mysql_include_1.0.tar.gz Модуль Apache для включения HTML-кода из запросов MySQL в ваши страницы и выдачи обновленных запросов. Первоначально написано для реализации простой быстрой малозатратной системы ротации баннеров. Автор Саша Пачев (Sasha Pachev).
http://htcheck.sourceforge.net/ htCheck - это программа контроля URL с MySQL в качестве базы данных. Исследуемые URLы в дальнейшем могут быть включены в запросы, используя SQL, для извлечения информации различного типа, например, недействительных ссылок. Автор Габриеле Бартолини (Gabriele Bartolini). |
|
теги: HTML, Perl |
| |
| Проблемы и распространенные ошибки » Как изменить порядок столбцов в таблице |
A.6.2 Как изменить порядок столбцов в таблице
Основная идея SQL заключается в том, чтобы разделить приложения и формат хранения данных. Всегда следует указывать порядок извлечения данных, например:
SELECT col_name1, col_name2, col_name3 FROM tbl_name;
возвратит столбцы в порядке col_name1, col_name2, col_name3, тогда как:
SELECT col_name1, col_name3, col_name2 FROM tbl_name;
возвратит столбцы в порядке col_name1, col_name3, col_name2. |
|
теги: SELECT, INSERT |
| |
| Проблемы и распространенные ошибки » Проблемы со сравнением чисел с плавающей точкой |
A.5.7 Проблемы со сравнением чисел с плавающей точкой
Числа с плавающей точкой иногда служат источником неприятностей, поскольку эти числа архитектурно хранятся в компьютере не как точные числа. То, что обычно мы видим на экране, не является точным значением числа.
Поля типов FLOAT, DOUBLE и DECIMAL следующие.
CREATE TABLE t1 (i INT, d1 DECIMAL(9,2), d2 DECIMAL(9,2));
INSERT INTO t1 VALUES (1, 101.40, 21.40), (1, -80.00, 0.00),
(2, 0.00, 0.00), (2, -13.20, 0.00), (2, 59.60, 46.40),
(2, 30.40, 30.40), (3, 37.00, 7.40), (3, -29.60, 0.00),
(4, 60.00, 15.40), (4, -10.60, 0.00), (4, -34.00, 0.00),
(5, 33.00, 0.00), (5, -25.80, 0.00), (5, 0.00, 7.20),
(6, 0.00, 0.00), (6, -51.40, 0.00); |
|
теги: FLOAT, SELECT |
| |
| Проблемы и распространенные ошибки » Удаление строк из взаимосвязанных таблиц |
A.5.5 Удаление строк из взаимосвязанных таблиц
Поскольку MySQL пока что не поддерживает вложенных запросов, а также (до версии 4.0) использование более одной таблицы в команде DELETE, то для удаления строк из 2 взаимосвязанных таблиц следует использовать следующий подход:
Выполните в главной таблице SELECT строк на основе некоторого условия WHERE. |
|
теги: DELETE, SELECT, WHERE |
| |
| Проблемы и распространенные ошибки » Проблемы с alias |
A.5.4 Проблемы с alias
Псевдонимы можно использовать для ссылки на столбец в GROUP BY, ORDER BY или в части HAVING, а также для лучшего именования столбцов:
SELECT SQRT(a*b) as rt FROM table_name GROUP BY rt HAVING rt > 0;
SELECT id,COUNT(*) AS cnt FROM table_name GROUP BY id HAVING cnt > 0;
SELECT id AS "Customer identity" FROM table_name; |
|
теги: SELECT, WHERE |
| |
| Проблемы и распространенные ошибки » Проблемы со значением NULL |
A.5.3 Проблемы со значением NULL
Концепция NULL-значения часто вводит в заблуждение новичков в SQL, которые считают, что NULL - то же, что и пустая строка "". Это ошибка! Например, следующие команды совершенно различны:
mysql> INSERT INTO my_table (phone) VALUES (NULL);
mysql> INSERT INTO my_table (phone) VALUES (""); |
|
теги: NULL, INSERT, SELECT |
| |
| Проблемы и распространенные ошибки » Проблемы с использованием столбцов типа DATE |
A.5.2 Проблемы с использованием столбцов типа DATE
Значения типа DATE имеют формат YYYY-MM-DD; согласно стандарту ANSI SQL, никакой другой формат не допускается. Пользователь должен применять этот формат в выражениях UPDATE и в определении WHERE операторов SELECT. Например:
mysql> SELECT * FROM tbl_name WHERE date >= '1997-05-05';
Из соображений удобства MySQL автоматически преобразовывает дату в число, если дата используется в числовом контексте (и наоборот). Благодаря своей ``разумности'' MySQL допускает также ``мягкую'' строковую форму при обновлении и в определении WHERE, сравнивающем дату со столбцом типа TIMESTAMP, DATE или DATETIME ("мягкая" форма означает, что для разделения составляющих даты можно использовать любой знак пунктуации; например, 1998-08-15 и 1998#08#15 эквивалентны). MySQL может также преобразовывать в даты строки, не содержащие разделителей (наподобие 19980815), при условии, что представляемая строкой дата не лишена смысла. |
|
теги: SELECT, UPDATE |
| |
| Проблемы и распространенные ошибки » Где MySQL хранит временные файлы |
A.4.4 Где MySQL хранит временные файлы
Переменная окружения TMPDIR содержит полное имя каталога, в котором в MySQL хранит временные файлы. Если TMPDIR не установлена, то MySQL использует каталог, заданный в системе по умолчанию (обычно это `/tmp' или `/usr/tmp'). Если файловая система, в которой находится каталог временных файлов, слишком мала, то следует, отредактировав safe_mysqld, присвоить TMPDIR значение, указывающее на каталог в "более просторной" файловой системе! Временный каталог можно также задавать с помощью опции --tmpdir к mysqld. |
|
теги: mysqld, SELECT |
| |
| Расширение MySQL » Процедура Analyse |
9.3.1 Процедура Analyse
analyse([max elements,[max memory]])
Эта процедура определена в `sql/sql_analyse.cc'. Она исследует результат запроса и возвращает анализ результатов:
max elements (по умолчанию 256) - максимальное число различных значений, которые analyse будет распознавать в столбце. Аргумент используется analyse для проверки того, является ли тип ENUM оптимальным типом столбца. |
|
теги: SELECT, WHERE |
| |
| Расширение MySQL » Расширение тестового пакета MySQL |
9.1.2.2 Расширение тестового пакета MySQL
Для создания собственных контрольных тестов можно использовать язык mysqltest. К сожалению, полная документация по языку пока еще не написана, но мы планируем в скором времени это сделать. Можно, однако, обратиться к имеющимся контрольным тестам и использовать их в качестве примера. В качестве отправных точек должны служить следующие моменты:
Тесты должны быть расположены в mysql-test/t/*.test |
|
теги: SELECT, SHOW |
| |
| Интерфейсы для MySQL » Какие результаты можно получить из запроса? |
8.4.6.2 Какие результаты можно получить из запроса?
В дополнение к возвращенному запросом результирующему набору данных можно также получить следующую информацию:
Функция mysql_affected_rows() возвращает количество строк, подвергшихся воздействию во время последнего запроса при выполнении INSERT, UPDATE или DELETE. Исключение составляет случай использования команды DELETE без выражения WHERE, когда таблица воссоздается как пустая, а это намного быстрее! |
|
теги: INSERT, UPDATE, DELETE |
| |
| Интерфейсы для MySQL » mysql_use_result() |
8.4.3.217 mysql_use_result()
MYSQL_RES *mysql_use_result(MYSQL *mysql)
8.4.3.218 Описание
Функцию mysql_store_result() или mysql_use_result() необходимо вызывать после каждого выполненного запроса, извлекающего данные (SELECT, SHOW, DESCRIBE, EXPLAIN).
Функция mysql_use_result() инициализирует извлечение результирующего набора, но фактически не производит чтение в клиенте подобно тому, как это делает функция mysql_store_result(). |
|
теги: NULL, SERVER |
| |
Страницы: [ 1 ] - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9
|
|