2014-09-13 3 views
0

поэтому у меня есть 8 категории с продуктами и теперь я хочу создать сайт по конкретной категории я имею в большой базе данных 7500 продуктов, и я хочу, чтобы экспортировать продукцию только с определенной категориейкак экспортировать определенную категорию MySQL

база данных выглядит следующим образом

id , productid, category, description, price, rating 

и теперь я хочу, чтобы экспортировать продукцию только из категории 1 Так что я должен

SELECT category=2 from dbtable where rating=1 

и й ru Я хочу экспортировать .. это не работает .. Я не очень хорош в SQL .. поэтому мне нужен совет - спасибо!

+0

Как вы экспорта? Если вы используете 'mysqldump', вы можете использовать опцию' --where', чтобы указать, какие строки экспортировать из таблицы. – Barmar

+1

, пожалуйста, прочитайте [MY POST] (http://meta.stackoverflow.com/a/271056/2733506) о запросе вопросов sql .. вам нужно предоставить более подробную информацию здесь, чтобы получить хороший ответ .. Я действительно не знаю что вы пытаетесь сделать с вашим вопросом, как есть. –

+0

@Barmar Я экспортирую, используя phpmyadmin, если вы можете сказать мне шаг за шагом, как .. пожалуйста, спасибо большое – Mariana

ответ

0

почему бы не просто сделать

SELECT * FROM dbtable WHERE category = 2 AND rating = 1; 

, которая поможет вам все строки с категории = 2

я что-то отсутствует или является то, что все, что вы хотели ??

+0

SELECT * FROM 'dbtable' WHERE' category' LIKE '% 2%' даст мне то, что я хотел .. после этого я хочу экспортировать этот выбор – Mariana

+0

ну, вам нужно запустить этот запрос на языке на стороне сервера, например php, и вытащить результат, а затем сделать то, что вы хотите с ним сделать .. theres много полезных веб-сайтов для этого просто поиск это на google –

1

Единственное решение, которое я нашел до сих пор это РУКОВОДСТВО по PHPMyAdmin

Перейти к базе данных выберите таблицу> Поиск> Категория LIKE 2 идут вниз к опции Количество строк на странице, чтобы отобразить 500 нажмите на Go после чего приводим первую страницу с 500 продуктов, выберите все и нажмите экспорт - и я думаю, что я должен сделать это до тех пор пока я закончу, чтобы экспортировать все дБ

SELECT * FROM dbtable WHERE category LIKE '2' 
+0

Использовать 'SELECT * INTO OUTFILE '/tmp/result.txt' ПОЛЯ, ПРЕРЫВАННАЯ ',' ДОПОЛНИТЕЛЬНО ЗАВЕРШЕНА '' '' LINES TERMINATED BY '\ n' FROM dbtable WHERE category LIKE '2'' для экспорта результатов этого запроса. – ssnobody

+0

@ssnobody Я использовал ваш метод, и я получаю это # ​​1045 - Доступ запрещен для пользователя 'dbtable' @ 'localhost' (с использованием пароля: YES) – Mariana

+0

Это может привести к двум причинам: 1) у пользователя mysql нет разрешения на напишите в/tmp (или любой другой путь, который вы заменили.) Если он все еще/tmp, это маловероятно. Или 2) пользователь dbtable не имеет разрешения ['FILE'] (http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_file). – ssnobody

0

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

DELETE FROM dbtable WHERE category LIKE '1'; 
DELETE FROM dbtable WHERE category LIKE '2'; 
DELETE FROM dbtable WHERE category LIKE '3'; 
DELETE FROM dbtable WHERE category LIKE '4'; 
DELETE FROM dbtable WHERE category LIKE '5'; 
DELETE FROM dbtable WHERE category LIKE '6'; 
DELETE FROM dbtable WHERE category LIKE '7'; 

и получить у результата только 8-ой категории - мой случай :)

+0

Я соглашусь, что это один из способов удалить данные из базы данных, но я не считаю, что это лучший способ выполнить вашу задачу. В качестве примечания вам не нужно «LIKE», когда вы тестируете литерал, поэтому ваш запрос мог бы быть «DELETE FROM dbtable WHERE category = '1»; '. Кроме того, вы, вероятно, хотели бы сэкономить время и удалить все, кроме тех, которые вы хотите, чтобы вы могли использовать 'DELETE FROM dbtable WHERE category <> '2';'. Наконец, скорее я упомянул, что вместо того, чтобы экспортировать что-либо вообще, вы фактически изменили таблицу на месте и удалили ненужные данные. – ssnobody