Python3 操作 MySQL 数据库 可以使用的模块是 pymysql
和 MySQLdb
。
安装pymysql
pip3 install pymysql
简历连接获取游标对象
import pymysql
创建连接
conn = pymysql.connect(host='172.16.153.10',
port=3306,
user='root',
passwd='123',
db='shark_db',
charset='utf8mb4')
mysql -uroot -p'password' -h host_ip databasename
获取游标对象
cursor = conn.cursor()
进行创建表
#定义 sql 语句
create_table_sql = """create table test1
(id int auto_increment primary key,
name varchar(10) not null,
age int not null)"""
#执行 sql 语句
cursor.execute(create_table_sql)
mysql>select * from mysql.user
#提交
conn.commit()
commit;
#关闭游标对象
cursor.close()
exit()
#关闭连接对象
conn.close()
exit()
插入数据
#一次插入一条数据, 并且使用变量占位符
insert_data_sql = "insert into t1(name, age) values(%s, %s);"
row = cursor.execute(insert_data_sql, ('shark', 18))
conn.commit()
cursor.close()
conn.close()
一次插入多条数据
#定义插入数据的语句
many_sql = "insert into t1 (name, age) values(%s, %s)"
#一次插入多条数据
row = cursor.executemany(many_sql, [('shark1', 18),('xiguatian', 20),('qf', 8)])
conn.commit()
cursor.close()
conn.close()
查询数据
#定义一个查询语句
query_sql = "select id,name,age from t1 where name=%s;"
#执行查询语句,并且返回得到结果的行数
row_nums = cursor.execute(query_sql, ('shark2'))
"""
获取到数据结果集具有迭代器的特性:
1. 可以通过索引取值,可以切片
2. 结果集中的数据每次取出一条就少一条
"""
#获取数据中的第一条
one_data = cursor.fetchone()
#获取数据中的指定数量的条目
many_data = cursor.fetchmany(2)
#获取数据中剩余的全部数据
all_data = cursor.fetchall()
cursor.close()
conn.close()
print(row_nums)
print(one_data)
print(many_data)
print(all_data)