У меня есть таблица с более чем 100000 элементами данных, но есть почти 350 пустых строк внутри. Как удалить пустые строки с помощью phpmyadmin? Ручное удаление - утомительная задача.Как удалить пустые строки в Mysql?
ответ
Общий ответ:
DELETE FROM table_name WHERE some_column = '';
или
DELETE FROM table_name WHERE some_column IS NULL;
См: http://dev.mysql.com/doc/refman/5.0/en/delete.html
Более подробную информацию, когда вы размещаете ваши таблицы ~
Кроме того, убедитесь, что делать! :
SELECT * FROM table_name WHERE some_column = '';
перед тем, как вы удалите, чтобы вы могли видеть, какие строки вы удаляете! Я думаю, что в phpMyAdmin вы даже можете просто выбрать, а затем «выбрать все» и удалить, но я не уверен. Это будет довольно быстро и очень безопасно.
У меня есть PHP-скрипт, который автоматически удаляет пустые строки на основе типов данных столбцов.
Это позволяет мне определить «пустоту» по-разному для разных типов столбцов.
например.
table
first_name (varchar) | last_name (varchar) | some_qty (int) | other_qty (decimal)
DELETE FROM `table` WHERE
(`first_name` IS NULL OR `first_name` = '')
AND
(`last_name` IS NULL OR `last_name` = '')
AND
(`some_qty` IS NULL OR `some_qty` = 0)
AND
(`other_qty` IS NULL OR `other_qty` = 0)
Поскольку значения «0» в моей системе бессмысленны, я считаю их пустыми. Но я узнал, что если вы это сделаете (first_name
= 0), тогда вы всегда получите правду, потому что строки всегда == 0 в MySQL. Поэтому я подгоняю определение «пустой» к типу данных.
Я делаю операцию mysql
в командной строке в окнах. И основные запросы:
delete * from table_name where column=''
и
delete * from table_name where column='NULL'
не работает. Я не знаю, работает ли он в редакторе sqlcommand. В любом случае:
delete * from table_name where column is NULL
работает нормально.
Эта процедура удаляет любую строку для всех столбцов, которые являются пустыми, игнорируя основной столбец, который может быть установлен как идентификатор. Надеюсь, это поможет вам.
DELIMITER //
CREATE PROCEDURE DeleteRowsAllColNull(IN tbl VARCHAR(64))
BEGIN
SET @tbl = tbl;
SET SESSION group_concat_max_len = 1000000;
SELECT CONCAT('DELETE FROM `',@tbl,'` WHERE ',(REPLACE(group_concat(concat('`',COLUMN_NAME, '` is NULL')),',',' AND ')),';') FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = @tbl AND COLUMN_KEY NOT LIKE 'PRI' into @delete_all;
PREPARE delete_all FROM @delete_all;
EXECUTE delete_all;
DEALLOCATE PREPARE delete_all;
END //
DELIMITER ;
Выполните процедуру следующим образом.
CALL DeleteRowsAllColNull('your table');
Я знаю, что это уже есть ответ и получил клещ, но я написал небольшую функцию для этого, и подумал, что может быть полезным для других людей.
Я вызываю свою функцию с массивом, чтобы я мог использовать ту же функцию для разных таблиц.
$tableArray=array("Address", "Email", "Phone"); //This is the column names
$this->deleteBlankLines("tableName",$tableArray);
и здесь есть функция, которая принимает массив и строит Удалить последовательность
private function deleteBlankLines($tablename,$columnArray){
$Where="";
foreach($columnArray as $line):
$Where.="(`".$line."`=''||`".$line."` IS NULL) && ";
endforeach;
$Where = rtrim($Where, '&& ');
$query="DELETE FROM `{$tablename}` WHERE ".$Where;
$stmt = $this->db->prepare($query);
$stmt->execute();
}
Вы можете использовать эту функцию для нескольких таблиц. Вам просто нужно отправить другое имя таблицы и массив, и оно будет работать.
Моя функция проверяет наличие целой строки пустых столбцов или столбцов NULL одновременно. Если вам не нужно его проверять на NULL, вы можете удалить эту часть.
- 1. Как удалить пустые строки?
- 2. MySQL GROUP BY и удалить пустые строки
- 3. как удалить эти пустые строки
- 4. MYSQL: удалить пустые ячейки
- 5. Удалить пустые строки
- 6. AWK удалить пустые строки
- 7. удалить лишние пустые строки
- 8. Удалить пустые строки
- 9. Удалить пустые строки в таблице?
- 10. Удалить пустые строки в SAS
- 11. Удалить пустые строки в DIV
- 12. RE: удалить пустые строки/пустые строки из массива в C
- 13. Как удалить пустые строки в NSTableView?
- 14. Как удалить пустые строки в файле Emacs?
- 15. Как удалить пустые строки в SSMS?
- 16. Как удалить пустые строки в массиве
- 17. Как удалить завершающие пустые строки в FileHelper
- 18. Как удалить пустые строки в laravel excel?
- 19. Удалить пустые строки из строки в рубине
- 20. удалить неиспользуемые строки в jtable (пустые строки)?
- 21. Mysql вставляет пустые строки
- 22. mysql, соединяющий пустые строки?
- 23. DataGridView "удалить пустые строки" - кнопка
- 24. Удалить пустые строки из CSV?
- 25. Удалить пустые строки из geom_tile
- 26. Excel VBA - Удалить пустые строки
- 27. Удалить пустые строки между узорами
- 28. Удалить пустые строки Powershell выход
- 29. Пакет Windows: как удалить все пустые (или пустые) строки
- 30. Как удалить пустые пространства на колонке строки
Не могли бы вы разместить структуру таблицы, а также какое поле должно быть пустым, чтобы полная запись считалась пустой? –