PyMySQL使用マニュアル
4922 ワード
0.参照PにMySQLがある
1.connectionとcursorオブジェクトの作成
2.データベース表の作成
3.データの挿入
4.クエリーデータ
5.データの変更
6.データの削除
resは1を返して修正に成功し,0修正に失敗した.pymysqlのデフォルトは自動コミットではないので、データを変更した後にcommit以下にする必要があります.
7.接続を閉じる
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()