python操作mysql

Python3 操作 MySQL 数据库 可以使用的模块是 pymysqlMySQLdb

安装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)

上一篇:面对对象编程(四)


下一篇:ES6:promise基本使用讲解