12.Django数据库操作(执行原生SQL)
1.使用extra方法
解释:结果集修改器,一种提供额外查询参数的机制
说明:依赖model模型
用在where后:
Book.objects.filter(publisher_id="1").extra(where=["title='python学习1'"])
用在select后
Book.objects.filter(publisher_id="1").extra(select={"count":"select count(*) from hello_book"})
2.使用raw方法
解释:执行原始sql并返回模型
说明:依赖model多用于查询
用法:
book = Book.objects.raw("select * from hello_book")
for item in book:
print(item.title)
3.执行自定义SQL
解释:利用游标执行
导入:from django.db import connection
说明:不依赖model
用法:
from django.db import connection
cursor = connection.cursor()
#插入
cursor.execute("insert into hello_author(name) values('xiaol')")
#更新
cursor.execute("update hello_author set name='xiaol' where id=1")
#删除
cursor.execute("delete from hello_author where name='xiaol'")
#查询
cursor.execute("select * from hello_author")
#返回一行
raw = cursor.fetchone()
print(raw)
# #返回所有
# cursor.fetchall()
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- SQL未能排它地锁定数据库以执行该操作解决
- 无法用排他锁锁定该数据库,以执行该操作。 (Microsoft SQL Server,错误: 5030)
- 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
- 无法用排他锁锁定该数据库,以执行该操作。 (Microsoft SQL Server,错误: 5030)
- ADO.NET下的SqlBulkCopy类执行数据库间批量复制操作
- 在myeclipse中配置DB Driver(数据库用MySql),并在myeclipse执行sql语句操作
- 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
- wordpress中使用$wpdb->get_results()执行sql语句操作数据库
- ThinkPHP实现对数据库中表的修改删除以及两种原生SQL语句的执行
- java原生sql操作数据库
- Statement批量执行sql语句,批量操作数据库,提高数据库效率
- SqlBulkCoy和普通数据库操作执行速度对比
- 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷
- 使用sql语句建立与删除链接服务器及执行数据库操作
- VC ADO 数据库操作 SQL语句执行
- Hibernate执行原生sql时,将数据库的char(n)类型转换成了character类型的解决方案
- 无法用排他锁锁定该数据库,以执行该操作。 (Microsoft SQL Server,错误: 5030)
- java中连接数据库操作的语句,获得执行sql语句对数据库进行操作
- SqlSession的获取及对数据库执行插入操作