Загрузка...

Связываем Python and MySQL

Тема в разделе Python создана пользователем ketch_inactive2790559 13 апр 2020. 302 просмотра

  1. ketch_inactive2790559
    ketch_inactive2790559 Автор темы 13 апр 2020 Заблокирован(а) 80 21 ноя 2019
    Многие псевдокодеры сохраняют важные данные посредством записи их в переменные(убейтесь) или через .txt-files(facepalm), думаешь я рофлю? А нихуя, есть один кодер с этого любимого портала который вместо баз данных использует .txt-files указывать его не буду, но я надеюсь ты это прочтешь и научишься чему-то. Поехали.

    В первую очередь нам необходимо подключить "PyMySQL", если ты юзаешь стоковый софт от Python используй pip, если ты юзаешь PyCharm, во первых, ты красава, во вторых, добавляй через Python Interpreter.

    Далее тебе нужно скачать Denwer в любом случае на пк у тебя хост или на сервере, редактировать ты один хуй будешь через комп все, а если ты делаешь это через сервер то земля металлом.

    Денвер (Denwer) – это программа используемая web-разработчиками для разработки или создания сайтов на домашнем (локальном) компьютере без наличия интернета.

    Далее тебе нужно создать базу данных, если ты дурачок который делает эту хуйню впервые то заюзай это:
    Код
    CREATE TABLE `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `email` varchar(255) COLLATE utf8_bin NOT NULL,
    `password` varchar(255) COLLATE utf8_bin NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
    AUTO_INCREMENT=1 ;
    В phpMyAdmin добавь базу данных, назовем ее test, можешь назвать по своему, но не будь ебланом, чтобы потом не скопипастить в тупую мой код и ебаться с кучей ошибок.
    Создал БД? Хорош, выбирай вкладку SQL и вставляй код выше, я не собираюсь тебе разжевывать что тут за что отвечает, для этого ты можешь воспользоваться pornhub.c google.com(MACLO не бань це не реклама спс).

    Далее открываем свой проект, и ебашим следующее:

    Импортируем модуль:
    Код
    import pymysql
    Далее создаем необходимые данные для подключения:
    Код
    BD_HOST = "localhost" # ХОСТ
    BD_LOGIN = "root" # ЛОГИН
    BD_PASS = "" # ПАРОЛЬ
    BD_BASE = "test" # БАЗА ДАННЫХ

    BASE_USERS = "users" # ТАБЛИЦА С АККАУНТАМИ

    bd_connect = pymysql.connect(BD_HOST, BD_LOGIN, BD_PASS, BD_BASE) # ПОДКЛЮЧАЕМСЯ К БАЗЕ ДАННЫХ
    Теперь можно проверить все ли у нас работает с помощью этого волшебного кода:
    Код
    with bd_connect:
    cursor = bd_connect.cursor()
    cursor.execute("SELECT VERSION()")

    version = cursor.fetchone()

    print("Database version: {}".format(version[0]))
    Код
    cursor = bd_connect.cursor()
    Из ID подключения bd_connect создается курсор для работы с Базой.

    Код
    cursor.execute("SELECT VERSION()")
    execute используется для отправки SQL-запросов в нашу БД через курсор.

    Код
    cursor.fetchone()
    Вызывает результаты из нашего запросы и записывает в переменную version.

    Таким образом мы можем сделать так:
    Код
    with bd_connect:

    cursor = bd_connect.cursor()
    bd_connect.execute(f"SELECT * FROM {BASE_USERS}")

    rows = cursor.fetchall()

    for row in rows:
    print("{0} {1} {2}".format(row[0], row[1], row[2]))
    Таким образом мы выведем все то, что имеется в нашей БД

    Код
    SELECT * FROM {BASE_USERS}
    SQL запрос с помощью которого мы просим БД выдать нам все значения из указанной таблицы в нашем случае это users.

    Таким же образом мы можем создать там запись:
    Код
    with bd_connect:
    sql = f"INSERT INTO `{BASE_USERS}` (`email`, `password`) VALUES (%s, %s)"
    cursor.execute(sql, ('нахуйиди@mail.ru', 'qwerty'))

    bd_connect.commit()
    Я надеюсь я не зря писал эту хуйню и ты познал что-то новое для себя.
     
  2. oriole
    oriole 13 апр 2020 был(а) давно
    если ты юзаешь PyCharm, во первых, ты красава,
    не соглашусь
     
    1. ketch_inactive2790559 Автор темы
      oriole, Ну, это сугубо мое мнение
  3. firstblood1337
    firstblood1337 13 апр 2020 Lolzteam Zelenka 31 17 мар 2019
    для чего он нужен?
     
    1. ketch_inactive2790559 Автор темы
      firstblood1337, Для крупных проектов на Python, к примеру какие-либо SCAM-боты на телеге.
  4. ketch_inactive2790559
    ketch_inactive2790559 Автор темы 13 апр 2020 Заблокирован(а) 80 21 ноя 2019
    RaysMorgan где подсветка синтаксиса?:wutcat:
     
    1. Delitel
  5. sesu
    sesu 13 апр 2020 Ты не умеешь писать код 114 17 ноя 2019
    Хуже только писать чистые запросы в коде , ой ты это и сделал
     
    1. ketch_inactive2790559 Автор темы
      sesu, а я смотрю вы диванный критик?)
  6. AlekseGolubev
    Сохраню на всякий случай.
     
  7. Abilka
    Abilka 15 апр 2020 87 29 янв 2020
    Понятно только тем, кто имеет опыт, сухие строки (вырезки) кода без описаний. Так что твои труды зря, можешь переписывать для чайников с описание каждого запроса, хоть и это не изменит их любви к txt (изменит только то, когда они заметят разницу быстродействия между работой с БД и txt доком). Кстати, БД может быть и локальной, для этого тогда Денвер не нужен и тогда можно обычный БД вивер скачать какой-нибудь для редактирования .sql файла.
     
    1. ketch_inactive2790559 Автор темы
      Abilka, Сегодня отредактирую.
Top
Загрузка...