python链接mysql(hive)
一、链接步骤
①导入mysql依赖
1 import mysql.connector
②进行mysql的链接(mysql_conn 是 MySQL 连接对象,它表示与 MySQL 数据库建立的连接。)
1 mysql_conn = mysql.connector.connect( 2 host='localhost', //设置host 3 user='root', //设置用户名 4 password='********', //密码 5 database='city' //设置数据库名 6 )
1 mysql_cursor = mysql_conn.cursor() //使用cursor()
cursor的作用:cursor 是数据库连接对象(例如 MySQL 或 Hive)提供的一个接口,它用于执行 SQL 查询并处理查询结果。通过 cursor,你可以与数据库进行交互,执行 SQL 语句,获取查询结果,提交事务等操作
③编写sql语句,实现对数据库的操作(增删改查)
1 # 插入数据 2 insert_query = """ 3 INSERT INTO first (`type`, `id`, total_traffic) 4 VALUES (%s, %s, %s) 5 """
④执行sql语句
(1)执行多条语句(例子:一次性新增多条数据)
1 mysql_cursor.executemany(insert_query, data) 里面的data的样式类似于
data=[('video', '10506', 3145836), ('video', '5609', 1048643), ('video', '8175', 1048630), ('video', '11724', 1048576), ('video', '9478', 1048576), ('video', '11938', 1048576), ('video', '13109', 1048576), ('video', '2030', 552862), ('video', '7557', 524396), ('video', '13181', 524288)]
是一个数值组
(2)执行单条语句
1 mysql_cursor.execute(insert_query) 执行单条的sql语句(类似于创建某一个表,删除某一条数据)
⑤对事务进行提交(必须进行事务的提交,否则数据不会改变)
1 mysql_conn.commit() # 确保提交事务 (mysql_conn是上面进行mysql的链接时定义的链接对象)
或者出现异常后进行事务的回滚
1 mysql_conn.rollback() # 如果插入失败,回滚事务
⑥最后对cursor对象和conn对象进行释放,先释放cursor对象,再释放conn对象
1 mysql_cursor.close()
2 mysql_conn.close()
PS.如果链接hive数据库(不需要进行事务的显式提交,因为hive中的select和普通的insert都是非事务性的



事务性与非事务性

浙公网安备 33010602011771号