как получить результат из mysql, как из двух столбцов [duplicate]

Основываясь на ответе от @ Brian-Fisher и отвечая на комментарии некоторых людей на этом посту, у меня есть куча огромных (и ненужных) таблиц в моей базе данных, поэтому я хотел пропустить их содержимое при копировании, но сохранить структуру:

mysqldump -h <host> -u <username> -p <schema> --no-data > db-structure.sql mysqldump -h <host> -u <username> -p <schema> --no-create-info --ignore-table=schema.table1 --ignore-table=schema.table2 > db-data.sql

Получающиеся два файла имеют структурный звук, но данные сбрасываются сейчас ~ 500 МБ, а не 9 ГБ, что намного лучше для меня. Теперь я могу импортировать эти два файла в другую базу данных для тестирования, не беспокоясь о том, как манипулировать 9 ГБ данными или заканчиваться дисковым пространством.

3
задан 21 August 2009 в 21:51
поделиться

4 ответа

Если я ничего не пропустил здесь ...

  SELECT * FROM MYTABLE WHERE COLUMNA = MyValue ИЛИ COLUMNB = MyValue ИЛИ COLUMNC = MyValue  
5
ответ дан Eric J. 16 August 2018 в 01:04
поделиться

Да, допустимо использовать круглые скобки. Однако, если вы ищете несколько столбцов для одного и того же значения, вы можете захотеть нормализовать базу данных.

2
ответ дан Bruce Alderman 16 August 2018 в 01:04
поделиться
  • 1
    +1, я полностью пропустил это! ColumnA-Column-ColumnS отбросил меня, если бы это было emailA-EmailB-EmailC, это было бы более очевидно – KM. 21 August 2009 в 22:05

Я предпочитаю этот способ, поскольку его neater

  выбирает * из mytable, где myvalue в (ColumnA, ColumnB, ColumnC)  
5
ответ дан David Raznick 16 August 2018 в 01:04
поделиться
  SELECT * FROM myTable WHERE (Column1 = MyOtherValue) AND ((ColumnA = MyValue) ИЛИ (ColumnB = MyValue) ИЛИ (ColumnC = MyValue))  
3
ответ дан Degan 16 August 2018 в 01:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: