从零开始学python | 数据库连接:知道如何与数据库连接
即使您考虑使用Python之类的强大编程语言,数据库对于存储和处理数据也至关重要。有没有想过,这整套大数据在哪里存储或从中获取?在有关“ Python数据库连接”的本文中,我将进行讨论,并详细介绍以下方面。
- What is a database?
- What is MySQLdb?
- How does Python connect to a database?
- Creating a Database
- Database Operations-CRUD
让我们开始吧 :)
什么是数据库?
数据库基本上是结构化数据的集合,其存储方式可以很容易地以各种方式进行检索,管理和访问。文本数据库是最简单的数据库形式之一。关系数据库是最流行的数据库系统,包括以下内容:
- MySQL
- Oracle Database
- SQL server
- Sybase
- Informix
- IBM db2
- NO SQL
在所有这些数据库中,MySQL是最容易使用的数据库之一。让我详细介绍一下。
什么是MySQLdb?
MySQLdb是使用结构化查询语言的开源免费关系数据库管理系统。现在,这里最重要的问题之一是“什么是SQL?”
SQL(结构化查询语言)是关系数据库的标准语言,允许用户对数据进行各种操作,如操纵,创建,删除等。简而言之,SQL允许您对数据进行任何操作。
让我们继续前进,深入研究Python数据库连接,在其中您将学习如何与数据库连接。
Python如何连接到数据库?
将Python与数据库连接非常简单。请参考下图,该图说明了与数据库的Python连接,其中如何将连接请求发送到MySQL连接器Python,如何从数据库接受连接请求并使用结果数据执行游标。
连接到MySQL数据库之前,请确保您已在计算机上安装MySQL安装程序。它提供了一套全面的工具,可帮助安装具有以下组件的MySQL:
- MySQL server
- All available connectors
- MySQL Workbench
- MySQL Notifier
- Tools for Excel and Microsoft Visual Studio
- MySQL Sample Databases
- MySQL Documentation
要下载MySQL安装程序,请观看以下视频,其中介绍了在安装MySQL时需要遵循的各个步骤。
在继续之前,您应确保计算机上已安装MySQL数据库。请参考以下命令在命令提示符和pycharm中安装MySQL:
使用点数:
命令:
pip安装mysql-connector
使用Pycharm
命令:
import mysql.connector
输出:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe
C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
流程结束,退出代码为0
在本文中继续使用Python数据库连接,让我们看到连接到数据库所需的参数:
- 用户名-这只是您为使用MySQL服务器提供的用户名,默认用户名是root。
- 密码- 安装MySQL数据库后,由用户提供密码。我在这里输入密码为“ password123”
- 主机名-这基本上是运行MySQL的服务器名或IP地址,如果它是“ localhost”,则您的IP地址为127.0.0.0
我将从编码的角度向您展示如何将python与MySQL数据库连接。
例子:
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123") // I have used 'host','username','password'
print(mydb)
输出:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe
C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
<mysql.connector.connection_cext.CMySQLConnection object at 0x000001606D7BD6A0>
流程结束,退出代码为0
说明:这里的“ mydb”只是一个实例。从输出中,您可以清楚地看到它已连接到数据库。
下一步,在Python数据库连接中,您将学习如何创建数据库。
创建数据库:
建立数据库连接后,即可准备创建自己的数据库,该数据库将充当python和MySQL服务器之间的桥梁。
让我们看看其中的实现部分。
例子:
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123")
mycursor=mydb.cursor()
mycursor.execute("create database harshdb")
输出:
C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
Process finished with exit code 0
解释:
- 在上面的程序中,我使用了游标,它基本上是一个对象,用于与您的整个MySQL服务器进行通信,通过它我可以创建自己的数据库。
- 您可以从输出中看到创建了名为“ harshdb”的自定义数据库,因为您可以给数据库指定任何名称。
如果要查看MySQL服务器中的数据库,可以在pycharm中实现以下代码:
例子 :
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123")
mycursor=mydb.cursor()
mycursor.execute("show databases")
for db in mycursor:
print(db)
输出:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
('harshdb',)
('information_schema',)
('mysql',)
('performance_schema',)
( 'sakila',)
('sys',)
('world',)
流程结束,退出代码为0
解释:
- 通过实现上述代码,我尝试显示了MySQL服务器中现有的所有数据库。
现在,您已经创建了数据库,让我们通过执行少量操作来深入了解Python数据库连接的最重要方面之一。让我们详细了解这一点。
数据库操作[CRUD]:
程序员可以使用数据库和SQL进行许多操作,以便对数据库编程和MySQL有所了解。
我已经在下面演示了CRUD操作
- 创建–这是一条SQL语句,用于在表中创建记录,或者可以说它用于创建表。
- 读取-用于从数据库中获取有用的信息。
- 更新- 此特定的SQL语句用于更新表中的记录或更新表。
- 删除- 顾名思义,此命令用于删除表。
让我们从编码的角度详细研究每个方面。
创建操作:
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database=harshdb)
mycursor=mydb.cursor()
mycursor.execute("create table employee(name varchar(250),sal int(20))")
输出:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
流程结束,退出代码为0
解释:
- 在上述程序中,我创建了一个表'employee'。
- 表employee有两个字段“名称”和“ sal”。
- 在此,用于访问harddb的用户标识为“ root”,密码为“ password123”。
下面给出的屏幕快照显示了表'employee'并返回字段'name'和'sal'。
为了查看我创建的表,请参考以下python代码
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database="harshdb")
mycursor=mydb.cursor()
mycursor.execute("show tables")
for tb in mycursor:
print(tb)
输出:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
('employee',)
流程结束,退出代码为0
下面给出的屏幕快照显示了我创建的表“ employee”。
截屏:
现在您已经了解了如何创建表,让我们看一下用户如何从表中获取值。
读取操作:
此特定操作发生在各个阶段。为了做到这一点,第一步是填充表格。
代码:
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database="harshdb")
mycursor=mydb.cursor()
sqlformula = "Insert into employee(name,sal) values(%s,%s)"//'values has placeholders
employees = [("harshit",200000),("rahul", 30000),("avinash", 40000),("amit", 50000),]//Created an array of emplpoyees
mycursor.executemany(sqlformula, employees)//Passing the data
mydb.commit()//SQL statement used for saving the changes
输出:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe
C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
流程结束,退出代码为0
在上面的代码中,我通过用Python编写SQL语句使用一组雇员来填充数据。下面的数据库屏幕快照将显示更改
在这里,“ harshit”在创建数组时在记录中使用了两次。
阶段2:在此阶段中,我们将使用“选择” SQL语句进行实际的读取操作。
- fetchall() –此特定函数从上次执行的语句中获取所有数据。
- fetchone()- 此特定语句从最后执行的语句中获取一个数据。
代码:
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database="harshdb")
mycursor=mydb.cursor()
mycursor.execute("select * from employee")
myresult = mycursor.fetchall()
for row in myresult:
print(row)
输出:
('harshit',200000)
('harshit',200000)
('rahul',30000)
('avinash',40000)
('amit',50000)
流程结束,退出代码为0
说明:在上面的代码中,我们使用了函数“ fetchall()”。它从最后执行的语句中获取所有数据。
下面给出的是数据库的屏幕截图。
代码:
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database="harshdb")
mycursor=mydb.cursor()
mycursor.execute("select name from employee")//selecting the field i want data to be fetched from
myresult = mycursor.fetchone()
for row in myresult:
print(row)
输出:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
harshit
流程结束,退出代码为0
说明:在上面的代码中,我使用了函数“ fetchone()”,该函数基本上从最后执行的语句中提取单个数据。
这就是“读取操作”的全部内容,让我们深入了解“更新”操作。
更新操作:
该SQL语句用于更新表中的记录。让我们实现代码,看看更改如何进行。
代码:
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database="harshdb")
mycursor=mydb.cursor()
sql = "Update employee SET sal = 70000 WHERE name = 'harshit'"
mycursor.execute(sql)
mydb.commit()
输出:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe
C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
流程结束,退出代码为0
说明:我们已经更新了上面给出的记录中“ salit”记录的“ sal”行。下面给出的截图将为您提供清晰的图片。
截屏:
如您所见,记录“ harshit”的行“ sal”已更新为70000。
这都是关于更新操作的,继续“ Python数据库连接”文章,我们将看到最后一个操作是“删除”。
删除操作:
顾名思义,Delete操作用于从表中删除记录。让我们从编码的角度来理解它。
代码:
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",passwd="password123",database="harshdb")
mycursor=mydb.cursor()
sql = "DELETE FROM employee WHERE name = 'harshit'"
mycursor.execute(sql)
mydb.commit()
输出:
C:UsersHarshit_KantPycharmProjectstest1venvScriptspython.exe
C:/Users/Harshit_Kant/PycharmProjects/test1/venv/python-db-conn.py
流程结束,退出代码为0
说明:在上面的代码中,我删除了一条记录“ harshit”,因为它被重复了两次。
下面给出的屏幕截图将为您提供更好的图片。
从屏幕截图中可以清楚地看到,记录“ harshit”已被删除。好了,您可以从删除操作本身进行另一组操作,例如删除薪水。我只提到了两个字段,所以记录上可以执行的操作受到限制,但是您可以在同一表“ employee”或您创建的任何其他表下创建更多字段。
这使我们到了关于“ Python数据库连接”的文章的结尾。我希望您对与数据库,MYSQL db和python中的数据库操作有关的所有概念都清楚。确保尽可能多地练习并恢复经验。
- 点赞
- 收藏
- 关注作者
评论(0)