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

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

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

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    ПОчему в пхпмай админе нету INNODB как мне тогда использовать foreign key
     
    #361 Buffalon, 28 Nov 2008
    Last edited: 28 Nov 2008
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    http://ru.wikipedia.org/wiki/InnoDB
     
  3. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Как посмотреть какое кол-во раз в
    `WHERE name=ВАСЯ` поменялось слово в ячейке place (Допустим 1 2 3 = 3 раза поменялось)
     
  4. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    Пробовал так
    Code:
    CREATE TABLE comments(
    id INT AUTO_INCREMENT,
    name VARCHAR(15),
    mail VARCHAR(20),
    comment VARCHAR(1000),
    PRIMARY KEY(id)
    );
    
    и так
    Code:
    CREATE TABLE comments(
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(15),
    mail VARCHAR(20),
    comment VARCHAR(1000)
    );
    
    Выдаёт:
    Error Code : 1050
    Table 'comments' already exists

    Execution Time : 00:00:00:000
    Transfer Time : 00:00:00:000
    Total Time : 00:00:00:000

    Что я не так делаю?
     
  5. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    :D :D :D :D :D :D Table 'comments' already exists
    ТАблица 'comments' уже существует
     
    1 person likes this.
  6. UnPazz

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

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    посмотреть никак.
    но можно создать в этой таблице дополнительное поле , например edit типа int, в которое записывать кол-во изменений. Это будет работать только если твой скрипт будет добавлять запись в БД тогда можно будет посмотреть.
     
    #366 UnPazz, 29 Nov 2008
    Last edited: 29 Nov 2008
  7. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    cпс , думал аналогично , для этого просто нужен while и массив (в MySQL while как вроде бы есть а вот с массивами проблема).ОК
     
    1 person likes this.
  8. sadfeel

    sadfeel Member

    Joined:
    5 Nov 2008
    Messages:
    83
    Likes Received:
    6
    Reputations:
    0
    каким запросом можно узнать в какой дирректории находится сайт? и каким запросом можно удалять файлы?
     
  9. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Не, я таких не знаю. Я знаю только что бы поработить мир и з0хавать соседей =)
     
  10. sadfeel

    sadfeel Member

    Joined:
    5 Nov 2008
    Messages:
    83
    Likes Received:
    6
    Reputations:
    0

    ну создавать файлы можно вот так вот :
    Code:
    CREATE TABLE `t` (`shl` TEXT NOT NULL) TYPE = MYISAM;  INSERT INTO `t` ( `shl` ) VALUES ('тело файла');  SELECT `shl` FROM `t` INTO OUTFILE 'директория\файл';  DROP TABLE `t`
    

    значи и удалять.... а про директорию....возможно и можно )
     
    #370 sadfeel, 30 Nov 2008
    Last edited: 30 Nov 2008
  11. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Во первых - создавать можно и намного короче :)
    А во вторых - удалять можно, но при ряде специфических условий, например таких как:
    1) СУБД - SqlServer
    2) Права на хп xp_cmdshell

    Возмжно есть аналоги в других СУБД, в чем я сильно сомневаюсь.
     
  12. sadfeel

    sadfeel Member

    Joined:
    5 Nov 2008
    Messages:
    83
    Likes Received:
    6
    Reputations:
    0
    а на счет директории есть что-то интересное?)
     
  13. BuG_4F

    BuG_4F Member

    Joined:
    20 May 2008
    Messages:
    88
    Likes Received:
    67
    Reputations:
    5
    Помогите разобраться с кодировкой !
    Двиг phpbb2 ! Кодировка в бд utf8 !
    Отображается вот так :
    [​IMG]
    Какую кодировку ставить ? Проблема ведь в кодировке бд, или нет ?

    //UPD: Проблема решена :)
     
    #373 BuG_4F, 1 Dec 2008
    Last edited: 1 Dec 2008
  14. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Да , попробуй windows - 1251 либо на выходи кодировку посмотри либо сервер , и вообще у тебя на картинке ничего не видно
     
  15. optimazer

    optimazer Member

    Joined:
    4 Dec 2008
    Messages:
    46
    Likes Received:
    11
    Reputations:
    0
    выполняй запрос
    SET NAMES cp1251
    при каждом соединении с БД
    и следи за тем, чтобы данные в БД писались в кодировке cp1251
     
    1 person likes this.
  16. ++Norton++

    ++Norton++ Elder - Старейшина

    Joined:
    20 Nov 2006
    Messages:
    167
    Likes Received:
    39
    Reputations:
    0
    Есть в MS Access БД Борей (находится где-то в помощи по-моему). Нужно выполнить 2 запроса, которые бы показали:
    1. Какие 3 клиента сделали наибольшее число заказов.
    2. Какие клиенты не делали заказа в 1996 году.

    Заранее огромное спасибо! С меня +'ы.
     
  17. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    ++Norton++
    Насколько я помню акцес жутко кастррованный в плане sql. Но все же попробуй нечто вродь такого (если и держится - то синтаксис сродни скуль серва)

    1) SELECT TOP 3 FROM заказы GROUP BY номер_клиента ORDER BY count(номер_заказа)

    2) SELECT * FROM клиенты WHERE номер_клиента NOT IN (SELECT DISTINCT номер_клиента FROM заказы WHERE date LIKE '1996%')

    М... структуры таблиц не знаю, так что была представленкак будто в 3 нф :) Думаю разберешся.
    Если не проконает- то в акцессе есть какая то мелкомягкая приблудеь а-ля конструктор запросов. Поклацаешь мышкой и бут те счастье.
     
    1 person likes this.
  18. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    1. SELECT TOP 3 [Заказы].[КодКлиента]
    FROM Заказы INNER JOIN Заказано ON [Заказы].[КодЗаказа]=[Заказано].[КодЗаказа]
    GROUP BY [Заказы].[КодКлиента]
    ORDER BY count([Заказы].[КодЗаказа]);


    2. SELECT [заказы].[КодКлиента] FROM заказы WHERE ((( [заказы].[КодКлиента]) Not In (SELECT [заказы].[КодКлиента] FROM заказы WHERE [заказы].[ДатаРазмещения] Like "*1996*"))) GROUP BY [заказы].[КодКлиента];
     
    #378 Pashkela, 10 Dec 2008
    Last edited: 10 Dec 2008
    1 person likes this.
  19. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Вообще забираются права командой REVOKE

    Пример:
    REVOKE ALL PRIVILEGES ON DB_NAME.* FROM q

    где DB_NAME - имя базы, q - имя пользователя. Забрали все привелегии.

    Здесь поподробнее http://dev.mysql.com/doc/refman/5.0/en/revoke.html

    Вот только что бы забирать \ выставлять права, юзер который это делает - должен быть владельцем бд (ну или с grant privileges... но это ты сам разберешся если захочешь)
     
    1 person likes this.
  20. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Никак нельзя запретить доступ к этой бд..
    К ней имеют доступ все у кого есть права SHOW.

    Хотя можешь отключить путем запуска демона с ключем --skip-show-databases
     
Thread Status:
Not open for further replies.