Python MySQL连接操作
Python MySQL连接操作
-
我们可以使用 join 语句通过使用其中的一些公共列来组合两个或多个表中的列
-
我们的数据库中只有一个表,让我们再创建一个包含两列 department_id 和 department_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、连接操作
-
正如我们创建了一个新表Departments,如上图所示。但是,我们还没有在其中插入任何值
-
让我们插入一些 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!

- 现在,让我们创建一个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

浙公网安备 33010602011771号