用Python解释并展示MySQL中UNION的使用?
UNION语句用于组合两个SELECT查询的结果而不重复重复值。如果两个SELECT查询都返回同一行,则它只列出一次。
要在两个选择语句上执行UNION,
返回的列数必须相同
列的数据类型必须相同
两个select语句必须以相同的顺序返回列。
语法
SELECT column_name FROM table1 UNION SELECT column_name FROM table2
在python中使用MySQL执行两个选择查询的联合的步骤
导入MySQL连接器
导入MySQL连接器
使用连接器建立连接connect()
使用cursor()方法创建游标对象
使用适当的mysql语句创建查询
使用execute()方法执行SQL查询
关闭连接
让有两个表,“学生”和“部门”如下-
学生
+----------+--------------+-----------+ | id | Student_name | Dept_id | +----------+--------------+-----------+ | 1 | Rahul | 120 | | 2 | Rohit | 121 | | 3 | Kirat | 125 | | 4 | Inder | 123 | +----------+--------------+-----------+
部
+----------+-----------------+ | Dept_id | Department_name | +----------+-----------------+ | 120 | CSE | | 121 | Mathematics | | 122 | Physics | +----------+-----------------+
我们将从两个表中选择Dept_id并对结果执行联合。这将返回两个表中存在的所有不同的dept_id。
示例
import mysql.connector db=mysql.connector.connect(host="your host", user="your username", password="your password",database="database_name") cursor=db.cursor() query="SELECT Dept_id FROM Students UNION SELECT Dept_id FROM Department" cursor.execute(query) rows=cursor.fetchall() for row in rows: print(row) db.close()输出结果
120 121 125 123 122