Python - MySQL 连接:数据库和表 [示例]

为了使用 MySQL 与 Python,你必须了解 SQL

在深入探讨之前,让我们先了解一下

什么是 MySQL?

MySQL 是一个开源数据库,也是最好的关系数据库管理系统 (RDBMS) 之一。联合创始人 MySQLdb 是 Michael Widenius 的,还有 MySQL 名字源于迈克尔的女儿。

如何安装 MySQL 接头类型 Python on Windows、Linux/Unix

安装 MySQL 在Linux / Unix中:

从官方网站下载适用于 Linux/Unix 的 RPM 包: https://www.mysql.com/downloads/

在终端使用以下命令

rpm  -i <Package_name>
Example   rpm -i MySQL-5.0.9.0.i386.rpm

在 Linux 中检查

mysql --version

安装 MySQL in Windows

下载 MySQL 数据库 exe 来自 官方网站 并像往常一样安装软件 Windows。请参阅此 教程,获取分步指南

如何安装 MySQL 连接器库 Python

这是如何连接 MySQL - Python:

对于 Python 2.7 或更低版本使用 pip 安装:

pip install mysql-connector

对于 Python 3 或更高版本使用 pip3 安装如下:

pip3 install mysql-connector

测试 MySQL 数据库连接 Python

去测试 MySQL 数据库连接 Python 在这里,我们将使用预安装的 MySQL 连接器并将凭据传递到 connect() 如下所示的主机、用户名和密码等功能 Python MySQL 连接器示例。

访问语法 MySQL - Python:

import mysql.connector
	db_connection = mysql.connector.connect(
  	host="hostname",
  	user="username",
  	passwd="password"
    )

例如::

import mysql.connector
db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root"
)
print(db_connection)

输出:

<mysql.connector.connection.MySQLConnection object at 0x000002338A4C6B00>

这里输出显示连接创建成功。

在中创建数据库 MySQL 运用 Python

SQL 中创建新数据库的语法是

CREATE DATABASE "database_name"

现在我们使用数据库编程创建数据库 Python

import mysql.connector
  db_connection = mysql.connector.connect(
  host= "localhost",
  user= "root",
  passwd= "root"
  )
# creating database_cursor to perform SQL operation
db_cursor = db_connection.cursor()
# executing cursor with execute method and pass SQL query
db_cursor.execute("CREATE DATABASE my_first_db")
# get list of all databases
db_cursor.execute("SHOW DATABASES")
#print all databases
for db in db_cursor:
	print(db)

输出:

在中创建数据库 MySQL

上图显示了 我的第一个数据库 数据库已创建

在中创建表 MySQL - Python

让我们创建一个简单的表“学生”,它有两列,如下所示 MySQL 连接器 Python 例。

SQL语法:

CREATE  TABLE student (id INT, name VARCHAR(255))

计费示例:

import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
#Here creating database table as student'
db_cursor.execute("CREATE TABLE student (id INT, name VARCHAR(255))")
#Get database table'
db_cursor.execute("SHOW TABLES")
for table in db_cursor:
	print(table)

输出:

 ('student',)

创建具有主键的表

让我们创建一个 员工 表有三个不同的列。我们将在 id 具有 AUTO_INCREMENT 约束的列,如下所示 Python 具有数据库连接的项目。

SQL语法:

CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))

例如::

import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
#Here creating database table as employee with primary key
db_cursor.execute("CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))")
#Get database table
db_cursor.execute("SHOW TABLES")
for table in db_cursor:
	print(table)

输出:

('employee',) ('student',)

ALTER 表 MySQL - Python

Alter 命令用于修改 SQL 中的表结构。这里我们将修改 学生 表并添加 主键 以及 id 如下所示的字段 Python MySQL 連接器項目。

SQL语法:

ALTER TABLE student MODIFY id INT PRIMARY KEY

例如::

import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
#Here we modify existing column id
db_cursor.execute("ALTER TABLE student MODIFY id INT PRIMARY KEY")

输出:

下面你可以看到 id 列已被修改。

ALTER 表 MySQL

插页 Opera与 MySQL in Python:

让我们执行插入操作 MySQL 我们已经创建的数据库表。我们将向 STUDENT 表和 EMPLOYEE 表插入数据。

SQL语法:

INSERT INTO student (id, name) VALUES (01, "John")
INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)

例如::

import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
student_sql_query = "INSERT INTO student(id,name) VALUES(01, 'John')"
employee_sql_query = " INSERT INTO employee (id, name, salary) VALUES (01, 'John', 10000)"
#Execute cursor and pass query as well as student data
db_cursor.execute(student_sql_query)
#Execute cursor and pass query of employee and data of employee
	db_cursor.execute(employee_sql_query)
db_connection.commit()
print(db_cursor.rowcount, "Record Inserted")

输出:

 2 Record Inserted

还检查: - Python 初学者教程:学习编程基础知识 [PDF]