在cutomers表中更改数据用的是"UPDATE"语句。例如,我们将最后一条 “Sally”的名字改成“Tiny”:
# 将Sally改为Tiny sql="UPDATE customers SET name=\'Tiny\' WHERE name =\'Sally\'" mycursor.execute(sql) con.commit()执行代码,回到workbench我们可以看到结果为:
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我们可以看到结果为:
3.4.4 查普通查询
普通查询数据用的是SELECT语句。例如:我们想查询customers的所有信息,并且进行打印输出:
#查询这里面所有的人: sql="SELECT * FROM customers" mycursor.execute(sql) myresult = mycursor.fetchall() # fetchall() 获取所有记录 for x in myresult: print(x)得到最终结果为:
值得注意的是: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)最终得到的结果为:
通配符查找
有时候为了进行模糊查询,可以匹配通配符,通过“LIKE”来进行查找:
百分号 (%):代表零个、一个或多个数字或字符;
下划线 (_):代表一个单一的数字或字符。
例如:查出所有名字中含有t的记录:
#%代表零个、一个或者多个数字或字符 #_代表一个单一的数字或者字符 sql = "SELECT * FROM customers WHERE name LIKE \'%t%\'" mycursor.execute(sql) myresult=mycursor.fetchall() for x in myresult: print(x)执行代码,我们得到的结果如下:
值得注意的是:但是使用Like查询时,即使我们在代码输入的是“t”,执行过程中也会将含有“T”的记录同样输出,即用LIKE匹配通配符对大小写不敏感。为了区分大小写,可以用“GLOB”进行查询。
排序