python操作数据库和文件

121 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情

python操作数据库

1、目前主流的数据库有两种,

  • 一个是关系型数据库,如MySql
  • 一个是非关系型数据库 如mongodb

对与mysql和mongodb数据库,python中分别有对接的连接操作库

2、python连接mysql: 在python中,连接mysql用到的库是

pymysql

安装方法直接使用命令:

pip install pymsql

引入方式:

import pymysql

连接数据库:

db = pymysql.connect(host='127.0.0.1',
                     user='root',
                     password='123456',
                     database='bookmanager')

获取游标:

cur = db.cursor()

关闭数据库:

db.close()

使用python执行增删改查的操作的完整代码:

#!/usr/bin/python3
 
import pymysql
 
db = pymysql.connect(host='127.0.0.1',
                     user='root',
                     password='123456',
                     database='bookmanager')
#print(db)
cur = db.cursor()
#print(cur)

# SQL 插入语句
sql = """INSERT INTO BOOK(NAME,
         AUTHOR, PUBLISH, HAVE, HOT)
         VALUES ('001', 'test', '002', 100, 200)"""
# 查询
sql = "SELECT * FROM BOOK WHERE hot > 1000"

#修改
sql = "UPDATE BOOK SET name = 'ZS1000' WHERE hot > 1000"

#删除
sql = "delete FROM BOOK where  hot > 1000"

sql = """CREATE TABLE TEST (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""
#删除表
sql = "DROP TABLE IF EXISTS TEST"



try:
    cur.execute(sql)
    db.commit()
except:
    print('have exception')
    db.rollback()

db.close()

3、python连接mongodb的库是:

pymongo

安装以及引人:

pip install pymongo import pymongo

建立数据库连接:

mongo_client = pymongo.MongoClient("mongodb://192.168.1.200:30000")

指定数据库:

mongo_db = mongo_client["test"]

操作数据库 完整代码如下:

#!/usr/bin/python3
 
import pymongo

mongo_client =  pymongo.MongoClient("mongodb://192.168.1.200:30000")

print(mongo_client)

mongo_db = mongo_client["test"]

print(mongo_db)

#获取集合
collist = mongo_db.list_collection_names()

#print(collist)

coll = mongo_db['new_coll']
#print(coll)
#coll.insert_one({'name':'new_coll'})
#获取集合
#collist = mongo_db.list_collection_names()
#print(collist)

coll = mongo_db["new_coll"]

for x in coll.find():
    print(x)

#query_my = {"name":"new_coll"}
#update_q = {"$set":{"name":"new_coll_1"}}

#coll.update_one(query_my,update_q)
#print(coll.find()[0])
print('*'*25)
query_my = {"name":"new_coll"}
coll.delete_many(query_my)

for x in coll.find():
    print(x)


python操作文件

1、python文件读写的方式

  • 文件读写就是一种常见的IO操作。python封装了操作系统的底层接口,直接提供了文件读写相关的操作方法;文件读写不需要额外引入第三方库;

一个文件读写的步骤: 1、从硬盘中读取一个文件路径 2、加载文件到内存中,获取文件对象(也叫文件句柄) 3、通过文件对象对对接进行读写操作 4、最后需要关闭文件;

2、打开一个文件:

#一般写法
f = open(file,mode,encoding=‘utf8’)

主要是三个参数,文件路径,打开模式,文件编码

关于可写可读的三个模式的区别:

  • r+ 覆盖当前文件指针所在位置的字符;
  • w+ 在打开文件时就会先将文件内容清空,适合重写;
  • a+ 只能写到文件末尾,适合追加;

3、文件读取:

file = '1.txt'
file_obj = open(file,‘r’,encoding='utf-8')
content = file_obj.read()
print(content)
file_obj.close()

以只读模式打开一个文件,读取内容,关闭文件; 使用with 方式,可以写文件关闭代码;

file = '1.txt'
with open(file,‘r’,encoding='utf-8') as file_obj:
		content = file_obj.read()
print(content)

按行读取:

file = '1.txt'
with open(file,‘r’,encoding='utf-8') as file_obj:		    		content = file_obj.readline() #读取一行
print(content)
for line in file_obj.readlines(): #读取多行
   print(line) 		

4、文件的写入:

  • 写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w','w+'或者'wb'表示写文本文件或写二进制文件;
  • python提供了两个“写”方法: write() 和 writelines()。
f1 = open('1.txt', 'w')
f1.write("123")
fl.close()
--------------
f1 = open('1.txt', 'w')
f1.writelines(["1\n", "2\n", "3\n"])
fl.close()