本次内容分7个部分进行阐述:
1.建立数据库DataBase
2.建立表格table
3.添加(插入)数据 INSERT INFO
4.字典存储
5.数据更新 UPDATA *** SET *** WHERE ***
6.删除数据库中的数据 DELETE FROM *** WHERE ***
7.查询数据库中的内容 SELECT * FROM **** WHERE CONDITION
1.建立数据库,其代码实例如下(链接电脑mysql数据库,建立游标对象,只想sql语句,关闭链接):
1 import pymysql 2 db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,) 3 cursor = db.cursor() #建立游标 4 sql = 'CREATE DATABASE spiders DEFAULT CHARACTER SET utf8' 5 cursor.execute(sql) 6 db.close()
2.建立表格table
import pymysql db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spilders') cursor = db.cursor() sql = 'CREATE TABLE IF NOT EXISTS students (id VARCHAR(255) NOT NULL ,name VARCHAR(255) NOT NULL ,age INT NOT NULL,PRIMARY KEY(id) )' cursor.execute(sql) db.close()
3.添加/(插入)数据
import pymysql id = '20120001' user = 'Bob' age = 20 db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spilders') cursor = db.cursor() sql = 'INSERT INTO students (id,name,age) VALUES (%s,%s,%s)' try: cursor.execute(sql,(id,user,age)) db.commit() except: db.rollback() db.close()
4.字典存储,也可以理解为以字典形式更新数据库里面的表格
import pymysql data = { 'id':'20120001', 'name':'Bob', 'age':20 } table = 'students' keys = ','.join(data.keys()) values = ','.join(['%s']*len(data)) db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db ='spilders') cursor = db.cursor() sql = 'INSERT INTO {table}({keys}) VALUES({values})'.format(table = table,keys = keys,values = values) try: cursor.execute(sql,tuple(','.join(data.values()))) db.commit() except: db.rollback() db.close()
5.数据更新
import pymysql db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spilders') cursor = db.cursor() sql = 'UPDATE students SET age = %s WHERE name = %s ' try: cursor.execute(sql,(25,'Bob')) db.commit() except: db.rollback() db.close()
6.删除数据
import pymysql db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spiders') cursor = db.cursor() condition = 'age'>'20' table = 'students' sql = 'DELETE FROM {table} WHERE {condition}'.format(table = table,condition = condition) try: cursor.execute(sql) db.commit() except: db.rollback() db.close()
7.查看检查数据
1 import pymysql 2 3 db = pymysql.connect(host = 'localhost',user = 'root',password = '123456',port = 3306,db = 'spiders') 4 cursor = db.cursor() 5 6 condition = 'age'>= '20' 7 sql = 'SELECT * FROM students WHERE age>=20' #.format(condition = condition) 8 9 try: 10 cursor.execute(sql) 11 print(cursor.rowcount) #输出数目 12 print(cursor.fetchone()) 13 print(cursor.fetchall()) 14 for i in cursor.fetchall(): 15 print(i) 16 except: 17 print('error')