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

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

Thread Status:
Not open for further replies.
  1. Br@!ns

    Br@!ns Elder - Старейшина

    Joined:
    3 Sep 2010
    Messages:
    916
    Likes Received:
    120
    Reputations:
    25
    Использую xampp последний, требуется загрузить базу более чем 128мб(помоему, максимальный размер), можно ли как нибудь обойти это ограничение? или посоветуйте другой софт. заранее спасибо.
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Br@!ns xampp это сборная солянка из веб сервера и собственно СУБД, которая называется MySql.

    Теперь по факту - если требуется залить крупный дамп люди используют Supex Dumper. В принципе, можно обойтись и стандартным mysqldump. Оба наименования и мануалы - прекрасно гуглятся

    З.Ы. Не создавайте дубли сообщений в разных топиках. Считайте это устным предупреждением
     
    _________________________
  3. Lesanglier

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

    Joined:
    23 May 2008
    Messages:
    21
    Likes Received:
    6
    Reputations:
    3
    Всем добрый день...такой вопрос
    Пытаюсь импортнуть в базу вот это

    PHP:
    CREATE TABLE `stat_d2ladder` (
      `
    charnamevarchar(16NOT NULL default '',
      `
    titlevarchar(16) default NULL,
      `
    levelint(4) default '1',
      `
    classvarchar(10) default NULL,
      `
    experiencefloat(8,0) default NULL,
      `
    rankint(11) default NULL,
      `
    typechar(2) default 'SC',
      `
    deadvarchar(5) default 'ALIVE',
      `
    gamevarchar(4NOT NULL default '',
      
    PRIMARY KEY  (`charname`),
      
    KEY `experience` (`experience`)
    TYPE=MyISAM;

    CREATE TABLE `mypvp`.`counters` (
      `
    d2ladder_timeint11 NOT NULL default '0'
    ENGINE MYISAM DEFAULT CHARSET latin1;


    ALTER TABLE stat_Record ADD `SEXP_0_rankINT DEFAULT '0' NOT NULL;
    ALTER TABLE stat_Record ADD `STAR_0_rankINT DEFAULT '0' NOT NULL;
    ALTER TABLE stat_Record ADD `W2BN_0_rankINT DEFAULT '0' NOT NULL;
    ALTER TABLE stat_Record ADD `DRTL_0_rankINT DEFAULT '0' NOT NULL;
    и вылазит ошибка
    PHP:
    SQL-запрос

    ALTER TABLE stat_Record ADD `SEXP_0_rankINT DEFAULT '0' NOT NULL ;


    Ответ MySQL:  
    #1146 - Table 'mypvp.stat_record' doesn't exist
    объясните счем это связано....
     
  4. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Lesanglier гуглотранслейт справился бы с этим вопросом. Таблицы stat_record - не существует. Либо ищите какой она должна быть и создавайте ее, либо удалите строчки
     
    _________________________
  5. -=Zhenek=-

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

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Добрый день.

    У меня есть табличка

    |id|name|points|
    1 tt 10
    2 bb 5
    3 tt 5

    Имен может быть много, но они повторяются...

    Мне нужно вывести их так :
    tt 15
    bb 5

    Тоест сложить сумму балов команд.
    Циклом бегать по всем записям не хочется((((
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    -=Zhenek=-
    Code:
    SELECT `name`, sum(`points`) FROM `table` GROUP BY `name`
    Желательно, чтобы поле points было целочисленным (т.е. тип INT например)
     
    _________________________
    1 person likes this.
  7. ReckouNT

    ReckouNT New Member

    Joined:
    16 Jan 2009
    Messages:
    21
    Likes Received:
    1
    Reputations:
    0
    В общем, есть две БД, содержимое трех таблиц нужно экспортировать из бд A в бд B
    Но, возникает одна проблема - кодировки.
    Чтобы было проще разбиратся, я сделал два дампа.
    Итак, в начале дампа бд B присутствует строка, которой нет в бд A:
    Code:
    CREATE DATABASE `is4you14` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;
    USE `is4you14`;
    В бд A, содержание выглядит так:
    Code:
    (1, 'AD', 'admins.gif', 'Àäìèíèñòðàòîðû', 'administrators.php', 2),
    В бд B так:
    (1, 'AD', 'admins.gif', 'Администраторы', 'administrators.php', 2),
    
    В обоих бд в конце описания структуры каждой таблицы
    Code:
    DEFAULT CHARSET=utf8
    И собственно надо, чтобы в бд A содержание написанное русским языком выглядело корректно.
    Тогда можно будет туда вставить первую строку из дампа B и теоретически должно заработать.
    Помогайте)))
     
  8. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Попробуйте сделать дамп этим sypex.net
     
    1 person likes this.
  9. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    помогите пожалуйста с БД, вот делаю такой запрос
    PHP:
    $query mysql_query("INSERT INTO 'uchet'.'data' VALUES (NULL, '$login','34', '4', '2', '23', '236', '$key', '121')");
    но не добавляет данные, пол вечера уже борюсь с этим. Если попросту с phpmyadmin добавлю данные, а потом код запроса вставлю в сценарий, то добавляется, по моему ну никак не хочет.
     
  10. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Edward покажите вывод ошибки:
    PHP:
     $query mysql_query("INSERT INTO 'uchet'.'data' VALUES (NULL, '$login','34', '4', '2', '23', '236', '$key', '121')");  

    if (!
    $query) die(mysql_errno().': '.mysql_error());
     
    _________________________
  11. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    Ошибки как таковой не было, просто данные в поля не записывались. Но я попробовал создать таблицу по меньше туда внеслись данные, мне кажется, что все таки проблема в таблице, там практически все поля типа INT, а вот в варчар все благополучно внеслось, приду домой еще проверю, надеюсь сработает.
     
  12. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Что? Если данные не были внесены этим запросом вообще, то значит произошла ошибка. Если же были внесены не все столбцы - значит переменные не были установлены
     
    _________________________
  13. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    $sql = 'WHERE ('.get_adv_search_query().')'.'AND region_id in (31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,53,54,55,56,57,58,59,29,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,8)'.hwFilterGetSQL('l.');


    Как короче сделать?
     
  14. cupper

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

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    Есть мускуль. В нем созданная БД, с параметрами кодировки по умолчанию (на момент создания не знал про это). Щас вылезла бяка при использовании русских букв.
    Посмотрел кодировку
    Что за latin1 o_O ? Как мне теперь моменять годировку БД чтобы была UTF-8 ?
    Сливаю дамп
    [/QUOTE]
    mysqldump --default-character-set=cp1251 --opt -Q --hex-blob -f -n -u root -p57037 -h localhost library > ~/library.sql
     
  15. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    ну например так
    PHP:
    and region_id>30 and region_id <80
    или я не понял как тут идет нумерация?
     
  16. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Вопрос дампов поднимается практически через день на форуме. Используйте для дампа и импорта SYPEX DUMPER (sypex.net)

    Переименовать старую БД, залить новую, если все окей, удалить старую.
     
  17. cupper

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

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    с дампами разобрался. В ручную поправил там кодировку создаваемых БД. Пересовздал саму БД с нужной кодировков, все замечательно. НО когда из консоли конекчуть к мускулю и выводу данные с русскими дуквами получаю
    Code:
    mysql> select * from street;
    +----+---------+----------------+
    | id | id_city | name           |
    +----+---------+----------------+
    |  1 |       4 | ???????        |
    |  2 |       4 | ??????         |
    
    и только если в ручную установить utf8 то тогда нормально
    Code:
    mysql> set names utf8;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select * from street;
    +----+---------+------------------------------+
    | id | id_city | name                         |
    +----+---------+------------------------------+
    |  1 |       4 | Тархова               |
    |  2 |       4 | Чехова                 |
    
    
    а как сделать чтобы по умолчанию была нужная кодировка ?
     
  18. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    Необходимо одним запросом выбрать из базы строки из диапазона чисел.
    То есть если просто запрос:
    SELECT a,b FROM azbuka WHERE (e > '11' AND e < '66')
    то все хорошо.
    Но можно ли в один запрос впихнуть штук 9 условий например
    (e > '11' AND e < '66') и (e > '88' AND e < '111') и (e > '166' AND e < '222') и (e > '288' AND e < '333') и т.д.

    незнаю как проще обьяснить, просто не хочется делать на каждый диапазон свой селект =(
    Спасибо.
     
  19. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    XopoIII можно, букву "и" замените на OR и все будет работать. Почитайте, что такое булевы функции
     
    _________________________
  20. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    а если мне не или, а и нужно? по вашему он будет или то или то искать, а нужно чтобы из всех указанных диапазонов
     
Thread Status:
Not open for further replies.