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

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

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

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    юзай `` при врубленной директиве игнор спейсис или анси у тебя распознается скорее всего как ф-ия а не колонка count, т.к. она в мускуле зарезервированна.. и.. почему на 3ей строке? Оо
     
    1 person likes this.
  2. Manoz

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

    Joined:
    15 Feb 2005
    Messages:
    37
    Likes Received:
    1
    Reputations:
    0
    Ребят, подскажите команду для вывода данных, причем чтобы они шли через какой нибудь знак (допустим ':'):
    SELECT id,email FROM data INTO OUTFILE 'D:/test.txt' ... (дальше как? я насколько помню надо было писать fields defined by ':' - забыл просто))))
    В конечном итоге чтобы вид был:
    id1:email1
    id2:email2
     
  3. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    ... concat(id,':',email) ...
     
    1 person likes this.
  4. Manoz

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

    Joined:
    15 Feb 2005
    Messages:
    37
    Likes Received:
    1
    Reputations:
    0
    Спасибо за помощь blackybr, но это не то...
    Надо чтобы из базы вытягивались id и email и писались в файл разделенные :.

    забыл сказать что это mysql
     
  5. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    как не то ? сам же сказал
    SELECT concat(id,char(58),email) FROM data INTO OUTFILE 'D:/test.txt'

    ну или незакодированным : в кавычко
     
    2 people like this.
  6. Manoz

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

    Joined:
    15 Feb 2005
    Messages:
    37
    Likes Received:
    1
    Reputations:
    0
    Во!!! Ты просто гений! Теперь все заработало)))) ++
    Огромное спасибо =)
     
  7. Cecil B Demented

    Cecil B Demented New Member

    Joined:
    13 Nov 2006
    Messages:
    19
    Likes Received:
    4
    Reputations:
    5
    Подскажите, нужно ли обязательно закрывать соединение с бд как mysql_close($link);
    после того как скрипт к примеру полностью отработал и выдал результат?
    Сильно ли это влияет на производительность?
     
  8. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    возник вопрос

    можно ли без сторонних языков, только возможностями mysql произвести сл. действия:

    есть табла, с числовой колонкой, со значениями одинаковой длинны (к примеру значения 12345, 91311, 12912, 90122, 64400 и тд).
    так вот, можно ли используя только скл запрос заменить ВСЕ опеределеенные значения на другие (конкретные, для примера возьмем 1 заменить на 7, 2 на 4, 3 на 5 ), так что после запроса у нас бы было 74545, 97577 и тд..)

    естественно надо изменять не каждое отдельное значение, ведь их имеется не один десяток тысяч.
     
  9. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Если поле фиксированной длины, то можно попробовать вот так:
    Code:
    mysql> select * from test;
    +-------+------+
    | id    | link |
    +-------+------+
    | 12345 |    1 |
    | 91311 |    2 |
    | 12912 |    3 |
    | 90122 |    4 |
    | 64400 |    5 |
    +-------+------+
    5 rows in set (0.00 sec)
    
    mysql> create temporary table testtest (link int, a1 int, a2 int, a3 int, a4 int, a5 int) select link, floor(id/10000) as a1, floor(id/1000)-floor(id/10000)*10 as a2, floor(id/100)-floor(id/1000)*10 as a3, floor(id/10)-floor(id/100)*10 as a4, mod(id,10) as a5 from test;
    Query OK, 5 rows affected (0.01 sec)
    Records: 5  Duplicates: 0  Warnings: 0
    
    mysql> select * from testtest;
    +------+------+------+------+------+------+
    | link | a1   | a2   | a3   | a4   | a5   |
    +------+------+------+------+------+------+
    |    1 |    1 |    2 |    3 |    4 |    5 |
    |    2 |    9 |    1 |    3 |    1 |    1 |
    |    3 |    1 |    2 |    9 |    1 |    2 |
    |    4 |    9 |    0 |    1 |    2 |    2 |
    |    5 |    6 |    4 |    4 |    0 |    0 |
    +------+------+------+------+------+------+
    5 rows in set (0.01 sec)
    
    mysql> update testtest set a1=(case a1 when 1 then 7 when 2 then 4 when 3 then 5 else a1 end), a2=(case a2 when 1 then 7 when 2 then 4 when 3 then 5 else a2 end), a3=(case a3 when 1 then 7 when 2 then 4 when 3 then 5 else a3 end), a4=(case a4 when 1 then 7 when 2 then 4 when 3 then 5 else a4 end), a5=(case a5 when 1 then 7 when 2 then 4 when 3 then 5 else a5 end);
    Query OK, 4 rows affected (0.00 sec)
    Rows matched: 5  Changed: 4  Warnings: 0
    
    mysql> update test t1 inner join testtest t2 using (link) set t1.id = t2.a1*10000+t2.a2*1000+t2.a3*100+t2.a4*10+t2.a5;
    Query OK, 4 rows affected (0.00 sec)
    Rows matched: 5  Changed: 4  Warnings: 0
    
    mysql> select * from test;
    +-------+------+
    | id    | link |
    +-------+------+
    | 74545 |    1 |
    | 97577 |    2 |
    | 74974 |    3 |
    | 90744 |    4 |
    | 64400 |    5 |
    +-------+------+
    5 rows in set (0.00 sec)
    
    
     
  10. 4NT1P0V

    4NT1P0V Member

    Joined:
    15 Jan 2008
    Messages:
    110
    Likes Received:
    28
    Reputations:
    -7
    Подскажите, хочу установить автоматическую раздачу icq номеров, как лучше, делать для нее отдельную БД или в общую вместе с булкой???
     
  11. it's my

    it's my Banned

    Joined:
    29 Sep 2007
    Messages:
    335
    Likes Received:
    347
    Reputations:
    36
    ы.... что нужно написать что бы создать БД с именем HATE и в ней две таблицы:


    с меня +++++++++++++ и 50 сообщений в личку с респектами
     
  12. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    $sql1= 'CREATE TABLE `downchat_messages` ('
    . ' `id` BIGINT NOT NULL , '
    . ' `date` TINYTEXT NOT NULL, '
    . ' `name` TEXT NOT NULL, '
    . ' `style` TEXT NOT NULL, '
    . ' `text` TEXT NOT NULL'
    . ' )';
    $sql2= 'CREATE TABLE `downguest_messages` ('
    . ' `id` BIGINT NOT NULL , '
    . ' `datetime` TINYTEXT NOT NULL, '
    . ' `name` TEXT NOT NULL, '
    . ' `mail` TEXT NOT NULL, '
    . ' `url` TEXT NOT NULL, '
    . ' `text` TEXT NOT NULL'
    . ' )';

    Как-то так...
     
    #32 desTiny, 28 Mar 2008
    Last edited: 28 Mar 2008
  13. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Вообще-то сначала надо
    Code:
    CREATE DATABASE hate;
    
    Уж потом CREATE TABLE. На поля id, возможно, повесить PRIMARY KEY
     
    1 person likes this.
  14. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Хотя ты наверное хочешь, чтобы id был
    а) первичным
    б) автоинкрементируемым

    Тогда
    сторочка с id будет такой:
    . ' `id` BIGINT NOT NULL AUTO_INCREMENT, '

    а последние - такими:

    . ' `text` TEXT NOT NULL,'
    . ' PRIMARY KEY (`id`)'
    . ' )';
     
    2 people like this.
  15. Foes

    Foes New Member

    Joined:
    16 Mar 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, у меня вопрос: Как предотвратить неконтролируемое увеличение размера журнала транзакций? в mssql server 2005
     
  16. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Foes, http://support.microsoft.com/kb/873235/ru
     
  17. Foes

    Foes New Member

    Joined:
    16 Mar 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Isis, это тупо в гугл набрал: Как предотвратить неконтролируемое увеличение размера журнала транзакций
    Это общая информация и это я уже видел и читал.
     
  18. DEMOGORGON

    DEMOGORGON New Member

    Joined:
    2 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    В чём проблема?
    Ввожу данные в таблицу БД всё нормально.
    А вот при выводе выборки на страницу транслит отоброжается как надо, а кирилица - чёрт знает как.
     
    #38 DEMOGORGON, 6 Apr 2008
    Last edited: 25 Jul 2009
  19. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
     
  20. DEMOGORGON

    DEMOGORGON New Member

    Joined:
    2 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Isis, спасибо, что нашёл ошибку.
     
Thread Status:
Not open for further replies.