1 from django.db import connection 2 3 query="INSERT INTO foo VALUES (%s)" 4 cursor=connection.cursor() 5 cursor.execute(query,["bar"]) 6 #cursor.execute(query,("bar",))
上面两种执行sql语句的格式都是正确的,注意两个的区别
row = cursor.fetchone()获取一条记录,返回的tuple
为单独一行结果集,对其迭代相当于在遍历一行中的各列
一般只在处理确定只有一行数据的情景下用
rows= cursor.fetchall()获取所有记录
1 class Person(models.Model): 2 first_name = models.CharField(...) 3 last_name = models.CharField(...) 4 birth_date = models.DateField(...) 5 6 for p in Person.objects.raw('SELECT * FROM myapp_person'): 7 print(p)
Manager.raw(raw_query, params=None, translations=None) 执行sql语句,返回一个django.db.models.query.RawQuerySet实例
推荐:疯狂的蚂蚁python操作数据库实例教程