За последние 24 часа нас посетили 37898 программистов и 1806 роботов. Сейчас ищут 823 программиста ...

Быстро выучить MySQL

Тема в разделе "MySQL", создана пользователем mirosas, 6 авг 2015.

  1. mirosas

    mirosas Активный пользователь

    С нами с:
    17 июл 2015
    Сообщения:
    236
    Симпатии:
    5
    Имееются знания MySQL достаточные для большинства своих проктов (select, insert, where, varchar/int/blob, uniquire/primary). Нужно довести знания до уровня необходимого начинающему пхп программеру работающему на дядю (ну тоесть выполнить тестовые задания на бумажке, ответить на вопросы, и т.д.). Как это быстро сделать?

    Предполагаемый бюджет: время (5,6,7 августа). 5-е августа прошло как-то совсем неэффективно, поэтому решил как-то изменить подход к самообучению, но пока не знаю как.

    p.s. нужно ли начинающему пхп программеру уметь работать с транзакциями? Нужно ли разбираться в вопросах производительности, и настройки? Если нет, то верно ли понимаю что мне нужно лишь подучить group by/join/вложенные?
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    я тут его годами учу учу, никак не выучу.
    а чел за три дня собрался))
    головастая молодеж нынче пошла
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Нет, не нужно, гоняй всю инфу голяком и надейся, что все будет хорошо :)

    Было бы что там уметь, чесслово. 3 новых инструкции для себя выучить. НУ или 3 функции в PHP. Конечно нужно, автор. Это не "дополнительные знания", это мастхев. Если, конечно, у вас проект не на исаме.
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Нужно ли начинающему водителю смотреть в зеркала? Нужно ли начинающему хирургу знать про анестезию?

    Добавлено спустя 1 минуту 12 секунд:
    При наличии мощных таблеток наверное можно уложить год в три дня. Только сумеешь ли ты работать после этого — не факт.
     
  5. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Всех как ножом по сердцу резануло, я смотрю)))
    А знания теоретические по архитектуре реляционной БД?
    Это целая культура.
    Чтоб быстро понять синтаксис SQL - работайте в командной строке.
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Нет к сожалению какой то литературы или ресурса, где бы на примерах приводилось как то или иное делать, в книгах как правило тонны текста, причем заумного который больше запутывает чем помогает.
     
  7. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    А что бы Вы хотели узнать? (пару примеров/вопросов)
     
  8. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    ох если бы я знал :)
    ну разные распространенные случаи, а от них будут идти и не распространенные, вот допустим я совсем не давно узнал о существовании такой штуки как HAVING
     
  9. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Ну, наличие having узнаётся за пару минут чтения доки.
    А мне бы хотелось узнать, какие Вам нужны примеры.
     
  10. iNEEdhLw

    iNEEdhLw Новичок

    С нами с:
    22 окт 2014
    Сообщения:
    414
    Симпатии:
    0
    2VLK: sql-ex.ru , может, подойдет? Правда их информация мне не очень нравится, не легкая для того, кто первый раз обращается к SQL.
     
  11. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Я как раз так и делал, мне помогло запоминать конструкции.
    Побольше практики все получится.
    Со всем уважением, но часто читая ваши сообщения я задумываюсь, что вы пришли к мысли "Зачем людям библиотеки".
    [​IMG]
    Обратите внимание, перед ним лежит книга, а не планшет где он смотрит видео-уроки.
    Полностью поддерживаю. Надо все время учиться, совершенствоваться.

    Вам хватит три четыре дня поверхностно пройтись по всем конструкциям языка, и если их не закреплять практическими заданиями будут эти знания утеряны в считанные дни.
     
  12. mirosas

    mirosas Активный пользователь

    С нами с:
    17 июл 2015
    Сообщения:
    236
    Симпатии:
    5
    runcore, Хм.. я ладно за 3 дня MySQL хочу. Тут человек, которому я парсер делал предлагает мне за один день Yii-framework выучить и сделать какой-то проект ему на нем.

    Fell-x27, хорошо не всегда бывает. Но сами по себе транзакции все-равно не спасут (и опыт подсказывает что в крупных компаниях, таких как мтс или paypal где все казалось бы отлажено с транзакциями и т.д. проколы бывают, оба известных мне случая в пользу клиента).

    Fell-x27, там наверняка подводные камни есть. дедлоки, и еще что-нибудь. Как никак часа 4 на изучение нужно.

    artoodetoo, тут вопрос не в том что мне нужно, а в том, что с меня спросят когда я пойду работать на дядю.

    Maputo, я осознаю что это целая культура. Но я не планирую специализироваться на БД. Я планирую кодить на ПХП, но проблема что ПХП кодеру обычно нужно уметь на некотором уровне много что еще. Насчет синтаксиса не знаю.. так то да - для лучшего усвоения лучше в коммандной строке, но долго.

    VLK, грустно грустно.. Вообще мне на глаза попадались интересные материалы и по делу, правда все маленькие об отдельных кусочках MySQL. Пока что вижу их оптимальным подходом.

    Chushkin, я бы хотет узнать:
    Что по минимуму мне нужно узнать для:
    1. прохождения собеседования на нчальную позицию php программиста.
    2. запиливания 90% проектов.

    - для начала хотя бы узнать что именно мне нужно изучить. А где найти конкретные незнания во времена интернета проблема более простая.
    Если бы где был кратенький учебник на 10 страниц было бы просто шикарно. Но хотя бы просто список что мне нужно изучить.

    Добавлено спустя 2 минуты 38 секунд:
    iNEEdhLw, sql-ex.ru - что это за сайт? в двух словах... так сразу не разобрался))

    mahmuzar, закрепление навыков будет следующим вопросом)).
     
  13. Fraiman

    Fraiman Новичок

    С нами с:
    7 авг 2015
    Сообщения:
    4
    Симпатии:
    0
    Всем привет!
    Только-только начинаю изучать MYSQL. Разучиваю оператора создания таблиц. Подскажите, пожалуйста, в чем ошибка такого кода:

    CREATE TABLE table1 (
    id INT UNSIGNED NOT NULL DEFAULT 0 COMMENT `Код товара`,
    name VARCHAR (50) NOT NULL DEFAULT `` COMMENT `Название товара`,
    price FLOAT NOT NULL DEFAULT 0 COMMENT `Цена`
    ) COMMENT `Таблица товаров`;

    Спасибо за помощь заранее)
     
  14. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Это только ошибки синтаксиса... Тут куча еще всего.
     
  15. Fraiman

    Fraiman Новичок

    С нами с:
    7 авг 2015
    Сообщения:
    4
    Симпатии:
    0
    То есть, вы заменили `` на обычные ординарные кавычки - ""?
    А когда тогда используется символ ``?

    Спасибо за помощь)
     
  16. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Код (Text):
    1.  
    2. CREATE TABLE `table1` (
    3.     `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Код товара',
    4.     `name` VARCHAR(100) NULL DEFAULT NULL COMMENT 'Название товара',
    5.     `price` FLOAT UNSIGNED NULL DEFAULT NULL COMMENT 'Цена',
    6.     PRIMARY KEY (`id`)
    7. )
    8. COMMENT='Таблица товаров'
    9. COLLATE='utf8_general_ci'
    10. ENGINE=InnoDB
     
  17. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    И еще добавил кавычки для значения FLOAT.
    Для данных кавычки(одинарные или двойные), для имён -
     
  18. mirosas

    mirosas Активный пользователь

    С нами с:
    17 июл 2015
    Сообщения:
    236
    Симпатии:
    5
    Подскажите чем отличаются методы доступа к бд:
    mysql
    mysqli
    pdo

    Я всегда использовал первый. Второй я так понимаю принципиально ни чем не отличается. Нужно ли начинающему пхп-программеру изучать третий?
     
  19. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    нужно. ибо в мире есть не только mysql. а PDO позволяет не сильно парится с типом БД. синтаксис и функции для работы с данными останутся теми же. что в итоге проще и легче поддерживать
     
  20. mirosas

    mirosas Активный пользователь

    С нами с:
    17 июл 2015
    Сообщения:
    236
    Симпатии:
    5
    тоесть при работе с PDO не нужно писать SQL запросов? И там совершенно иной интерфейс? И по большому счету можно изучить PDO, изучить что такое вообще БД, и не разбираться с каждой из них в отдельности?

    Смущает как оно адаптируется к разным типам БД. какие-то с транзакциями, какие-то с триггерами, а какие-то без. Подходит методом минимального функционала для всех, плюс дополнительного для каждого вида БД, который на каких-то БД работает, на каких-то нет. ?
     
  21. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    да почему.
    запросы также придется писать. просто в PDO есть сразу поддержка всего что нужно. хоть транзакции, хоть плейсхолдеры хоть еще чтото.
    все это же есть и в mysqli. но PDO более универсальный, именно в плане более беспроблемной работы с другими БД.
     
  22. mirosas

    mirosas Активный пользователь

    С нами с:
    17 июл 2015
    Сообщения:
    236
    Симпатии:
    5
    Спасибо, ясно. А с безтранзакционными БД, такими как MyISAM, я так понимаю PDO не только не предназначен, но и не работает вовсе?
     
  23. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    работает прекрасно. почитай мануал к pdo. там описан список БД которые поддерживаются.
     
  24. mirosas

    mirosas Активный пользователь

    С нами с:
    17 июл 2015
    Сообщения:
    236
    Симпатии:
    5
    Хм.. а люди пишут что с PDO наоборот проблемы.

    Одна строка превращается в четыре:
    $stm = $pdo->prepare('SELECT * FROM table LIMIT ?, ?');
    $stm->bindValue(1, $limit_from, PDO::pARAM_INT);
    $stm->bindValue(2, $per_page, PDO::pARAM_INT);
    $stm->execute();

    - красиво конечно, но как-то это ближе к C++ идеологии, чем к идеологии PHP. Мне почему-то так кажется.

    Добавлено спустя 38 секунд:
    ))
     
  25. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    во-первых, можно проще:
    Код (PHP):
    1. $sth = $dbh->prepare('SELECT * FROM table LIMIT ?,?');
    2. $sth->execute( [$from, $page] );
    а если написать свой класс-обертку, то еще проще:
    Код (PHP):
    1. $rows = $db->getRows('SELECT * FROM table LIMIT ?,?', [$from, $page]); 
    во-вторых, повторяю. никаких проблем у PDO нет. некие люди говорят что есть? ок. давайте тогда по существу. Пишите конкретно что такое страшное кого-то "пугает" в PDO? и тогда я конкретно постараюсь ответить.