正文
经过以上操作之后,我们打开MySQL就会发现成功创建了spiders数据库。
比方说我们要创建一个叫
“sample”
的数据表,里面有三个变量:id,name,age。
db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='spiders')
cursor = db.cursor()
sql = 'CREATE TABLE IF NOT EXISTS sample (id VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, age INT NOT NULL, PRIMARY KEY (id))'
cursor.execute(sql)
db.close()
值得注意的是,创建新表的时候必须指定数据库,所以在连接的时候必须再额外指定一个参数
db='spiders'
。打开MySQL,我们发现sample表确实被成功创建了:
假设我们现在有这样一条数据
data
,需要将它保存到sample这个表中
data=['0001','Amy',24]
sql = 'replace into sample(id,name,age) values(%s,%s,%s) '
cursor.execute(sql,data)
db.commit()
db.close()
注意:%s表示的是占位符,包含字符串、数字或者其他类型,%s不能加引号。
sql = 'replace into sample(id,name,age) values(%s,%s,%s)'
所起到的作用等价于
sql= "replace into sample(id,name,age) values('0001','Amy',24)"
另外,插入、更新和删除操作都是对数据库进行更改的操作,而更改操作都必须为一个事务,所以这些操作的标准写法就是:
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
data=['0001','Amy',24]
sql = 'insert into sample(id,name,age) values(%s,%s,%s) '
try:
cursor.execute(sql,data)
db.commit()
print('成功'