PHP前端开发

三篇文章帮你搞定怎样进行mysql数据库学习之mysql跨库查询

百变鹏仔 3小时前 #Python
文章标签 帮你

在之前我们通过《三篇文章帮你搞定怎样进行mysql数据库学习之mysql库创建表》对mysql数据库学习进行了深一层级的学习,现在我们就来进行mysql数据库学习最关键的知识点——mysql跨库查询。

    在学习mysql跨库查询前,我们要先学会数据库插入操作:

以下实例使用执行 SQL INSERT 语句向表 EMPLOYEE 插入记录:

#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )# 使用cursor()方法获取操作游标 cursor = db.cursor()# SQL 插入语句sql = """INSERT INTO EMPLOYEE(FIRST_NAME,         LAST_NAME, AGE, SEX, INCOME)         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""try:   # 执行sql语句   cursor.execute(sql)   # 提交到数据库执行   db.commit()except:   # Rollback in case there is any error   db.rollback()# 关闭数据库连接db.close()

数据库查询操作

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

1.fetchone(): 该方法获取下一个查询结果集。结果集是一个对象

2.fetchall():接收全部的返回结果行.

3.rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

实例:

查询EMPLOYEE表中salary(工资)字段大于1000的所有数据:

#!/usr/bin/python# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )# 使用cursor()方法获取操作游标 cursor = db.cursor()# SQL 查询语句sql = "SELECT * FROM EMPLOYEE        WHERE INCOME > '%d'" % (1000)try:   # 执行SQL语句   cursor.execute(sql)   # 获取所有记录列表   results = cursor.fetchall()   for row in results:      fname = row[0]      lname = row[1]      age = row[2]      sex = row[3]      income = row[4]      # 打印结果      print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" %                    (fname, lname, age, sex, income )except:   print "Error: unable to fecth data"   关闭数据库连接db.close()