Загрузка...

Linking Python and MySQL

Thread in Python created by ketch_inactive2790559 Apr 13, 2020. 301 view

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

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

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

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

    Далее тебе нужно создать базу данных, если ты дурачок который делает эту хуйню впервые то заюзай это:
    Code
    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 не бань це не реклама спс).

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

    Импортируем модуль:
    Code
    import pymysql
    Далее создаем необходимые данные для подключения:
    Code
    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) # ПОДКЛЮЧАЕМСЯ К БАЗЕ ДАННЫХ
    Теперь можно проверить все ли у нас работает с помощью этого волшебного кода:
    Code
    with bd_connect:
    cursor = bd_connect.cursor()
    cursor.execute("SELECT VERSION()")

    version = cursor.fetchone()

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

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

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

    Таким образом мы можем сделать так:
    Code
    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]))
    Таким образом мы выведем все то, что имеется в нашей БД

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

    Таким же образом мы можем создать там запись:
    Code
    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 Apr 13, 2020 был(а) давно
    если ты юзаешь PyCharm, во первых, ты красава,
    не соглашусь
     
    1. ketch_inactive2790559 Topic starter
      oriole, Ну, это сугубо мое мнение
  3. firstblood1337
    firstblood1337 Apr 13, 2020 Lolzteam Zelenka 31 Mar 17, 2019
    для чего он нужен?
     
    1. ketch_inactive2790559 Topic starter
      firstblood1337, Для крупных проектов на Python, к примеру какие-либо SCAM-боты на телеге.
  4. ketch_inactive2790559
    ketch_inactive2790559 Topic starter Apr 13, 2020 Banned 80 Nov 21, 2019
    RaysMorgan где подсветка синтаксиса?:wutcat:
     
    1. Delitel
  5. sesu
    sesu Apr 13, 2020 Ты не умеешь писать код 114 Nov 17, 2019
    Хуже только писать чистые запросы в коде , ой ты это и сделал
     
    1. ketch_inactive2790559 Topic starter
      sesu, а я смотрю вы диванный критик?)
  6. AlekseGolubev
    Сохраню на всякий случай.
     
  7. Abilka
    Abilka Apr 15, 2020 87 Jan 29, 2020
    Понятно только тем, кто имеет опыт, сухие строки (вырезки) кода без описаний. Так что твои труды зря, можешь переписывать для чайников с описание каждого запроса, хоть и это не изменит их любви к txt (изменит только то, когда они заметят разницу быстродействия между работой с БД и txt доком). Кстати, БД может быть и локальной, для этого тогда Денвер не нужен и тогда можно обычный БД вивер скачать какой-нибудь для редактирования .sql файла.
     
    1. ketch_inactive2790559 Topic starter
      Abilka, Сегодня отредактирую.
Loading...
Top