Python操作關係型資料庫Mysql

2021-10-08 07:47:51 字數 2727 閱讀 5737

#1. 匯入模組,py3(pymysql), py2(mysqldb)

import pymysql

#1. 建立連線

conn = pymysql.connect(host=

'localhost'

, user=

'root'

, password=

"westos"

, db=

'westos'

, charset=

'utf8'

)#2. 建立游標

cur = conn.cursor(

)#3. 對資料庫進行操作

#3-1). 建立表users

create_sql =

'create table users (name varchar(30),id int);'

cur.execute(create_sql)

#3-2). 查詢操作

select_sql =

"select * from users"

cur.execute(select_sql)

#查詢語句結果不會預設返回的,需要通過iofetchone/fetchmany/fetchall進行獲取

print

(cur.fetchall())

#3-3). 插入語句

insert_sql =

"insert into users values('李四', 20)"

cur.execute(insert_sql)

print

("插入資料成功"

)#注意: 如果時插入和刪除或者更新資料時,需要提交修改的資訊到資料庫中

conn.commit(

)#4. 關閉游標

cur.close(

)#5. 關閉連線

conn.close(

)

插入多條資料

info =

[(i,i)

for i in

range

(100

,1000)]

# 第一種方式

inser_sqli =

"insert into hello values(%d,'%s');"

for item in info:

print

('insert語句:'

,inser_sqli %item)

cur.execute(inser_sqli %item)

# 第二種方式

inser_sqli =

"insert into values('%s','%s');"

cur.executemany(inser_sqli,info)

查詢資料庫

# 可以通過cursor.scroll(position, mode="relative | absolute")方法,

# 來設定相對位置游標和絕對位置游標

# 當mode='absolute'時,代表絕對移動,

# value就代表移動的絕對位置,value=0就代表移動到位置0處,

# 就是結果集開頭,

# value=3就是移動到位置3處,也就是第4條記錄處

mode預設值為'relative',代表相對移

# 當mode='relative'時,value就是移動的長度,

# value>0向後移動(從位置0移動到位置2),

# value<0向前移動(比如從位置2移動到位置0)

sql =

'select * from hello'

# 預設不返回查詢結果集 返回的是資料記錄數

result = cur.execute(sqli)

# print(result)

# # a = cur.fetchone()

# # print(a)

# # 獲取下一條查詢結果集

# # print(cur.fetchone())

# # print(cur.fetchone())

# # 獲取指定個數查詢結果集

# # print(cur.fetchmany(4))

# info = cur.fetchall()

# print(info)

print

(cur.fetchmany(3)

)# print('移動到指標最開始的地方...')

# cur.scroll(0,'absolute')

# print(cur.fetchmany(3))

# print(cur.fetchmany(2))

# print(cur.fetchall())

cur.scroll(-2

,mode=

'relative'

)print

(cur.fetchmany(2)

)

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

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

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

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

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

關係型資料庫與非關係型資料庫的區別 非關係型資料庫的優勢 1.效能 nosql是基於鍵值對的,可以想象成表中的主鍵和值的對應關係,而且不需要經過sql層的解析,所以效能非常高。2.可擴充套件性 同樣也是因為基於鍵值對,資料之間沒有耦合性,所以非常容易水平擴充套件。關係型資料庫的優勢 1.複雜查詢 可...