10分钟教你Python+MySQL数据库操作 (4)

image

3.4.2 改

在cutomers表中更改数据用的是"UPDATE"语句。例如,我们将最后一条 “Sally”的名字改成“Tiny”:

# 将Sally改为Tiny   sql="UPDATE customers SET name=\'Tiny\' WHERE name =\'Sally\'"   mycursor.execute(sql)   con.commit()  

执行代码,回到workbench我们可以看到结果为:

10分钟教你Python+MySQL数据库操作

3.4.3 删

关于删,我们在上文提到了删除表格,用的是“DROP TABLE ”语句,“IF EXISTS”关键字是用于判断表是否存在,只有在存在的情况才删除当我们要删除一条数据记录时候,用到的语句是“DELETE FROM”语句。例如:我们想在customers这个表格当中,删除name为Tiny的这一条记录:

#删除名字为Tiny的记录   sql="DELETE FROM  customers WHERE name=\'Tiny\'"   mycursor.execute(sql)   con.commit()  

执行代码,回到workbench我们可以看到结果为:

10分钟教你Python+MySQL数据库操作

3.4.4 查

普通查询

普通查询数据用的是SELECT语句。例如:我们想查询customers的所有信息,并且进行打印输出:

#查询这里面所有的人:   sql="SELECT * FROM customers"   mycursor.execute(sql)   myresult = mycursor.fetchall()     # fetchall() 获取所有记录   for x in myresult:     print(x)  

得到最终结果为:

10分钟教你Python+MySQL数据库操作

值得注意的是:fetchall()表示的是获得所有记录;fetchone()表示只获取一条数据;fetchmany(size=3)表示获取三条记录;

限定条件查找

为了获取指定条件下的查找结果,我们可以使用where语句。例如:我们想在查询customers的所有信息基础上,输出年龄大于30岁的消费者的信息:

sql="SELECT * FROM customers WHERE age > 30"   mycursor.execute(sql)   myresult = mycursor.fetchall()     # fetchall() 获取所有记录   for x in myresult:     print(x)  

最终得到的结果为:

10分钟教你Python+MySQL数据库操作

通配符查找

有时候为了进行模糊查询,可以匹配通配符,通过“LIKE”来进行查找:

百分号 (%):代表零个、一个或多个数字或字符;

下划线 (_):代表一个单一的数字或字符。

例如:查出所有名字中含有t的记录:

#%代表零个、一个或者多个数字或字符   #_代表一个单一的数字或者字符   sql = "SELECT * FROM customers WHERE name LIKE \'%t%\'"   mycursor.execute(sql)   myresult=mycursor.fetchall()   for x in myresult:       print(x)  

执行代码,我们得到的结果如下:

10分钟教你Python+MySQL数据库操作

值得注意的是:但是使用Like查询时,即使我们在代码输入的是“t”,执行过程中也会将含有“T”的记录同样输出,即用LIKE匹配通配符对大小写不敏感。为了区分大小写,可以用“GLOB”进行查询。

排序

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgjppy.html