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

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

Thread Status:
Not open for further replies.
  1. #Smith

    #Smith New Member

    Joined:
    20 Jun 2010
    Messages:
    96
    Likes Received:
    2
    Reputations:
    0

    Ты хоть думаешь, что ты пишешь?
    Причём тут лимиты?! Мне нужен порядковый номер строки в таблице.
     
  2. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Это ты думай, что пишешь. Нет у строки порядкового номера. Есть ключевое поле. А раз у тебя его нет - о каком "номере" может идти речь?
     
  3. #Smith

    #Smith New Member

    Joined:
    20 Jun 2010
    Messages:
    96
    Likes Received:
    2
    Reputations:
    0
    В СУБД MySQL базы данных представляют собой каталоги, а таблицы - структурированные файлы в этих каталогах.
    О каком номере я говорю? Да бонально о ROWNUM.
    Например: SELECT * FROM myTable LIMIT 30 OFFSET 60;
    Выборка будет происходить со смещением 60 записей.
    Так получилось, что мне нужно узнать номер записи, которая удовлетворяет опред условию.
    В FoxPRO была такая весч как SEEK (детальный синтаксис, я как раз забыл), которая позволяла установить курсор на нужную позицию и дальше проводить выборку с этой позиции.
     
  4. +toxa+

    +toxa+ Smack! SMACK!!!

    Joined:
    16 Jan 2005
    Messages:
    1,674
    Likes Received:
    1,029
    Reputations:
    1,228
    кури dev.mysql.com . если там нету, значит нету аналога seek.

    PS я всегда думаю что говорю
     
    _________________________
  5. #Smith

    #Smith New Member

    Joined:
    20 Jun 2010
    Messages:
    96
    Likes Received:
    2
    Reputations:
    0
    Да зачем же dev.mysql.com, у меня на столе подлинник лежит на 1000 с лишним страниц.
    Просто, пока я найду, пройдёт время.
    А решение было нужно вчера.




    PS. Возможно и думаешь, что говоришь,
    но не всегда полностью продумаешь то, что ты печатаешь))



     
    #1385 #Smith, 14 Apr 2011
    Last edited: 14 Apr 2011
  6. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Мб, этот вариант прокатит
    Code:
    SELECT row_number FROM (
      SELECT @i := @i + 1 AS row_number, t.user, t.host, t.password FROM mysql.user AS t, (SELECT @i := 0) z
    ) q WHERE user = 'root' AND host = 'localhost';
    
     
  7. trunker

    trunker Member

    Joined:
    5 Feb 2009
    Messages:
    44
    Likes Received:
    66
    Reputations:
    1
    Подскажите пожалуйста как Запустить сервер? Мне нужно создать базу в sql manager. но не пойму как сервер под него выделить? НУжно что бы именно на моем компьютере вся информация хранилась а не на хостинге.
    Я просто первый раз с этим дело имею... мне для курсового.
     
  8. +toxa+

    +toxa+ Smack! SMACK!!!

    Joined:
    16 Jan 2005
    Messages:
    1,674
    Likes Received:
    1,029
    Reputations:
    1,228
    http://www.denwer.ru/
     
    _________________________
  9. trunker

    trunker Member

    Joined:
    5 Feb 2009
    Messages:
    44
    Likes Received:
    66
    Reputations:
    1
    Денвер это Mysql а мне нужно sql или в этом нету разницы?
     
  10. #Smith

    #Smith New Member

    Joined:
    20 Jun 2010
    Messages:
    96
    Likes Received:
    2
    Reputations:
    0
    Вот и ещё один человек, который не думает, что пишет.

    SQL - это структурированный язык запросов (Structured Query Language),
    а MySQL - это название СУБД (Система Управления Базами Данных).
    И MySQL, и MS SQL Server, и даже ебучий MS Access - это всё СУБД, упаравление работой которых осуществляется посредствам инструкций языка SQL, причём, у каждой СУБД есть свои особенности (диалекты).

    А теперь постарайся понятно изложить то, что нужно тебе.
     
    #1390 #Smith, 14 Apr 2011
    Last edited: 14 Apr 2011
    1 person likes this.
  11. trunker

    trunker Member

    Joined:
    5 Feb 2009
    Messages:
    44
    Likes Received:
    66
    Reputations:
    1
    ВО спасибо)
    теперь врубился)
    Но почему то у меня не подключается SQL Server Management Studio, а с SQL Manager Lite for MySQL все нормально подключается. В чем разница?
    сервер запускаю через денвер
     
  12. Чакэ

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

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    вот же она проблема.
     
  13. #Smith

    #Smith New Member

    Joined:
    20 Jun 2010
    Messages:
    96
    Likes Received:
    2
    Reputations:
    0

    А что собсно тебе нужно?
    Если тебе просто выполнять инструкции SQL - то мне, например, нравится phpMyAdmin (в денвере он есть и доступен по адресу http://localhost/tools/phpMyAdmin/) всё наглядно, удобно и через WEB интерфейс. Если же тебе нравится консоль - то в том же денвере есть утилитка mysql.exe, находящаяся по адресу DENWER\usr\local\mysql-5.1\bin\. Создаёшь к ней ярлык с параметром -u root напимер "mysql.exe -u root".
    Собсно всё.
     
  14. trunker

    trunker Member

    Joined:
    5 Feb 2009
    Messages:
    44
    Likes Received:
    66
    Reputations:
    1
    а как нужно запустить сервер что бы подключиться через Центр установки SQL Server ? и в чем разница между Центр установки SQL Server и SQL Manager Lite for MySQL ?
     
  15. AlexandrG

    AlexandrG New Member

    Joined:
    13 Apr 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    MySQL:Не могу правильно написать такой запрос с параметрами в php для mysql

    Он у меня такого вида
    PHP:
    $Query="select * from $tablename WHERE " mysql_field_name($Result,0"= " .$Tek_code;
    Он должен определить имя нулевого ключевого поля и выполнить запрос, передав значение переменной $Tek_code через гиперссылку. Это и будет одна запись которую надо отредактировать.
    и ещё один запрос:
    PHP:
    $Query="update $tablename set " mysql_field_name($result,$i"= " .$_POST(textfield[i]). "where " .mysql_field_name($result,0). "= " .$Tek_code;
    Этот запрос у меня помещён в цикл for , принимает данные с формы методом Post и обновляет текущую запись.
    У меня несколько автоматически генерируемых полей для редактирования данных.
    Ошибка Unexpected T_string на этой линии.
     
    #1395 AlexandrG, 15 Apr 2011
    Last edited: 15 Apr 2011
  16. red_joker

    red_joker New Member

    Joined:
    4 Nov 2010
    Messages:
    31
    Likes Received:
    3
    Reputations:
    0
    С такими ошибками на php.su читать rtfm.
    Нет контактенации строк
    PHP:
    $Query="select * from $tablename WHERE " .ТУТ mysql_field_name($Result,0). ТУТ "= " .$Tek_code;
    Во втором запросе то же самое.
    Плюс здесь скуль:
    PHP:
    $Query="update $tablename set " mysql_field_name($result,$i"= " .$_POST(textfield[i]). "where " .mysql_field_name($result,0). "= " .$Tek_code;
    Данные от юзера нужно всегда фильтровать, читай rtfm по sql-injection.
     
  17. НTL

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

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Как узнать на каком месте стоит X запись (Зная ее PRIMARY) по Y запросу? Не загружая и не перебирая всю таблицу
     
  18. #Smith

    #Smith New Member

    Joined:
    20 Jun 2010
    Messages:
    96
    Likes Received:
    2
    Reputations:
    0
    Либо таже проблемма, что и у меня?
    Нужно определить номер строки, зная определённое условие (например её перв ключ)?
     
  19. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    Господа НTL и #Smith,
    в реляционных БД не сохраняется порядок записей! Если он нужен, его нужно хранить в отдельном столбце
     
  20. #Smith

    #Smith New Member

    Joined:
    20 Jun 2010
    Messages:
    96
    Likes Received:
    2
    Reputations:
    0
    Не знаю, как в других, а в MySQL таблицы представляют собой структурированные файлы, порядок в которых не меняется, если его специально не изменить.
     
Thread Status:
Not open for further replies.