將爬取的資料以關係型資料庫的方式進行儲存

2021-09-10 01:46:08 字數 2025 閱讀 2054

首先連線資料庫然後建立乙個資料庫:

import pymysql

db = pymysql.connect(host='localhost',user='root',password='123456',port=3306)#宣告乙個mysql連線物件

#host是資料庫的公網ip

cursor = db.cursor()#呼叫cursor()方法獲得mysql的操作游標,可用於執行sql語句

cursor.execute('select version()')#execute()方法用於執行sql語句,這裡是獲得當前的版本

data = cursor.fetchone()#獲取第一條資料

print('database version:',data)

cursor.execute("create database spiders default character set utf8")#建立乙個資料庫spiders並將其編碼格式設定為utf-8

db.close()

然後建立資料表:

import pymysql

db = pymysql.connect(host='localhost',user='root',password='123456',port=3306,db='spiders')#宣告乙個mysql連線物件

cursor = db.cursor()

sql = 'create table if not exists students (id varchar(255) not null,name varchar(255) not null,age int not null,primary key (id))'

#建立乙個名為students的資料表

cursor.execute(sql)

db.close()

接著插入資料:

import pymysql

id = '201612052544'

user = 'jone'

age = 21

db = pymysql.connect(host='localhost',user='root',password='123456',port=3306,db='spiders')

cursor = db.cursor()

sql = 'insert into students(id,name,age) values(%s,%s,%s)'#用格式化字元%s來表示要插入的資料

try:

cursor.execute(sql,(id,user,age))

db.commit()#執行db物件的commit()方法實現資料到插入

except:

db.rollback()#如果執行失敗就執行資料回滾,相當於什麼都沒有發生過

db.close()

然後是查詢資料:

import pymysql

db = pymysql.connect(host='localhost',user='root',password='123456',port=3306,db='spiders')

cursor = db.cursor()

sql = 'select * from students where age >= 20'

try:

cursor.execute(sql)

print('count:',cursor.rowcount)

one = cursor.fetchone()

print('one',one)

results = cursor.fetchall()

print('results:',results)

print('results type:',type(results))

for row in results:

print(row)

except:

print('errror')

db.close()

關係型資料庫 非關係型資料庫

關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...

關係型資料庫 非關係型資料庫

2019 02 25 20 38 36 關係型資料庫和非關係型資料的比較 一 關係型資料庫 關係型資料庫最典型的資料結構是表,由二維表及其之間的聯絡所組成的乙個資料組織 優點 1 易於維護 都是使用表結構,格式一致 2 使用方便 sql語言通用,可用於複雜查詢 3 複雜操作 支援sql,可用於乙個表...

關係型資料庫與非關係型資料庫的區別?

當前主流的關係型資料庫有oracle db2 microsoft sql server microsoft access mysql等。非關係型資料庫有 nosql cloudant。nosql和關係型資料庫比較?優點 1 成本 nosql資料庫簡單易部署,基本都是開源軟體,不需要像使用oracle...