流程首先创建连接connet() 创建游标cursor() 执行SQL语句 最后对连接和游标进行关闭,先关闭游标,再关闭链接
# 创建连接
conn = connect(host="localhost",port=3306,database="jing_dong",user="root",password="mysql",charset=utf8)
# 创建游标
cs1 = conn.cursor()
sql = "select * from goods;"
cs1.execute(sql)
content = cs1.fetchone()
print(content)
cs1.close()
conn.close()
从中拿出一条多条或者全部数据 fetchone()一个 fetchmany(3)拿出三个 fetchall()拿出全部
--外键
- 如何防止无效信息的插入,就是可以在插入前判断类型或者品牌名称是否存在呢? 可以使用外键来解决
- 外键约束:对数据的有效性进行验证
- 关键字: foreign key,只有 innodb数据库引擎 支持外键约 束
如何取消外键约束
- 需要先获取外键约束名称,该名称系统会自动生成,可以通过查看表创建语句来获取名称 show create table goods;
- 获取名称之后就可以根据名称来删除外键约束 alter table goods drop foreign key 外键名称
--sql注入
- sql语句的参数化,可以有效防止sql注入
- 注意:此处不同于python的字符串格式化,全部使用%s占位
- sql = "select * from goods where name = %s"
- self.cs1.execute(sql,[name])