📜  Python MySQL – 加入

📅  最后修改于: 2022-05-13 01:55:20.326000             🧑  作者: Mango

Python MySQL – 加入

当我们必须将 mysql 与其他编程语言一起使用时,就会使用连接器。 mysql-connector 的工作是提供对所需语言的 MySQL 驱动程序的访问。因此,它会在编程语言和 MySQL 服务器之间生成连接。

Python-MySQL-连接器

这是一个 MySQL 连接器,它允许Python访问 MySQL 驱动程序并在其编程工具中实现 SQL 查询。在这里,我们将尝试在我们的数据库上实现Join子句,并将研究生成的输出。

SQL的JOIN子句

Join 允许您在 SQL 中根据它们之间的相关列组合两个或多个表。基于这种连接应用,有三种类型的连接:

  • 内部联接
    给出匹配列产生的记录. JOIN 和 INNER JOIN 的工作方式相同。
    句法:
    SELECT column1, column2...
    FROM tablename
    JOIN tablename ON condition;
    SELECT column1, column2...
    FROM tablename
    INNER JOIN tablename ON condition;
  • 左连接
    给出表 1 中的那些记录,删除 2 的专有内容
    句法:
    SELECT column1, column2...
    FROM tablename
    LEFT JOIN tablename ON condition;
  • 正确加入
    在删除 1 的独占记录后给出表 2 中的所有记录.
    句法:
    SELECT column1, column2...
    FROM tablename
    RIGHT JOIN tablename ON condition;

以下程序将帮助您更好地理解这一点。
使用中的数据库:

python-加入-db1

python-加入-db21

程序 1:使用内连接

import mysql.connector
   
# Conencting to the database
mydb = mysql.connector.connect(
  host ='localhost',
  database ='College',
  user ='root',
)
   
cs = mydb.cursor()
  
# STUDENT and STudent are
# two different database
statement ="SELECT S.NAME from Student S JOIN \
Student on S.Roll_no = Student.Roll_no"
  
cs.execute(statement)
result_set = cs.fetchall()
  
for x in result_set:
    print(x)

输出:

python-join-1

程序 2:使用 LEFT JOIN

import mysql.connector
   
# Conencting to the database
mydb = mysql.connector.connect(
  host ='localhost',
  database ='College',
  user ='root',
)
   
cs = mydb.cursor()
  
# STUDENT and STudent are
# two different database
statement ="SELECT S.Name from STUDENT S\
 LEFT JOIN Student s ON S.Roll_no = s.Roll_no"
  
cs.execute(statement)
result_set = cs.fetchall()
  
for x in result_set:
    print(x)

输出:

python-join-2

程序 3:使用 RIGHT JOIN

import mysql.connector
   
# Conencting to the database
mydb = mysql.connector.connect(
  host ='localhost',
  database ='College',
  user ='root',
)
   
cs = mydb.cursor()
  
# STUDENT and STudent are
# two different database
statement ="SELECT S.Name from STUDENT S RIGHT \
JOIN Student s ON S.Roll_no = s.Roll_no"
  
cs.execute(statement)
result_set = cs.fetchall()
  
for x in result_set:
    print(x)

输出:

python-join-3