SQL(八)- python执行SQL语句

PyMySQL

  • python 3.x版本中连接MySQL数据库使用第三方库pysqhl;
  • python 2.x版本中连接MySQL数据库使用第三方库mysqldb;

连接PyMySQL

安装:

pip install pymysql

连接

(1)用python连接mysql,执行sql语句,返回mysql当前的版本信息:

import pymysql
#打开数据库连接
db = pymysql.connect('localhost','root','password','mysql')

#创建游标对象
cursor = db.cursor()

#使用execute()方法执行sql语句
cursor.execute('select version()')

#fetchone()方法获取返回对象的单条数据
data = cursor.fetchone()
print('Database version:{0}'.format(data))

#关闭数据库连接
db.close()

(2)创建表,往表中插入语句

import pymysql

#打开数据库连接
db = pymysql.connect('localhost','root','password','mysql')

#创建游标对象
cursor = db.cursor()

#sql预处理语句之创建表格
sql = """CREATE TABLE EMPLOYEE (
         NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

cursor.execute(sql)

#sql预处理语句之往表格中插入数据
sql = """INSERT INTO EMPLOYEE(NAME,
         AGE, SEX, INCOME)
         VALUES ('KING', 20, 'M', 5000)"""

cursor.execute(sql)

#提交到数据库执行,代表一个事务的结束
db.commit()

#关闭数据库
db.close()

(3)查询操作
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取全部返回对象。

import pymysql

#打开数据库连接
db = pymysql.connect('localhost','root','password','mysql')

#创建游标对象
cursor = db.cursor()

# Sql预处理语句之选择收入超过1000的记录
sql = """SELECT * FROM EMPLOYEE \
       WHERE INCOME > 1000"""

cursor.execute(sql)

# 获取所有记录列表
results = cursor.fetchall()

for i in results:
    name = i[0]
    age = i[1]
    sex = i[2]
    income = [3]
    print('name={0},age={1},sex={2},income={3}'.format(name,age,sex,income))

db.close()

参考资料

https://blog.csdn.net/baijinswpu/article/details/81533941

你可能感兴趣的:(SQL,mysql,python,sql,数据库)