PyMySQL使用指南

0. 引用P有MySQL

import mysql

1. 創建connection和cursor對象

connection = pymysql.connect(host='localhost',
                             user='username',
                             password='passwd',
                             db='dbname')

cursor = connection.cursor()

2. 創建數據庫表

create_sql = """
create table if not exists blogs(
    id int not null primary key auto_increment,
    blog_name varchar(50) not null,
    blog_content varchar(1000) not null,
    blog_date date not null,
    key blog_name(blog_name),
    key blog_date(blog_date)
)
"""

print(create_sql)
cursor.execute(create_sql)
connection.commit()

3. 插入數據

insert_template_sql = "insert into blogs(blog_name, blog_content, blog_date) values(%s, %s, %s)"

data_list = [
    ('Blog One', 'this is content 1', '2018-10-19'),
    ('Blog Two', 'this is content 2', '2017-10-19'),
]

for data in data_list:
    cursor.execute(insert_template_sql, data)

connection.commit()

4. 查詢數據

select_sql = "select blog_name, blog_content, blog_date from blogs where blog_name=%s"

cursor.execute(select_sql, ('Blog One'))

rows = cursor.fetchall()
print(rows)

select_sql = 'select * from blogs where blog_date < %s order by blog_date desc '
cursor.execute(select_sql, ('2018-01-01'))
rows = cursor.fetchall()
print(rows)

5. 更改數據

update_sql = "update blogs set blog_name=%s where blog_name=%s"
res = cursor.execute(update_sql, ('Blog Title One', 'Blog One'))
print(res)
connection.commit()

6. 刪除數據

delete_sql = "delete from blogs where blog_name=%s"
res = cursor.execute(delete_sql, ('Blog Two'))
print(res)
connection.commit()

res返回1表示修改成功,0修改失敗。因爲pymysql默認不是自動提交,需要在修改數據後commit以下。

7.關閉連接

cursor.close()
connection.close()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章