python操作mysql

1.配置mysql上的权限

image.png

2.创建你要操作连接的库文件

create database shark_db default CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

3.在python的机子上进行连接

import pymysql
----------------------------------------------  
# 创建连接
conn = pymysql.connect(host='172.16.153.10',
                       port=3306,
                       user='root',
                       passwd='123', 
                       db='shark_db',
                       charset='utf8mb4')
------------------------------------------------
# 获取游标对象
cursor = conn.cursor()
------------------------------------------------
# 定义 sql 语句(创建表)
create_table_sql = """create table t1
 (id int auto_increment primary key, 
  name varchar(10) not null, 
  age int not null)"""

# 执行 sql 语句
cursor.execute(create_table_sql)
--------------------------------------------------  
#一次插入一条数据, 并且使用变量占位符
insert_data_sql = "insert into t1(name, age) values(%s, %s);"
row = cursor.execute(insert_data_sql, ('shark', 18))

------------------------------------------------
#定义插入数据的语句
many_sql = "insert into t1 (name, age) values(%s, %s)"

#一次插入多条数据
row = cursor.executemany(many_sql, [('shark1', 18),('xiguatian', 20),('qf', 8)])
------------------------------------------------
#查询数据
query_sql = "select id,name,age from t1;"

row_nums = cursor.execute(query_sql)

print("查询到了{}行数据".format(row_nums))


# 获取数据中的第一条
one_data = cursor.fetchone()
print(f"数据结果集中的第一条{one_data}")
# 获取数据中的指定数量的条目
many_data = cursor.fetchmany(2)
print(f"数据结果集中的第 2 行和第 3 行数据{many_data}")
# 获取数据中剩余的全部数据
all_data = cursor.fetchall()
print(f"结果集中剩余所有数据{all_data}")
-----------------------------------------------
# 提交更改
conn.commit()

# 关闭游标对象
cursor.close()

# 关闭连接对象
conn.close()

如何改变获取到的数据的类型

image.png
  • 获取到数据结果集具有迭代器的特性:
  1. 可以通过索引取值,可以切片
  2. 结果集中的数据每次取出一条就少一条
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容