PyCharm Python3操作数据库MySQL增删改查

37 篇文章 1 订阅
12 篇文章 0 订阅

核心内容

(1)使用到的模块:PyMySQL

安装:

pip3 install pymysql

(2)连接数据库

# 连接数据库,地址:localhost,账号:root,密码:root,数据库:school,
# 编码:UTF-8
db = pymysql.connect('localhost', 'root', 'root', 'school', charset='utf8')

(3)创建游标对象

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

(4)执行 SQL语句

​cursor.execute(SQL)

​

(5)事务提交、回滚

#提交事务
db.commit()
#事务回滚
db.rollback()

(6)获取结果(返回的类型为 元组)

获取一条数据

cursor.fetchone()

获取所有数据

cursor.fetchall()

查看执行SQL语句后影响 到的行数

cursor.rowcount

(7)关闭游标和连接

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

增删改查

1.添加数据

​
import pymysql
# 连接数据库,地址:localhost,账号:root,密码:root,数据库:school,
# 编码:UTF-8
db = pymysql.connect('localhost', 'root', 'root', 'school', charset='utf8')

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

# SQL语句
SQL = ''' INSERT INTO STUDENT VALUES('2016081111','张三','男'),('2016081112','李四','女'),('2016081113','王五','男');
      '''
try:      # 插入数据
    cursor.execute(SQL)
          # 提交到数据库
    db.commit()
    print('插入成功')
except:
    # 插入失败
    db.rollback()
    print('插入失败')
# 关闭游标
cursor.close()
# 关闭数据库连接
db.close()

​

2.查询数据

import pymysql
# 连接数据库,地址:localhost,账号:root,密码:root,数据库:school,
# 编码UTF-8
db = pymysql.connect('localhost', 'root', 'root', 'school', charset='utf8')
# 创建一个游标对象
cursor = db.cursor()
# SQL语句
SQL = '''
      SELECT * FROM STUDENT;
      '''
try:
    # 查询所有的数据
    cursor.execute(SQL)
    # 查询到的条数
    print('查询到了%s条数据' % (cursor.rowcount))
    # 获取一条数据
    one = cursor.fetchone()
    print(type(one))
    print(one)
    # 获取所有数据
    for item in cursor.fetchall():
        print(item)
except:
    # 插入失败
    print('查询失败')

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

执行结果

查询到了4条数据
<class 'tuple'>
('30', 'prince', '男')
('2016081111', '张三', '男')
('2016081112', '李四', '女')
('2016081113', '王五', '男')

3.更新数据

import pymysql
# 连接数据库,地址:localhost,账号:root,密码:root,数据库:school
db = pymysql.connect('localhost', 'root', 'root', 'school', charset='utf8')
# 创建一个游标对象
cursor = db.cursor()
SNAME = '李华'
# 更新数据SQL语句
UPDATE_SQL = '''
      UPDATE STUDENT SET SNAME='%s' WHERE SNO='2016081111';
      ''' % (SNAME)
# 查询数据SQL语句
SELECT_SQL = '''
            SELECT * FROM STUDENT WHERE SNO='%s'
           ''' % ('2016081111')
try:
    # 更新数据前
    cursor.execute(SELECT_SQL)
    print('更新前:', cursor.fetchall())
    # 更新数据
    cursor.execute(UPDATE_SQL)
    # 提交到数据库
    db.commit()
    # 更新数据后
    cursor.execute(SELECT_SQL)
    print('更新后:', cursor.fetchall())
except:
    # 更新失败,回滚
    db.rollback()
    print('更新失败')

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

执行结果: 

更新前: (('2016081111', '张三'),)

更新后: (('2016081111', '李华'),)

4.删除数据 

import pymysql

#连接数据库,地址:localhost,账号:root,密码:root,数据库名:school
db=pymysql.connect('localhost','root','root','school',charset='utf8')
#创建一个游标对象 
cursor=db.cursor()

SNO='2016081111'
#删除数据SQL语句
DELETE_SQL='''
delete  from student where Sno='%s';
''' % (SNO)
#查询数据SQL语句
SELECT_SQL='''
select * from student where sno='%s'
''' % (SNO)
try:
    #数据删除前
    cursor.execute(SELECT_SQL)
    print('删除前:',cursor.fetchall())
    #删除数据
    cursor.execute(DELETE_SQL)
    #提交到数据库
    db.commit()
    #数据删除后
    cursor.execute(SELECT_SQL)
    print('删除后:',cursor.fetchall())

except:
    #删除失败,回滚
   db.rollback()
   print('删除失败')
#关闭游标
cursor.close()
#关闭数据库连接
db.close()

执行结果

删除前: (('2016081111', '张三'),)
删除后: ()

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PyCharm中实现数据库增删可以通过以下步骤完成: 1. 连接数据库。按照上述步骤连接数据库。 2. 创建一个Python文件。在PyCharm中创建一个新的Python文件,导入对应的数据库驱动程序。 3. 实现增加数据。可以使用对应的SQL语句实现增加数据。例如,在MySQL数据库中,可以使用INSERT INTO语句实现数据的增加。示例代码如下: ``` import mysql.connector # 连接数据库 mydb = mysql.connector.connect( host="localhost", user="root", password="123456", database="mydatabase" ) # 创建游标对象 mycursor = mydb.cursor() # 执行SQL语句 sql = "INSERT INTO customers (name, address) VALUES (%s, %s)" val = ("John", "Highway 21") mycursor.execute(sql, val) # 提交更 mydb.commit() # 输出受影响的行数 print(mycursor.rowcount, "record inserted.") ``` 4. 实现删除数据。可以使用对应的SQL语句实现删除数据。例如,在MySQL数据库中,可以使用DELETE语句实现数据的删除。示例代码如下: ``` import mysql.connector # 连接数据库 mydb = mysql.connector.connect( host="localhost", user="root", password="123456", database="mydatabase" ) # 创建游标对象 mycursor = mydb.cursor() # 执行SQL语句 sql = "DELETE FROM customers WHERE address = 'Mountain 21'" mycursor.execute(sql) # 提交更 mydb.commit() # 输出受影响的行数 print(mycursor.rowcount, "record(s) deleted.") ``` 5. 实现修数据。可以使用对应的SQL语句实现修数据。例如,在MySQL数据库中,可以使用UPDATE语句实现数据的修。示例代码如下: ``` import mysql.connector # 连接数据库 mydb = mysql.connector.connect( host="localhost", user="root", password="123456", database="mydatabase" ) # 创建游标对象 mycursor = mydb.cursor() # 执行SQL语句 sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'" mycursor.execute(sql) # 提交更 mydb.commit() # 输出受影响的行数 print(mycursor.rowcount, "record(s) updated.") ``` 6. 实现询数据。可以使用对应的SQL语句实现询数据。例如,在MySQL数据库中,可以使用SELECT语句实现数据的询。示例代码如下: ``` import mysql.connector # 连接数据库 mydb = mysql.connector.connect( host="localhost", user="root", password="123456", database="mydatabase" ) # 创建游标对象 mycursor = mydb.cursor() # 执行SQL语句 sql = "SELECT * FROM customers" mycursor.execute(sql) # 获取询结果 myresult = mycursor.fetchall() # 输出询结果 for x in myresult: print(x) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangchuang2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值