Python与MySQL:连接,创建数据库,表,插入[示例]

为了使用Python使用MySQL,您必须具备一些SQL知识

在潜水之前,让我们明白

什么是MySQL?

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

如何安装MySQL

在Linux / Unix中安装MySQL:

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

在终端使用以下命令

rpm -i <Package_name>
示例rpm -i MySQL-5.0.9.0.i386.rpm

检查Linux

mysql --version

在Windows中安装MySQL

官方网站下载MySQL数据库exe 并像往常一样在Windows中正常安装软件。

安装Python的MySQL连接器库

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

pip install mysql-connector

对于Python 3或更高版本,使用pip3安装为:

pip3安装mysql-connector 

使用Python测试MySQL数据库连接

为了在这里测试数据库连接,我们使用预先安装的MySQL连接器并将凭证传递给connect()函数,如主机,用户名和密码。

使用Python访问MySQL的语法:

	import mysql.connector
	db_connection = mysql.connector.connect(
  	主机=“主机名”,
  	用户=“用户名”,
  	的passwd = “密码”

例,

import mysql.connector
db_connection = mysql.connector.connect(
  HOST = “本地主机”,
  用户=“根”,
  的passwd = “根”
打印(db_connection)

输出:

<mysql.connector.connection.MySQLConnection对象位于0x000002338A4C6B00>

此处输出显示已成功创建的连接。

使用Python在MySQL中创建数据库

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

CREATE DATABASE“database_name”

现在我们在MySQL中使用Python创建数据库

	import mysql.connector
	db_connection = mysql.connector.connect(
  host =“localhost”,
  user =“root”,
  passwd =“root”
#create database_cursor来执行SQL操作
db_cursor = db_connection.cursor()
#使用execute方法执行游标并传递SQL查询
db_cursor.execute(“CREATE DATABASE my_first_db”)
#获取所有数据库的列表
db_cursor.execute(“SHOW DATABASES”)
#print所有数据库
对于db_cursor中的db:
	打印(DB)

输出:

上图显示了my_first_db数据库的创建

使用Python在MySQL中创建表

让我们创建一个简单的表“学生”,它有两列。

SQL语法:

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

例:

	import mysql.connector
	db_connection = mysql.connector.connect(
  HOST = “本地主机”,
  用户=“根”,
  的passwd = “根”,
  数据库= “my_first_db”
db_cursor = db_connection.cursor()
#Here创建数据库表作为学生'
db_cursor.execute(“CREATE TABLE student(id INT,name VARCHAR(255))”)
#Get数据库表'
db_cursor.execute(“SHOW TABLES”)
对于db_cursor中的表:
	打印(表)

输出:

 ('学生',) 

使用主键创建表

让我们创建一个包含三个不同列的Employee表。我们将在id列中添加一个带有AUTO_INCREMENT约束的主键

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 = “本地主机”,
  用户=“根”,
  的passwd = “根”,
  数据库= “my_first_db”
db_cursor = db_connection.cursor()
'''这里创建数据库表作为具有主键的员工'''
db_cursor.execute(“CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255),salary INT(6))”)
'''获取数据库表'''
db_cursor.execute(“SHOW TABLES”)
对于db_cursor中的表:
	打印(表)	

输出:

('员工')('学生')

MySQL中的ALTER表与Python

Alter命令用于修改SQL中的表结构。在这里,我们将更改Student表并向id字段添加主键。

SQL语法,

ALTER TABLE学生MODIFY id INT PRIMARY KEY

例,

	import mysql.connector
	db_connection = mysql.connector.connect(
  HOST = “本地主机”,
  用户=“根”,
  的passwd = “根”,
  数据库= “my_first_db”
db_cursor = db_connection.cursor()
'''我们在这里修改现有列id'''
db_cursor.execute(“ALTER TABLE student MODIFY id INT PRIMARY KEY”)

输出:

在下面,您可以看到修改了id列。

在Python中使用MySQL插入操作:

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

SQL语法,

INSERT INTO学生(id,name)VALUES(01,“John”)
INSERT INTO员工(身份证,姓名,工资)VALUES(01,“John”,10000)

例,

	import mysql.connector
	db_connection = mysql.connector.connect(
  HOST = “本地主机”,
  用户=“根”,
  的passwd = “根”,
  数据库= “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并传递查询以及学生数据
db_cursor.execute(student_sql_query)
#Execute cursor并传递员工和员工数据的查询
	db_cursor.execute(employee_sql_query)
db_connection.commit()
print(db_cursor.rowcount,“Record Inserted”)

输出:

 2记录已插入 

 

喜欢这篇文章吗?按个赞吧,不会令你失望!

发表评论