2. MySQL with Python¶
The ‘mysql-connector’ is not supported by Django-framework. The good option is ‘mysqlclient’ which is supported by Django as well.
$ mysql -u root -p Enter password: mysql> CREATE DATABASE pythonSQL;
2.2. Connect and load data¶
Following code can be used to connect and load the data to database. Note that, the commands in the c.execute(…) statements are exactly same as the commands in the previous chapters.
# create_fill_database.py import mysql.connector as mc # connect to database conn= mc.connect(host='localhost',user='root',password='d',db='pythonSQL') c = conn.cursor() # cursor to perform operations def create_table(): """ Create table in the database """ # optional: drop table if exists c.execute('DROP TABLE IF EXISTS writer') c.execute('CREATE TABLE writer \ ( \ id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, \ name VARCHAR(30) NOT NULL UNIQUE, \ age int \ )' ) def insert_data(): """ Insert data to the table """ c.execute("INSERT INTO writer (name) VALUES ('Pearl Buck')") c.execute(" INSERT INTO writer VALUES \ (NULL, 'Rabindranath Tagore', 80), \ (NULL, 'Leo Tolstoy', 82)" \ ) c.execute(" INSERT INTO writer (age, name) VALUES \ (30, 'Meher Krishna Patel')" \ ) def commit_close(): """ commit changes to database and close connection """ conn.commit() c.close() conn.close() def main(): """ execute create and insert commands """ create_table() insert_data() commit_close() # required for save the changes # standard boilerplate to call main function if __name__ == '__main__': main()
$ python create_fill_database.py
2.3. Read data from table¶
Following code can be used to read data from the table,
# read_database.py import mysql.connector as mc conn= mc.connect(host='localhost',user='root',password='d',db='pythonSQL') c = conn.cursor() def read_data(): c.execute('SELECT * FROM writer') writers = c.fetchall() # data is read in the form of list for writer in writers: # print individual item in the list print(writer) # data at each row is saved as tuple def main(): read_data() if __name__ == '__main__': main()
$ python read_database.py (1, 'Pearl Buck', None) (2, 'Rabindranath Tagore', 80) (3, 'Leo Tolstoy', 82) (4, 'Meher Krishna Patel', 30)
- In this way, we can get the data from the table and perform various operations on the data.
- Also, we can use all those queries with python, as queries in the execute statements are same as queries in previous chapter.
2.4. Connection in try-except block¶
We can use following code to put the connection string in the try except block, so that we can get proper message for not connecting with the database,
# connect_try.py import mysql.connector as mq from mysql.connector import errorcode try: conn = mq.connect(host='localhost', user='root', password='d', db='pythonSQL') print("Connected") except mq.Error as err: if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: print("Something is wrong with your user name or password") elif err.errno == errorcode.ER_BAD_DB_ERROR: print("Database does not exist") else: print(err) else: print("Connection closed") conn.close()
$ python connect_try.py Connected Connection closed
$ python connect_try.py Something is wrong with your user name or password
$ python connect_try.py Database does not exist
© Copyright 2017, Meher Krishna Patel. Revision 31d452b4 .
Versions latest Downloads pdf html epub On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.
Работа с MySQL в Python: Создание базы данных
Здравствуйте. В сегодняшней статье мы создадим базу данных в MySQL при помощи языка Python. Итак, нам нужен драйвер или библиотека коннектор для Python — MySQL Connector. Установим драйвер:
>>> pip install mysql-connector-python
Далее проверим корректность установки модуля. Для чего импортируем его и запустим файл с кодом.
Перейдем к созданию самой базы данных:
# установим соединение с MySQL, для чего имя и пароль заданные на этапе установки
# программы сервера MySQL
mydb = mysql.connector.connect(
host=»localhost»,
user=»myrusakov»,
password=»12345″
)
# Далее используем SQL команду, создающую новую базу данных
mycursor.execute(«CREATE DATABASE myrusakov_database»)
Результатом vвыполнения команды будет файл базы данных. Следующим шагом будет проверка наличия базы в списке существующих. Проверить это можно, перечислив все базы данных в вашей системе с помощью оператора SHOW DATABASES:
mydb = mysql.connector.connect(
host=»localhost»,
user=»myrusakov»,
password=»12345″,
Таким образом, мы создали базу данных в MySQL, при помощи языка Python и библиотеки MySQL Connector.
Создано 28.02.2023 13:51:07
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.
MySQL в Python – создание новой базы данных
В этом разделе руководства мы создадим новую базу данных PythonDB.
Получение списка существующих баз данных
Мы можем получить список всех баз данных, используя следующий запрос MySQL.
import mysql.connector #Create the connection object myconn = mysql.connector.connect(host = "localhost", user = "root",passwd = "google") #creating the cursor object cur = myconn.cursor() try: dbs = cur.execute("show databases") except: myconn.rollback() for x in cur: print(x) myconn.close()
('EmployeeDB',) ('Test',) ('TestDB',) ('information_schema',) ('javatpoint',) ('javatpoint1',) ('mydb',) ('mysql',) ('performance_schema',) ('testDB',)
Создание новой базы данных
Новую базу данных можно создать с помощью следующего SQL-запроса.
import mysql.connector #Create the connection object myconn = mysql.connector.connect(host = "localhost", user = "root",passwd = "google") #creating the cursor object cur = myconn.cursor() try: #creating a new database cur.execute("create database PythonDB2") #getting the list of all the databases which will now include the new database PythonDB dbs = cur.execute("show databases") except: myconn.rollback() for x in cur: print(x) myconn.close()
('EmployeeDB',) ('PythonDB',) ('Test',) ('TestDB',) ('anshika',) ('information_schema',) ('javatpoint',) ('javatpoint1',) ('mydb',) ('mydb1',) ('mysql',) ('performance_schema',) ('testDB',)