HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Как подружить Python с БД - ключевые моменты</a><ul><li><a>Подключение</a></li>
1 <ul><li><a>Как подружить Python с БД - ключевые моменты</a><ul><li><a>Подключение</a></li>
2 <li><a>Создание таблиц</a></li>
2 <li><a>Создание таблиц</a></li>
3 <li><a>Вставка записей</a></li>
3 <li><a>Вставка записей</a></li>
4 <li><a>Извлечение из записей</a></li>
4 <li><a>Извлечение из записей</a></li>
5 <li><a>Обновление</a></li>
5 <li><a>Обновление</a></li>
6 </ul></li>
6 </ul></li>
7 <li><a>Удаление</a></li>
7 <li><a>Удаление</a></li>
8 <li><a>Библиотеки для анализа данных</a><ul><li><a>Форматирование и очистка</a></li>
8 <li><a>Библиотеки для анализа данных</a><ul><li><a>Форматирование и очистка</a></li>
9 <li><a>Визуализация</a></li>
9 <li><a>Визуализация</a></li>
10 </ul></li>
10 </ul></li>
11 </ul><p>Следующая часть статьи посвящена нескольким базам данных и их работе в Питоне. Начало<a>здесь</a>.</p>
11 </ul><p>Следующая часть статьи посвящена нескольким базам данных и их работе в Питоне. Начало<a>здесь</a>.</p>
12 <h2>Как подружить Python с БД - ключевые моменты</h2>
12 <h2>Как подружить Python с БД - ключевые моменты</h2>
13 <p>Для начала стоит рассмотреть структуру (схему) используемого в дальнейших примерах "хранилища электронных материалов".</p>
13 <p>Для начала стоит рассмотреть структуру (схему) используемого в дальнейших примерах "хранилища электронных материалов".</p>
14 <p>Пусть БЛ состоит из четырех табличек:</p>
14 <p>Пусть БЛ состоит из четырех табличек:</p>
15 <ul><li>users;</li>
15 <ul><li>users;</li>
16 <li>posts;</li>
16 <li>posts;</li>
17 <li>comments;</li>
17 <li>comments;</li>
18 <li>likes.</li>
18 <li>likes.</li>
19 </ul><p>Точная структура для Python показана на картинке ниже. Она пригодится при непосредственной обработке информации.</p>
19 </ul><p>Точная структура для Python показана на картинке ниже. Она пригодится при непосредственной обработке информации.</p>
20 <p>Здесь стоит обратить внимание на следующие моменты:</p>
20 <p>Здесь стоит обратить внимание на следующие моменты:</p>
21 <ol><li>Пользователи и публикации - имеют тип связи "один ко многим".</li>
21 <ol><li>Пользователи и публикации - имеют тип связи "один ко многим".</li>
22 <li>Каждый клиент имеет право оставлять множество комментариев.</li>
22 <li>Каждый клиент имеет право оставлять множество комментариев.</li>
23 <li>У поста может быть несколько комментов.</li>
23 <li>У поста может быть несколько комментов.</li>
24 <li>Лайки обладают идентичными характеристиками, что и комментарии.</li>
24 <li>Лайки обладают идентичными характеристиками, что и комментарии.</li>
25 </ol><p>Если разработчик не понимает структуру имеющихся данных, он не сможет грамотно составить приложение, которое работает с соответствующей БД.</p>
25 </ol><p>Если разработчик не понимает структуру имеющихся данных, он не сможет грамотно составить приложение, которое работает с соответствующей БД.</p>
26 <h3>Подключение</h3>
26 <h3>Подключение</h3>
27 <p>Перед тем, как начать работу с данными в Python (их "хранилищами"), требуется осуществить предварительное подключение оных. SQLite работает с Питоном по умолчанию. Для MySQL потребуется дополнительная библиотека под названием PyMySQL. Она представляет собой набор кодов, которые подходят для работы с MySQL в Питоне от версии 3.0. Если разработка ведется на более старых вариациях ЯП, библиотека не пригодится.</p>
27 <p>Перед тем, как начать работу с данными в Python (их "хранилищами"), требуется осуществить предварительное подключение оных. SQLite работает с Питоном по умолчанию. Для MySQL потребуется дополнительная библиотека под названием PyMySQL. Она представляет собой набор кодов, которые подходят для работы с MySQL в Питоне от версии 3.0. Если разработка ведется на более старых вариациях ЯП, библиотека не пригодится.</p>
28 <p>Дальнейшие примеры будут приведены на основе SQLite, MySQL и PostgreSQL. Именно такая последовательность рассматривается для всех операций и манипуляций.</p>
28 <p>Дальнейшие примеры будут приведены на основе SQLite, MySQL и PostgreSQL. Именно такая последовательность рассматривается для всех операций и манипуляций.</p>
29 <p>SQLite - самый простой вариант. Подключиться к ней можно только через средства Python без дополнений. По умолчанию ЯП имеет модуль sqlite3 для обработки электронных материалов.</p>
29 <p>SQLite - самый простой вариант. Подключиться к ней можно только через средства Python без дополнений. По умолчанию ЯП имеет модуль sqlite3 для обработки электронных материалов.</p>
30 <p>А вот скрипт, который поможет установить соединение с SQLite:</p>
30 <p>А вот скрипт, который поможет установить соединение с SQLite:</p>
31 <p>В случае с MySQL операции происходят чуть иначе. Они требуют:</p>
31 <p>В случае с MySQL операции происходят чуть иначе. Они требуют:</p>
32 <ul><li>скачивания и инициализации драйверов mysql-connector-python.</li>
32 <ul><li>скачивания и инициализации драйверов mysql-connector-python.</li>
33 <li>установки соединения с сервером;</li>
33 <li>установки соединения с сервером;</li>
34 <li>выполнения запроса.</li>
34 <li>выполнения запроса.</li>
35 </ul><p>Картинка выше показывает принцип загрузки необходимого модуля для Python. Далее - код, отвечающий за подключение к серверу MySQL, а также за возврат объекта подключения:</p>
35 </ul><p>Картинка выше показывает принцип загрузки необходимого модуля для Python. Далее - код, отвечающий за подключение к серверу MySQL, а также за возврат объекта подключения:</p>
36 <p>Для PorstgreSQL нужно действовать так же, как и в случае с MySQL - сначала скачать модуль драйверов и инициализировать его:</p>
36 <p>Для PorstgreSQL нужно действовать так же, как и в случае с MySQL - сначала скачать модуль драйверов и инициализировать его:</p>
37 <p>Выше представлены функции для определения хранилища информации, а также непосредственного подключения.</p>
37 <p>Выше представлены функции для определения хранилища информации, а также непосредственного подключения.</p>
38 <h3>Создание таблиц</h3>
38 <h3>Создание таблиц</h3>
39 <p>Чтобы создавать таблицы, нужно использовать метод cursor.execute().</p>
39 <p>Чтобы создавать таблицы, нужно использовать метод cursor.execute().</p>
40 <p>Далее нужно сформировать передаваемый запрос. Он будет носить название query:</p>
40 <p>Далее нужно сформировать передаваемый запрос. Он будет носить название query:</p>
41 <p>А вот запрос, который заставит табличку появиться:</p>
41 <p>А вот запрос, который заставит табличку появиться:</p>
42 <p>Чтобы создать posts, потребуется код:</p>
42 <p>Чтобы создать posts, потребуется код:</p>
43 <p>Для комментов и лайков:</p>
43 <p>Для комментов и лайков:</p>
44 <p>Это - примеры для SQLite. По<a>данной ссылке</a>можно увидеть кодификации для MySQL и PostgreSQL. Далее в основе будет заложен именно SQLite</p>
44 <p>Это - примеры для SQLite. По<a>данной ссылке</a>можно увидеть кодификации для MySQL и PostgreSQL. Далее в основе будет заложен именно SQLite</p>
45 <h3>Вставка записей</h3>
45 <h3>Вставка записей</h3>
46 <p>Здесь можно воспользоваться следующими особенностями:</p>
46 <p>Здесь можно воспользоваться следующими особенностями:</p>
47 <ol><li>Можно использовать функцию, что и для создания табличек - execute_query().</li>
47 <ol><li>Можно использовать функцию, что и для создания табличек - execute_query().</li>
48 <li>Чтобы воспользоваться таким приемом, нужно сначала сохранить запрос insert into в виде строки.</li>
48 <li>Чтобы воспользоваться таким приемом, нужно сначала сохранить запрос insert into в виде строки.</li>
49 <li>Далее - осуществить передачу объекта connection и строку (запрос) в execute_query.</li>
49 <li>Далее - осуществить передачу объекта connection и строку (запрос) в execute_query.</li>
50 </ol><p>Выше - примеры добавления электронных материалов для всех составляющих "хранилища".</p>
50 </ol><p>Выше - примеры добавления электронных материалов для всех составляющих "хранилища".</p>
51 <h3>Извлечение из записей</h3>
51 <h3>Извлечение из записей</h3>
52 <p>А вот еще одна важная возможность. Она помогает выбирать записи и использовать их. В SQLite применяется cursor.execute(). Но после этого придется обратиться к методу fetchall(). Он будет возвращать список кортежей, где каждый "элемент" соответствует строке в извлеченных записях. Вот пример функции для упрощения реализации поставленной задачи:</p>
52 <p>А вот еще одна важная возможность. Она помогает выбирать записи и использовать их. В SQLite применяется cursor.execute(). Но после этого придется обратиться к методу fetchall(). Он будет возвращать список кортежей, где каждый "элемент" соответствует строке в извлеченных записях. Вот пример функции для упрощения реализации поставленной задачи:</p>
53 <p>Теперь можно выбрать все записи из таблички users. Для этого подойдет оператор Select:</p>
53 <p>Теперь можно выбрать все записи из таблички users. Для этого подойдет оператор Select:</p>
54 <p>Для постов этот элемент кода будет иметь аналог:</p>
54 <p>Для постов этот элемент кода будет иметь аналог:</p>
55 <p>В Python есть возможность формирования более сложных запросов. В этом поможет команда join. С ее помощью удается извлечь сведения из связанных таблиц. Вот идентификаторы и имена пользователей и их посты:</p>
55 <p>В Python есть возможность формирования более сложных запросов. В этом поможет команда join. С ее помощью удается извлечь сведения из связанных таблиц. Вот идентификаторы и имена пользователей и их посты:</p>
56 <p>А можно воспользоваться Select-запросом, который будет возвращать текст поста и общее количество собственных лайков. Для этого на помощь придет Where:</p>
56 <p>А можно воспользоваться Select-запросом, который будет возвращать текст поста и общее количество собственных лайков. Для этого на помощь придет Where:</p>
57 <h3>Обновление</h3>
57 <h3>Обновление</h3>
58 <p>Стоит обратить внимание на еще одну важную операцию. Речь идет об обновлении. Тут нужно учитывать следующие моменты:</p>
58 <p>Стоит обратить внимание на еще одну важную операцию. Речь идет об обновлении. Тут нужно учитывать следующие моменты:</p>
59 <ul><li>Можно применять execute_query().</li>
59 <ul><li>Можно применять execute_query().</li>
60 <li>Пример позволит обновить текст сообщения с id под номером 2.</li>
60 <li>Пример позволит обновить текст сообщения с id под номером 2.</li>
61 <li>Сначала нужно написать описание для Select.</li>
61 <li>Сначала нужно написать описание для Select.</li>
62 </ul><ul><li>А вот скрипт, который обновит описание:</li>
62 </ul><ul><li>А вот скрипт, который обновит описание:</li>
63 </ul><p>Завершающий этап - это выполнение Select-запроса. Данный алгоритм приведет к обновлению необходимой записи.</p>
63 </ul><p>Завершающий этап - это выполнение Select-запроса. Данный алгоритм приведет к обновлению необходимой записи.</p>
64 <h2>Удаление</h2>
64 <h2>Удаление</h2>
65 <p>Для удаления информации нужно использовать команду Delete. В примере, приведенном ниже, происходит стирание комментария с id = 5:</p>
65 <p>Для удаления информации нужно использовать команду Delete. В примере, приведенном ниже, происходит стирание комментария с id = 5:</p>
66 <h2>Библиотеки для анализа данных</h2>
66 <h2>Библиотеки для анализа данных</h2>
67 <p>У Python довольно мощный функционал. Дополнить его можно через специализированные библиотеки. При любом программировании это - полезный прием, облегчающий процедуру коддинга.</p>
67 <p>У Python довольно мощный функционал. Дополнить его можно через специализированные библиотеки. При любом программировании это - полезный прием, облегчающий процедуру коддинга.</p>
68 <h3>Форматирование и очистка</h3>
68 <h3>Форматирование и очистка</h3>
69 <p>Первый тип библиотек помогают форматировать и очищать данные. Он значительно упрощает соответствующие задачи, делая их максимально понятными даже новичку:</p>
69 <p>Первый тип библиотек помогают форматировать и очищать данные. Он значительно упрощает соответствующие задачи, делая их максимально понятными даже новичку:</p>
70 <ol><li>Dora. Нужна для разведенного анализа данных. Автоматизирует ключевые части соответствующего процесса.</li>
70 <ol><li>Dora. Нужна для разведенного анализа данных. Автоматизирует ключевые части соответствующего процесса.</li>
71 <li>DataCleaner. Проект, принимающий на вход материалы в DataFrame, а затем выбирает некорректные и исправленные значения.</li>
71 <li>DataCleaner. Проект, принимающий на вход материалы в DataFrame, а затем выбирает некорректные и исправленные значения.</li>
72 <li>PrettyPandas. Помогает приводить датайфреймы в удобный вид. Для этого применяется pandas Style API.</li>
72 <li>PrettyPandas. Помогает приводить датайфреймы в удобный вид. Для этого применяется pandas Style API.</li>
73 <li>Tabulate. Выводит читабельной форме списки списков, списки, а также иные структуры. Умеет работать с массивами NumPy.</li>
73 <li>Tabulate. Выводит читабельной форме списки списков, списки, а также иные структуры. Умеет работать с массивами NumPy.</li>
74 <li>Scrubadub. Инструмент обработки конфиденциальных данных в Python.</li>
74 <li>Scrubadub. Инструмент обработки конфиденциальных данных в Python.</li>
75 <li>Arrow. Оптимизирует работу со временем, которая является проблемой для нативной разработки в выбранном ЯП.</li>
75 <li>Arrow. Оптимизирует работу со временем, которая является проблемой для нативной разработки в выбранном ЯП.</li>
76 <li>Beautifier. Упрощает контактирование с электронными ящиками и URL-адресами.</li>
76 <li>Beautifier. Упрощает контактирование с электронными ящиками и URL-адресами.</li>
77 <li>Ftfy. Библиотека, превращающая плохие строки Unicode в хорошие.</li>
77 <li>Ftfy. Библиотека, превращающая плохие строки Unicode в хорошие.</li>
78 </ol><p>Все это - только начало. Но данных библиотек хватит для весьма качественной разработки программного обеспечения на Python.</p>
78 </ol><p>Все это - только начало. Но данных библиотек хватит для весьма качественной разработки программного обеспечения на Python.</p>
79 <h3>Визуализация</h3>
79 <h3>Визуализация</h3>
80 <p>У Питона есть специализированные библиотеки практически для всех способов отображения электронных сведений. Далее предложены 10 универсальных вариантов. Это - непревзойденные лидеры как для новичков, так и для опытных разрабов:</p>
80 <p>У Питона есть специализированные библиотеки практически для всех способов отображения электронных сведений. Далее предложены 10 универсальных вариантов. Это - непревзойденные лидеры как для новичков, так и для опытных разрабов:</p>
81 <ol><li>Matplotlib. Один из стандартов визуализации. Для презентаций подойдет не лучшим образом из-за стиля 90-х годов.</li>
81 <ol><li>Matplotlib. Один из стандартов визуализации. Для презентаций подойдет не лучшим образом из-за стиля 90-х годов.</li>
82 <li>Seaborn. Своеобразная "обертка" Matplotlib. У нее есть ряд улучшений, которые сказались на эстетике.</li>
82 <li>Seaborn. Своеобразная "обертка" Matplotlib. У нее есть ряд улучшений, которые сказались на эстетике.</li>
83 <li>Ggplot. Работа базируется на графиках. Сложные персонализированные структуры здесь создать проблематично, а вот элементарные и небольшие - запросто.</li>
83 <li>Ggplot. Работа базируется на графиках. Сложные персонализированные структуры здесь создать проблематично, а вот элементарные и небольшие - запросто.</li>
84 <li>Bokeh. Имеет поддержку выгрузки элементов JSON, в HTML и интерактивные веб-утилиты. Умеет передавать материалы в режиме реального времени. Предусматривает потоковый метод обработки.</li>
84 <li>Bokeh. Имеет поддержку выгрузки элементов JSON, в HTML и интерактивные веб-утилиты. Умеет передавать материалы в режиме реального времени. Предусматривает потоковый метод обработки.</li>
85 <li>PyGal. Простая библиотека, которая умеет выгружать материалы в SVG. Результаты удается встроить в веб-контент.</li>
85 <li>PyGal. Простая библиотека, которая умеет выгружать материалы в SVG. Результаты удается встроить в веб-контент.</li>
86 <li>Plotly. Обладает адаптацией для интерактивных веб-утилит. Позволяет создавать контурные графики, дендограммы, трехмерные чертежи.</li>
86 <li>Plotly. Обладает адаптацией для интерактивных веб-утилит. Позволяет создавать контурные графики, дендограммы, трехмерные чертежи.</li>
87 <li>Geoplotlib. Нужна для того, чтобы работать с картами. Чтобы запустить оную, требуется Pyglet.</li>
87 <li>Geoplotlib. Нужна для того, чтобы работать с картами. Чтобы запустить оную, требуется Pyglet.</li>
88 <li>Gleam. Превращает результаты анализа в интерактивные утилиты на Питоне через его скрипты. Не требует специальных навыков и знаний HTML или CSS.</li>
88 <li>Gleam. Превращает результаты анализа в интерактивные утилиты на Питоне через его скрипты. Не требует специальных навыков и знаний HTML или CSS.</li>
89 <li>Missingno. Служит для отображения полноты электронных материалов. Помогает тогда, когда библиотеки очистки вводных от пропущенных полей не дают желаемого результата.</li>
89 <li>Missingno. Служит для отображения полноты электронных материалов. Помогает тогда, когда библиотеки очистки вводных от пропущенных полей не дают желаемого результата.</li>
90 <li>Leather. Представляет чертежную библиотеку для Python. Позволяет создавать графики "здесь и сейчас". Подходит для любых типов данных.</li>
90 <li>Leather. Представляет чертежную библиотеку для Python. Позволяет создавать графики "здесь и сейчас". Подходит для любых типов данных.</li>
91 </ol><p>Работа с БД и обработка информации в Питоне - это не так трудно. А освоить соответствующее направление с нуля помогут специализированные онлайн курсы.</p>
91 </ol><p>Работа с БД и обработка информации в Питоне - это не так трудно. А освоить соответствующее направление с нуля помогут специализированные онлайн курсы.</p>
92 <a></a>
92 <a></a>