Python MySQL连接操作

Python MySQL连接操作

  1. 我们可以使用 join 语句通过使用其中的一些公共列来组合两个或多个表中的列

  2. 我们的数据库中只有一个表,让我们再创建一个包含两列 department_iddepartment_name 的表 Departments

import mysql.connector

myconn = mysql.connector.connect(host="192.168.126.20", user="root", passwd="mysql", database="PythonDB")

cur = myconn.cursor()

cur.execute("create table Departments (Dept_id int(20) primary key not null, Dept_Name varchar(20) not null)")

myconn.commit()
  • 服务器端查看输出结果

1、连接操作

  1. 正如我们创建了一个新表Departments,如上图所示。但是,我们还没有在其中插入任何值

  2. 让我们插入一些 Departments ID和部门名称,以便我们可以将其映射到 Employee 表

import mysql.connector

myconn = mysql.connector.connect(host="192.168.126.20", user="root", passwd="mysql", database="PythonDB")

cur = myconn.cursor()

sql = 'insert into Departments (Dept_id,Dept_Name) values (%d %s)'
val = [(201, "CS"), (202, "IT")]

cur.execute(sql, val)
myconn.commit()

print(cur.rowcount, "records inserted!")
  • 输出
2 records inserted!

  1. 现在,让我们创建一个python脚本,连接公共列上的两个表,即 dept_id
import mysql.connector  
    
myconn = mysql.connector.connect(host="192.168.126.20", user="root", passwd="mysql", database="PythonDB") 

cur = myconn.cursor()  
  
cur.execute("select Employee.id, Employee.name, Employee.salary, Departments.Dept_id, Departments.Dept_Name from Departments join Employee on Departments.Dept_id = Employee.Dept_id")
 
print("ID    Name    Salary    Dept_Id    Dept_Name") 
 
for row in cur:  
    print("%d    %s    %d    %d    %s"%(row[0], row[1],row[2],row[3],row[4]))  
  • 输出
ID    Name    Salary    Dept_Id    Dept_Name
102    John    25000    201    CS
103    David    25000    202    IT
104    Nick    90000    201    CS
105    Mike    28000    202    IT
posted @ 2021-05-21 11:02  廿九九  阅读(128)  评论(0)    收藏  举报