[sql] Вопросы по БД

Discussion in 'PHP' started by FraiDex, 25 Feb 2008.

Thread Status:
Not open for further replies.
  1. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    PHP:
    $q =mysql_query("SELECT value FROM users WHERE login='admin'")
    While(
    $data mysql_fetch_assoc($q))
         
    print_r($data);
    P.S. Можно всё объединить в один массив.
     
  2. Vostok

    Vostok New Member

    Joined:
    20 Sep 2009
    Messages:
    24
    Likes Received:
    0
    Reputations:
    0
    как через mysql импортировать дамп?
     
  3. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    mysql -u [user] -p
    [password]
    source dump_name.sql;

    или
    mysql < dump_name.sql -u [user] -p[password]
     
  4. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    $ mysql -h somehost -u someuser -p somepass dbname < dump.sql
    
     
  5. firstfallen

    firstfallen New Member

    Joined:
    1 Mar 2010
    Messages:
    64
    Likes Received:
    0
    Reputations:
    0
    народ помогите написать запрос пожалуйста:
    есть 3 таблицы.
    1 называется склады, 2 полоя: id_склада и адрес
    2 назывется размещение, 3 поля: id_продукта. id_склада и дата_поступления_товара
    3 называется товары, 3 поля: id_товара, название и срок годности
    Нужно сделать такой запрос:
    посчитать средний срок годности товаров на текущий момент времени по каждому из складов

    PS срок годности становится действительны после получения товара (то есть когда он попал на склад в таблице размещение)
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    rushter сеансы (назовем их так) следуют друг за другом и постоянны каждый день ну или зависят от дня недели? Уточню - например все возможные сеансы это: с 9-20 до 10-00, с 10-00 до 10-40, с 10-40 до 11-20 и так далее, и клиент не может выбрать так: вот в этот день этих двух сеансов нет, и я хочу в 9-31 придти?

    В данном случае все упрощается, всем сеансом присваиваются порядковые номера, в основной таблице храните номера занятых и дату, во вспомогательной - соответствие порядкового номера сеанса и собственно времени. Дальше чтобы найти свободные сеансы находите исключение из множества всех возможных сеансов - множества занятых.
     
    _________________________
  7. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Непонятно, почему интервалы такие - если свободно всё время с 14:40, список будет скорее 14:40-15:10, 14:41-15:51, так?

    Сегодняшняя статья о подходящей структуре данных:
    http://perlmonks.org/?node_id=908453
     
  8. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Как в MySQL вывести только уникальные значения столбца, и то сколько эти значения повторяются?
    Например:
    Из:
    +----------------+--------------------+
    |id |data +
    +----------------+--------------------+
    |1 |text +
    +----------------+--------------------+
    |2 |text +
    +----------------+--------------------+
    |3 |text +
    +----------------+--------------------+
    |4 |text2 +
    +----------------+--------------------+
    |5 |text2 +
    +----------------+--------------------+
    В:
    +----------------+--------------------+
    |data |count +
    +----------------+--------------------+
    |text |3 +
    +----------------+--------------------+
    |text2 |2 +
    +----------------+--------------------+
     
  9. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    SELECT `id`, COUNT(`id`) FROM `table` GROUP BY `id`;
    
    Также можно применять и HAVING для фильтрации
     
    1 person likes this.
  10. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    НTL SELECT `data`, count(`data`) FROM `table` GROUP BY `data`;
     
    _________________________
  11. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Люди, кто занимаеться оптимизацией БД запросов ? - советы нужны, и помощь.в ПМ
     
  12. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Adio Задавайте вопросы - вам ответят. Личные консультации оказываются тут: https://forum.antichat.ru/forum57.html
     
    _________________________
  13. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Подскажите..
    Есть таблчика

    |ip|date|advert|sub|host|domen|

    Алгоритм заполнения такой: при посещении сайт ,если за сегодня твой ип есть в базе, то host=host+1 , если не был, то добавляем запись.

    Как мне одним запросом получить количество уников за сегодня (посчитать сколько строк ip с датой date) а вторым сколько хостов (сложить все значения host), НО для каждого sub в отдельности и для каждого domen (если записано в домен, то sub пустой и наоборот).

    Тоесть суб 1 его уники и хосты, суб 2 и т.д Заранее номера субов я не знаю.
     
  14. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    -=Zhenek=- У вас sub и domen - видимо одно и то же, рекомендую избавиться от одного из этих столбцов
    Code:
    SELECT date, sub, count(ip), sum(host) FROM zhenek GROUP BY date, sub
     
    _________________________
    1 person likes this.
  15. hazejkeoo

    hazejkeoo New Member

    Joined:
    9 Feb 2011
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    что значит этот код?

    select `replace(rpad(elt(1,group_concat(select hex(substring(sha1('kris 'coder system'), -5)) as scode),char(35),(select'bzzbzz'))),15,'x'),'#','a' ) as p`;#pass
     
  16. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    всем привет.есть таблица юзера и их айди,как сделать чтоб c этим айди связывался с другой таблицой? например info итд
     
  17. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Например
    Code:
    SELECT u.id, u.login, u.name
    FROM users u
    LEFT JOIN info i ON u.id = i.user_id
    
     
  18. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    нечево не понял :confused:
     
  19. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    нашел

    Code:
    CREATE TABLE parent (id INT NOT NULL,
                         PRIMARY KEY (id)
    ) ENGINE=INNODB;
    CREATE TABLE child (id INT, parent_id INT,
                        INDEX par_ind (parent_id),
                        FOREIGN KEY (parent_id) REFERENCES parent(id)
                          ON DELETE CASCADE
    ) ENGINE=INNODB;
    
     
  20. GroM88

    GroM88 Elder - Старейшина

    Joined:
    24 Oct 2007
    Messages:
    464
    Likes Received:
    62
    Reputations:
    26
    Народ заливаю на денвер большой дамп БД ( 3 гб)
    Заливаю через cmd cd /d Z:\usr\local\mysql-5.1\bin - enter
    mysql -u root -p -f mybd < E:\dump\dump.sql
    Все, пошла заливка, но как только доходит до таблицы где очень много инфы, начинают лететь такие ошибки:
    ERROR 2006 (HY000) at line 894: MySQL server has gone away
    ERROR 2006 (HY000) at line 895: MySQL server has gone away

    P.S. Настройки из my.cnf

    key_buffer = 1600000K
    max_allowed_packet = 100000M
    table_cache = 4000000
    sort_buffer_size = 64000000K
    read_buffer_size = 25600000K
    read_rnd_buffer_size = 25600000K
    net_buffer_length = 2000000K
    thread_stack = 128K

    [mysqldump]
    quick
    max_allowed_packet = 1600000000M

    C такими настройками на ОЗУ 1гб на другом компе льет нормально.
    Но мне нужно залить на своем компе. А у меня ОЗУ 512 мб
    Подскажите какие настройки выставить что бы залить на своем компе.
    Заранее благодарен.
     
Thread Status:
Not open for further replies.