python中的mysql:个人学习
1创建数据库
def creat_databse():
db = pymysql.connect(host = 'localhost',user = 'root',password ='yourpassword',port = 3306)
cursor = db.cursor()
#创建一个名字为musicspiders的数据库,并且为utf8编码格式
cursor.execute("CREATE DATABASE musicspiders DEFAULT CHARACTER SET utf8 ")
db.close()
2创建一个表
def creat_table():
db = pymysql.connect(host = 'localhost',user = 'root',password = 'yourpassword',port = 3306,db = 'musicspiders')#链接数据库
cursor = db.cursor() #利用cursor()方法获得MySQL操作游标
#在数据库中创建一个叫music的表,并且有singer,music_name,id三列
sql = "CREATE TABLE IF NOT EXISTS musics (singer VARCHAR(255) NOT NULL,music_name VARCHAR(255) NOT NULL,id VARCHAR(255) NOT NULL )"
cursor.execute(sql) #执行语句
db.close()
3插入数据
def insert_music(singer,music_name,music_id):
#以字典的形式传入数据,方便以后对数据的更改
data = {'singer':singer,
'music_name':music_name,
'id':music_id
}
table = 'musics'
#获得字典中的键名并且以逗号隔开
keys = ','.join(data.keys())
#类似于上面创建['%s','%s','%s']
values = ','.join(['%s']*len(data))
sql = 'insert into {table}({keys}) VALUES ({values})'.format(table=table,keys=keys,values=values)
try:
if cursor.execute(sql,tuple(data.values())):
print('Yes')
#到此步,数据才完成插入。
db.commit()
except:
print('No')
db.rollback()
db.close()