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>