Python 使用PyMySQL连接数据库实现基本的CRUD操作

1.引入依赖库

版本:mysql 5.7

pip install PyMySQL

2.连接操作

import pymysql
 
# 打开数据库连接
db = pymysql.connect(host='192.168.10.222',
                     user='root',
                     password='root',
                     database='test')
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute()  方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")
 
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
## 查询数据库版本
print ("Database version : %s " % data)
 
# 关闭数据库连接
db.close()

3.创建表操作

import pymysql
 
# 打开数据库连接
mysql_db = pymysql.connect(host='192.168.10.222',
                     user='root',
                     password='root',
                     database='test')
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = mysql_db.cursor()

# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
 
sql = "CREATE TABLE user_test_1 (user_id varchar(10) NOT NULL,user_name varchar(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;"
# 使用 fetchone() 方法获取单条数据.
data = cursor.execute(sql)
## 查询数据库版本
print ("Database version : %s " % data)
 
# 关闭数据库连接
mysql_db.close()

4.新增操作

import pymysql
 
# 打开数据库连接
mysql_db = pymysql.connect(host='192.168.10.222',
                     user='root',
                     password='root',
                     database='test')
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = mysql_db.cursor()
sql = "INSERT INTO user_test_1 (user_id, user_name) VALUES (%s, %s)"
## 批量插入
paramArray = []
for i in range(1,50):
    paramArray.append((""+str(i)+"",""+str(i)+""))
print(paramArray)
# 使用 executemany() 插入多条数据
data = cursor.executemany(sql,paramArray)
mysql_db.commit()
## 返回执行结果
print ("insert : %s " % data)

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

5.修改操作

import pymysql
 
# 打开数据库连接
mysql_db = pymysql.connect(host='192.168.10.222',
                     user='root',
                     password='root',
                     database='test')
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = mysql_db.cursor()

sql = "UPDATE user_test_1 SET user_id='1', user_name='ceshi' WHERE (user_id='1') AND (user_name='1');"
try:
    # 使用 fetchone() 方法获取单条数据.
    data = cursor.execute(sql)
    mysql_db.commit()
except:
    mysql_db.rollback()
    
## 返回执行结果
print ("update : %s " % data)
 
# 关闭数据库连接
mysql_db.close()

6.删除操作

import pymysql
 
# 打开数据库连接
mysql_db = pymysql.connect(host='192.168.10.222',
                     user='root',
                     password='root',
                     database='test')
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = mysql_db.cursor()

sql = "delete from user_test_1 where user_id = '1';"
try:
    # 使用 fetchone() 方法获取单条数据.
    data = cursor.execute(sql)
    mysql_db.commit()
except:
    mysql_db.rollback()
    
## 返回执行结果
print ("delete : %s " % data)
 
# 关闭数据库连接
mysql_db.close()

7.查询操作

import pymysql
 
# 打开数据库连接
mysql_db = pymysql.connect(host='192.168.10.222',
                     user='root',
                     password='root',
                     database='test')
 
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = mysql_db.cursor()

sql = "select * from user_test_1"
try:
    # 使用 fetchone() 方法获取单条数据.
    cursor.execute(sql)
    data = cursor.fetchall()
except:
    mysql_db.rollback()
    
## 返回执行结果
for d in data:
    print(d)
 
# 关闭数据库连接
mysql_db.close()

猜你喜欢

转载自blog.csdn.net/u010416069/article/details/125780237