案例:
import pymysql #导入pymysql
try:
#连接数据库
con = pymysql.connect(host='localhost',user='root',password='manager',database='student',port=3306)
print('数据库连接成功!') #连接成功,输出
except pymysql.Error as e: #捕获异常
print('数据库连接失败:'+str(e)) #连接失败,打印并打印出异常
建表sql语句
1.声明一个游标:
cur = con.cursor()
2.创建表之前先检查表是否存在,如果存在则删除
cur.execute("DROP TABLE IF EXISTS stutable")
3.编辑建表sql语句
sql = 'CREATE TABLE stutable(sname varchar(30) not null,sno int primary key auto_increment,grade int(10),major varchar(30))'
案例:
import pymysql #导入pymysql
try:
#连接数据库
con = pymysql.connect(host='localhost',user='root',password='manager',database='student',port=3306)
cur = con.cursor() #创建一个游标
cur.execute("DROP TABLE IF EXISTS stutable") #建表之前查看是否存在,如果存在则删除
sql = 'CREATE TABLE stutable(sname varchar(30) not null,sno int primary key auto_increment,grade int(10),major varchar(30))'#编辑sql语句
cur.execute(sql)
print('表创建成功!') #连接成功,输出
except pymysql.Error as e: #捕获异常
print('表创建失败:'+str(e)) #连接失败,打印并打印出异常
插入数据sql语句
sql = "insert into stutable(sno,sname,grade,major) values(20,'小王',2020,'金融')"
案例:
import pymysql #导入pymysql
try:
#连接数据库
con = pymysql.connect(host='localhost',user='root',password='manager',database='student',port=3306)
cur = con.cursor() #创建一个游标
sql = "insert into stutable(sno,sname,grade,major) values(20,'小王',2020,'金融')" #数据库插入数据语句
cur.execute(sql)
con.commit() #数据提交
print('数据插入成功!') #连接成功,输出
except pymysql.Error as e: #捕获异常
print('数据插入失败:'+str(e)) #连接失败,打印并打印出异常
查询sql语句
1.编辑sql语句
sql = "select * from stutable" #数据库插入数据语句
2.使用fetchall()方法接收全部的返回结果行
results = cur.fetchall()
3.fetchone() :
返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None
fetchall() :
返回多个元组,即返回多个记录(rows),如果没有结果 则返回 ()
案例:
import pymysql #导入pymysql
try:
#连接数据库
con = pymysql.connect(host='localhost',user='root',password='manager',database='student',port=3306)
cur = con.cursor() #创建一个游标
sql = "select * from stutable" #数据库插入数据语句
cur.execute(sql)
results = cur.fetchall() #接收返回值,fetchall() :返回多个元组,即返回多个记录(rows),如果没有结果 则返回 ()
for row in results:
xingming = row[0]
xuehao = row[1]
nianji = row[2]
zhuanye = row[3]
print('姓名:%s,学号:%d,年级:%d,专业:%s'%(xingming,xuehao,nianji,zhuanye))
except pymysql.Error as e: #捕获异常
print('数据查询失败:'+str(e)) #连接失败,打印并打印出异常
con.close() #数据库关闭
更新一条数据sql语句
sql = "update stutable set sname = %s where sname = %s" # 数据库更新数据语句
value = ('王五','张三')
案例:
import pymysql #导入pymysql
try:
#连接数据库
con = pymysql.connect(host='localhost',user='root',password='manager',database='student',port=3306)
print('数据库连接成功')
cur = con.cursor() #创建一个游标
# sql = "update stutable set sname = '张三' where sname = '小王'"#数据库更新数据语句
sql = "update stutable set sname = %s where sname = %s" # 数据库更新数据语句
value = ('王五','张三')
cur.execute(sql,value)
con.commit()
print("数据更新成功!")
except pymysql.Error as e: #捕获异常
print('数据更新失败:'+str(e)) #连接失败,打印并打印出异常
con.rollback()
con.close() #数据库关闭
删除一条数据sql语句
sql = "update stutable set sname = '张三' where sname = '小王'"
或
sql = "delete from stutable where sname=%s"
value = ('王五') #编辑更新信息
案例:
import pymysql #导入pymysql
try:
#连接数据库
con = pymysql.connect(host='localhost',user='root',password='manager',database='student',port=3306)
print('数据库连接成功')
cur = con.cursor() #创建一个游标
# sql = "update stutable set sname = '张三' where sname = '小王'"#数据库更新数据语句
sql = "delete from stutable where sname=%s" # 数据库删除数据语句
value = ('王五')
cur.execute(sql,value)
con.commit()
print("数据删除成功!")
except pymysql.Error as e: #捕获异常
print('数据删除失败:'+str(e)) #连接失败,打印并打印出异常
con.rollback()
con.close() #数据库关闭
删除表的sql语句
sql = "drop table if exists table"
案例:
import pymysql #导入pymysql
try:
#连接数据库
con = pymysql.connect(host='localhost',user='root',password='manager',database='student',port=3306)
print('数据库连接成功')
cur = con.cursor() #创建一个游标
sql = "drop table if exists stutable" # 数据库删除数据语句
cur.execute(sql)
print("表删除成功!")
except pymysql.Error as e: #捕获异常
print('表删除失败:'+str(e)) #连接失败,打印并打印出异常
con.rollback()
con.close() #数据库关闭