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

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

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

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    --Создание копии таблицы без дубликатов во временной таблице
    CREATE TEMPORARY TABLE bad_temp AS SELECT DISTINCT * FROM contents_site;
    --Удаление всех записей из старой таблицы
    DELETE FROM contents_site;
    --Добавление записей без дублей
    INSERT INTO contents_site SELECT * FROM bad_temp;
    --Удаление временной таблицы
    DROP TABLE bad_temp;
     
    1 person likes this.
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    http://www.mojbred.com/706.html
    http://kurapov.name/article/sql_duplicates/
     
  3. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Как реализовать регистрозависимый запрос?
    То исть в таблице к примеру имеется логин EnoT, так вот нужно, чтобы запросы вида
    и т.д. возвращали ложь, а true возвращалась только при запросе логина такого же регистра как он записан в бд.

    Запрашивать сначала логин, а потом проверять условием типа if('EnoT' == 'EnoT') echo 'ok'; не выход, нужен именно один запрос к базе.
     
    #243 .:EnoT:., 23 Aug 2008
    Last edited: 23 Aug 2008
  4. n1†R0x

    n1†R0x Elder - Старейшина

    Joined:
    20 Jan 2007
    Messages:
    728
    Likes Received:
    376
    Reputations:
    235
    Можно использовать типы данных BLOB для вставки регистрозависимых данных... BLOB - аналог TEXT, но при сравнении строк регистр учитывается.
     
    1 person likes this.
  5. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Если поле не BLOB, то
    Code:
    SELECT .... WHERE CAST(`login` as BINARY) = 'eNoT'
    
    или, что то же самое
    Code:
    SELECT .... WHERE BINARY `login` = 'eNoT'
    
     
    1 person likes this.
  6. Ha_Vi

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

    Joined:
    19 Aug 2008
    Messages:
    17
    Likes Received:
    22
    Reputations:
    0
    помогите пожалуйста, есть таблица номеров телефонов, фамилия и т.д...
    выдает ошибку, как правильно будет заголовок???

    CREATE TABLE PHONES (
    nomer MEDIUMINT(6) default NULL,
    Name varchar(60) default NULL,
    street varchar(60) default NULL,
    house varchar(60) default NULL,
    flat varchar(60) default NULL,
    ) TYPE=MyISAM;

    INSERT INTO PHONES values ('220000', 'ВЯЗГИН ВВ', 'ТУРГЕНЕВА', '1', '26');
    INSERT INTO PHONES values ('220001', 'ДМИТРИЕВА ТМ', 'ЧУГУНОВА', '14', '6');
    INSERT INTO PHONES values ('220002', 'НАЗАРКИНА ЛА', 'НАБ.1ГО МАЯ', '67', '6');
    INSERT INTO PHONES values ('220022', 'ЛЕОНТЬЕВА ЛВ', 'ЖЕЛЯБОВА', '40/2', '14');




    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') TYPE=MyISAM' at line 7

    я все эти varchar поставил правильно или где то чтото другое???
     
    #246 Ha_Vi, 25 Aug 2008
    Last edited: 25 Aug 2008
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    CREATE TABLE PHONES (
    nomer MEDIUMINT(6) default NULL,
    Name varchar(60) default NULL,
    street varchar(60) default NULL,
    house varchar(60) default NULL,
    flat varchar(60) default NULL
    TYPE=MyISAM;
     
  8. 1mm0rt3s

    1mm0rt3s New Member

    Joined:
    24 Jul 2008
    Messages:
    15
    Likes Received:
    0
    Reputations:
    -5
    Нужна помощь.

    Сабж, есть файл, в расширение sql выдернутый из мускля. нужно: скопировать столбец с паролями (они в мд5). как вы понимаете в блокноте это делать проблематично, поэтому мож кто подскажет в какую программу нужно загнать
     
  9. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    а есть же парсер хешей из дампов sql
     
  10. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php
    preg_match_all
    ('#[0-9a-fA-F]{32}#UiS',file_get_contents('dump.sql'),$result);
    foreach(
    $result['0'] as $md5){
           echo 
    $md5.'<br>';
    }
    ?>
    чет тока не вдуплил причем тут sql?
     
    #250 Chaak, 25 Aug 2008
    Last edited: 25 Aug 2008
    1 person likes this.
  11. 1mm0rt3s

    1mm0rt3s New Member

    Joined:
    24 Jul 2008
    Messages:
    15
    Likes Received:
    0
    Reputations:
    -5
    эм... чуть подробней можна :) где его взять ?
     
  12. Basurman

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

    Joined:
    10 Nov 2006
    Messages:
    363
    Likes Received:
    271
    Reputations:
    29
    1mm0rt3s
    В excel открой...
    Или восстанови на локалке и выборку в файл сделай
     
  13. 1mm0rt3s

    1mm0rt3s New Member

    Joined:
    24 Jul 2008
    Messages:
    15
    Likes Received:
    0
    Reputations:
    -5
    в экселе как-то фигова открывается ,это я уже проходил.
    нужна наверно скрипт накодить чтоб выдирал хеши.
     
  14. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Люди добрые, забыл команду для мускула, нужно дамп поднять, сделанный при помощи phpMyAdmin. Он не встаёт так просто, помню, что через мускул поднимал, а как забыл. С меня +++++
     
    1 person likes this.
  15. Basurman

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

    Joined:
    10 Nov 2006
    Messages:
    363
    Likes Received:
    271
    Reputations:
    29
    mff майадмин не в состоянии разворачивать большие бд (в большинстве случаев)

    1). Либо юзай sypex dumper lite (php скрипт) Им проще
    2). либо коммандой:
    mysql -u рутовый_аккаунт -p -D имя_БД < dump.sql
    (не всегда помогает)
     
    #255 Basurman, 28 Aug 2008
    Last edited: 28 Aug 2008
    1 person likes this.
  16. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    Подскажите пожалуйста,почему у меня информация из БД выводиться кусками?
    [​IMG]
    если подставляю кавычки,тогда вообще ничего не выводит
    [​IMG]
    вот БД:
    [​IMG]
    я пробывал вместо $myrow['text'] и $myrow['2].Он тупит еще из-за тэгов...когда убираешь тэг <br> -результат другой,но все ровно некоректно... =(

    Мне кажеться,что-то с кодировкой можеть
    ЗЫ:Если,что-то не ясно объяснил - прошу не глумиться))
     
  17. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    юзай {$myrow['text']} или {$myrow[2]}
    это глюки с выводом массивов внутри " "

    есть в форме у тебя выводишь так:
    value='{$myrow['text']}'
    то предварительно лучше проверить $myrow['text'] на наличие ' и заменить на чтонить или прослешить.
    желательно просто добавить \ перед спец символами
     
    #257 slesh, 2 Sep 2008
    Last edited: 2 Sep 2008
    1 person likes this.
  18. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    Все равно такая же бяка =(
     
    1 person likes this.
  19. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    на счет <textarea> лучше юзай
    <textarea rows='28' cols='38'>{$myrow[2]}</textarea>
     
    1 person likes this.
  20. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    Проблема решена,спасибо Slesh`у
    ЗЫ:С меня плюсы
     
    1 person likes this.
Thread Status:
Not open for further replies.