pycharm连接数据库步骤

1.导包pymysql

2.连接数据库

3.获取游标

4.执行sql

5.关闭游标

6.关闭数据库连接

一、查询select操作不用提交事务

# 导包
import pymysql

# 创建连接
# 1).连接到数据库(host:localhost user:root password:root database:books)
conn = pymysql.connect(host="localhost",
                       port=3306,
                       user="root",
                       password="root",
                       database="books")

# 获取游标
cursor = conn.cursor()

# 执行sql
# 2).查询图书表的数据(包括:图书id、图书名称、阅读量、评论量)
sql = "select id, title, `read`, `comment` from t_book;"
cursor.execute(sql)

# 3).获取查询结果的总记录数
print("获取的查询结果记录行数为:", cursor.rowcount)

# 4).获取查询结果的第一条数据
print(cursor.fetchone())

# 5).获取全部的查询结果
# 重置游标位置
cursor.rownumber = 0
print(cursor.fetchall())

# 关闭游标
cursor.close()

# 关闭连接
conn.close()

二、新增数据注意最好是手动设置事务提交,不要自动设置autocommit=True

# 导包
import pymysql

# 创建连接
# 1).连接到数据库(host:localhost user:root password:root database:books)
conn = pymysql.connect(host="localhost",
                       port=3306,
                       user="root",
                       password="root",
                       database="books",
                       autocommit=True)

# 获取游标
cursor = conn.cursor()

# 执行sql
# 新增一条图书数据(id:4 title:西游记 pub_date:1986-01-01 )
sql = "insert into t_book(id, title, pub_date) values(4, '西游记', '1986-01-01');"
cursor.execute(sql)

# 3).获取受影响的结果记录数
print("影响的结果记录数为:", cursor.rowcount)

# 关闭游标
cursor.close()

# 关闭连接
conn.close()

三、修改数据注意最好是手动设置事务提交,不要自动设置autocommit=True

# 导包
import pymysql

# 创建连接
conn = pymysql.connect(host="localhost",
                       port=3306,
                       user="root",
                       password="root",
                       database="books",
                       autocommit=True)

# 获取游标
cursor = conn.cursor()

# 执行sql
sql = "update t_book set title='东游记' where title = '西游记';"
cursor.execute(sql)
print(cursor.rowcount)
conn.commit()

except Exception as e:
     # 事务回滚
    conn.rollback()
    # 打印异常信息
    print(e)
finally:
    # 关闭游标
    cursor.close()
    # 关闭连接
    conn.close()
基于代码的角度:一段实现了具体业务单元功能的代码,这段代码要么都执行,要么都不执
基于业务的角度:最小的业务单元,要么都成功,要么都失败
特点【了解】 ACID
原子性:事务中的一系列操作、他是最基本的工作单元。
一致性:在数据库看到的结果要么是执行之前的结果,要么是执行之后的结果。
隔离性:事务的内部状态对其他事务是不可见的。
持久性:通过事务对数据库中数据做的改变,永久有效。
操作【理解】
自动提交(不推荐): autocommit=True
手动提交(推荐):
提交事务: conn.commit()
回滚事务: conn.rollback()

你可能感兴趣的:(pycharm,数据库,ide)