python去操作数据库
:param host: Host where the database server is located
:param user: Username to log in as
:param password: Password to use.
:param database: Database to use, None to not use a particular one.
:param port: MySQL port to use, default is usually OK. (default: 3306)
import pymysql#导入操作mysql 数据库的库 用来链接mysql数据库
#先创建一个数据库的连接对象 db
db = pymysql.connect(host='192.168.91.128',
user='root',
passwd='123456',
database='dcs8',
port=3306)
#创建一个游标对象
# 什么叫游标?作用是什么?
# 1、游标可以用来执行sql语句
# 2、游标执行sql语句之后有返回值
cursor = db.cursor() #创建一个游标对象
# 3、执行删除操作
# del_sql = 'delete from test1 where id=1'
# cursor.execute(del_sql)
#db.commit() #自动提交删除的这个动作
# 4、删除之后执行查询的操作
sql = 'select * from test1'
cursor.execute(sql)
#执行之后通过游标对象调用fetchone方法拿到删除之后的第一行数据
# one = cursor.fetchone()
# print(one)
#通过游标对象调用fetchall拿到所有数据
all = cursor.fetchall()
print(all)
print(type(all)) #类型为元组
把上面的代码进行封装(假如我封装了一个功能,让它查所有表就查所有表,查第一行,让它删除哪一行就删除哪一行)
工具类:工具类里面有工具函数或者工具方法
import pymysql
class Db_utility(): #创建一个数据库工具类
def __init__(self):
self.host = '192.168.91.128'
self.user = 'root'
self.password = '123456'
self.database = 'dcs8'
self.port = 3306
def get_connection(self):
#封装了一个获取MySql数据库连接对象
db = pymysql.connect(host=self.host,user=self.user,password=self.password,database=self.database,port=self.port)
return db
def select_one(self,sql):
db = self.get_connection() #获取上一个方法返回db对象
cursor = db.cursor() #拿到数据库的游标
cursor.execute(sql)
db.commit()
one = cursor.fetchone()
return one #return的意思就是把执行的结果返回到调用的地方
封装一个删除表中第一行数据并且返回剩余数据的工具方法
def del_first(self,del_sql,select_sql):
db = self.get_connection()
cursor = db .cursor()
cursor.execute(del_sql)
db.commit()
cursor.execute(select_sql)
all = cursor.fetchall()
return all
def inser(self,ins_sql):
db = self.get_connection()
cursor =db.cursor()
cursor.execute(ins_sql)
db.commit()
if __name__=='__main__':
d = Db_utility()
# print(d.select_one('select * from test1'))
# print(d.del_first('delete from test1 limit 1','select * from test1'))
##往表里插入一条数据
# d.inser('insert into test1 values(1,"xiaoyi")')
## 往表里插入多条数据
aa=7
for i in range(5):
sql = 'insert into test1 values'+'('+str(aa)+',"xiaoyi"'+')'
d.inser(sql)
aa+=1
selenium:from selenium import webdriver #从selenium库中导入webdriver包#创建一个谷歌浏览器的对象,drvier就是对象 ,对象名是自定义的
driver = webdriver.Chrome() #Chrome() 是一个匿名对象
#用谷歌浏览器打开百度首页
driver.get('https://www.baidu.com/')
# 浏览器最大化
driver.maximize_window()
#selenium中的九大元素定位方法
#1、id定位
driver.find_element_by_id('kw').send_keys('NBA')
# #2、name定位
driver.find_element_by_name('wd').send_keys('勒布朗')
# #3、class定位
driver.find_element_by_class_name('s_ipt').send_keys('詹姆斯')
#4、link_text定位 精准匹配
driver.find_element_by_link_text('hao123').click()
#5、partial_link_text定位 模糊匹配
driver.find_element_by_partial_link_text('地').click()
|
|