python 資料庫程式設計 使用mysql
阿新 • • 發佈:2019-02-17
1連線mysql
例子:
mysql常見命令:
幫助 :help
退出:exit 和quit
顯示所有資料庫 show databases;
建立資料庫 create database 資料庫名;
使用資料庫 use 資料庫名;
刪除資料庫 drop database 資料庫名;
管理表:
show tables 表名;
create table 表名;
drop table 表名;
查看錶結構 desc 表名;
例:
新增資料
python官方資料庫api
建立資料庫連線
遊標:暫時的儲存sql語句所影響的物件
執行過程:
查詢操作
有條件查詢
import pymysql # 1建立資料庫連線 connection = pymysql.connect(host='localhost', user='zy', password='xzsnm2', database='testdb', charset='utf8' ) # 2.建立遊標物件 with connection.cursor() as cursor: # 3.執行SQl操作 sql = 'select name,userid from user where userid > %s' # %s表示一個引數 取下面執行語句中列表的值 cursor.execute(sql, [0]) # 4.提取結果集 result_set = cursor.fetchall() #提取所有的 print(result_set) # 5.關閉遊標 # cursor.close() # 6.關閉資料庫連線 connection.close()
無條件查詢
import pymysql # 1建立資料庫連線 connection = pymysql.connect(host='localhost', user='zy', password='xzsnm2', database='testdb', charset='utf8' ) # 2.建立遊標物件 with connection.cursor() as cursor: # 3.執行SQl操作 sql = 'select max(userid) from user' # %s表示一個引數 取下面執行語句中列表的值 cursor.execute(sql) # 4.提取結果集 result_set = cursor.fetchone() #取出一個 用fetchone print(result_set) # 5.關閉遊標 # cursor.close() # 6.關閉資料庫連線 connection.close()
插入操作
import pymysql
def get_max_userid(): # 得到最大id的函式
connection = pymysql.connect(host='localhost',
user='zy',
password='xzsnm2',
database='testdb',
charset='utf8'
)
with connection.cursor() as cursor:
sql = 'select max(userid) from user'
cursor.execute(sql)
result_set = cursor.fetchone() # 取出一個 用fetchone
print(result_set[0])
return result_set[0]
connection.close()
# 1建立資料庫連線
connection = pymysql.connect(host='localhost',
user='zy',
password='xzsnm2',
database='testdb',
charset='utf8'
)
try:
# 2.建立遊標物件
with connection.cursor() as cursor:
max_id = get_max_userid()
# 3.執行SQl操作
sql = 'insert into USER (userid,name) VALUE (%s,%s)' # 插入操作
id = max_id + 1
name = 'tom' + str(id)
cursor.execute(sql, [id, name])
# 4.提交資料庫事物
connection.commit()
print('插入成功')
except pymysql.DatabaseError:
# 4.出錯,回滾資料庫事物
connection.rollback()
print('插入失敗')
# 5.關閉遊標
# cursor.close()
finally:
# 6.關閉資料庫連線
connection.close()
資料更新
import pymysql
# 1建立資料庫連線
connection = pymysql.connect(host='localhost',
user='zy',
password='xzsnm2',
database='testdb',
charset='utf8'
)
try:
# 2.建立遊標物件
with connection.cursor() as cursor:
# max_id = get_max_userid()
# 3.執行SQl操作
sql = 'update user set name=%s WHERE userid=%s' # 更新
cursor.execute(sql, ['ING', 2])
# 4.提交資料庫事物
connection.commit()
print('更新成功')
except pymysql.DatabaseError:
# 4.出錯,回滾資料庫事物
connection.rollback()
print('更新失敗')
# 5.關閉遊標
# cursor.close()
finally:
# 6.關閉資料庫連線
connection.close()
刪除操作
import pymysql
# 1建立資料庫連線
connection = pymysql.connect(host='localhost',
user='zy',
password='xzsnm2',
database='testdb',
charset='utf8'
)
try:
# 2.建立遊標物件
with connection.cursor() as cursor:
# max_id = get_max_userid()
# 3.執行SQl操作
sql = 'delete from user WHERE userid=%s' # 更新
cursor.execute(sql, [5])
# 4.提交資料庫事物
connection.commit()
print('刪除成功')
except pymysql.DatabaseError:
# 4.出錯,回滾資料庫事物
connection.rollback()
print('刪除失敗')
# 5.關閉遊標
# cursor.close()
finally:
# 6.關閉資料庫連線
connection.close()