pycharm连接mysql

在Python中连接MySQL数据库,可以使用pymysql库。以下是一个简单的步骤说明:
1、安装pymysql库
在命令行中输入以下命令来安装pymysql库:

pip install pymysql
1
2、导入库并建立连接
在Python脚本中,你需要首先导入库,然后使用connect()函数建立到MySQL数据库的连接。你需要提供数据库的主机名、端口(如果非默认3306)、用户名、密码和数据库名。

import pymysql #导入库
# 连接mysql
conn = pymysql.connect(
        host='127.0.0.1',   # 数据库主机名  
        port=3306,# 数据库端口,如果是3306就填写3306  
        user='root',   # 数据库用户名  
        passwd='mysql',  # 数据库密码  
        db='ysm', # 需要连接的数据库名称  
        charset='utf8') # 数据库编码

3、执行查询
连接建立后,你就可以执行SQL查询了。以下是一个简单的例子:

cursor = conn.cursor()  
query = ("SELECT * FROM test_table")  # 你的SQL查询语句  
cursor.execute(query)   #执行SQL语句
for (column1, column2, cloumn3) in cursor:  # 遍历查询结果  
    print("{} {} {}".format(column1, column2, cloumn3))

注意,执行事务性的SQL(增删改、创建表等),需要在执行SQL后 使用 conn.commit() 和 conn.rollback()方法。
commit()方法:提交事务,将数据提交到数据库中。
rollback()方法:回退或回滚,表示事务中有执行失败的操作,这些操作必须被撤销。

4、关闭连接
在完成查询后,不要忘记关闭连接:

cursor.close()  # 关闭游标
conn.close()    #关闭数据库

完整示例:

import pymysql #导入库
import pandas as pd
# 连接mysql
conn = pymysql.connect(
        host='127.0.0.1',   # 数据库主机名  
        port=3306,# 数据库端口,如果是3306就填写3306  
        user='root',   # 数据库用户名  
        passwd='mysql',  # 数据库密码  
        db='ysm', # 需要连接的数据库名称  
        charset='utf8') # 数据库编码
cursor = conn.cursor()  #建立一个游标,相当于查询窗口

#查询数据
query = ("SELECT * FROM test  ")  # SQL查询语句  
cursor.execute(query)   #执行SQL语句
for (column1, column2, column3) in cursor:  # 遍历查询结果  
    print("{} {} {}".format(column1, column2, column3))
    
#新增数据
insert_sql = ("insert into test values ('a','b','c')")  # SQL新增语句  
cursor.execute(query)   #执行SQL语句

try:
   # 执行 SQL语句
   res = cursor.execute(insert_sql)
   # 提交事务
   conn.commit()
except:
   # 回滚
   conn.rollback()
    
#更新数据
update_sql = ("update test set aa='new' where bb='b'  ")  # SQL更新语句  
cursor.execute(query)   #执行SQL语句
try:
   # 执行 SQL语句
   res = cursor.execute(update_sql)
   # 提交事务
   conn.commit()
except:
   # 回滚
   conn.rollback()
    
#删除数据
delete_sql = ("delete from  test where aa='new' ")  # SQL删除语句  
cursor.execute(query)   #执行SQL语句
try:
   # 执行 SQL语句
   res = cursor.execute(delete_sql)
   # 提交事务
   conn.commit()
except:
   # 回滚
   conn.rollback()

cursor.close()  # 关闭游标
conn.close()    #关闭数据库
 

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