前几天已经学习了一些SQL相关知识,今天将继续学习,并写下总结
知识总结:
一、关于SQL的一些细节
1、create_sql是命令文本,cursor.execute(create_sql)才是执行命令的动作。没有这个动作,所有关于创建表的想法都只是文本,不会对数 据库产生任何实际影响,后续操作也会因表不存在而失败。
2、insert_sql1 = "INSERT INTO student (name, age, score) VALUES (?, ?, ?);" 这句话的意思是:准备向student表的name、age、score这三列插入数据,具体的值暂时用 ?占位,等执行时再传入实际内容。它就像一个数据插入模板,定义了要插入哪些列,留出位置让我们填入具体数据,既规范又安全。 cursor.execute(insert_sql1, ("张三", 18, 92.5))是真正的赋值。第二个参数是采用参数元组的方式,避免SQL注入,更加安全。
二、出现的错误
1、插入数据时出错,代码多次执行时,重复插入了相同的 “王五” 数据,且删除操作没有清除这些重复数据。
解决办法:
方法 1:插入前先删除旧数据(适合测试场景)
方法 2:用 UNIQUE约束 防止重复插入(适合正式场景)
三、心得感悟:虽然现在AI很智慧,但是我认为要想变得更懂代码,亲自敲一些代码还是很有必要的。婆婆今天病情加重了,很难过。