(开开心心每一天~ ---虫瘾师)

Python Web(Django) 与SQL SERVRE的连接————Come QQ群:607021567(里面有很多开源代码和资料,并且python的游戏也有)

(一)、SQL SERVER的基本介绍(简单)————SQL 是用于访问和处理数据库的标准的计算机语言。

(二)、Django框架——Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。

1、SQL SERVER 基本结构

  table---表:字段、记录;

   view---视图:是从一个或多个基本表中定义的虚表,相当于一个窗口,通过该窗口可以看到用户所需要的数据;

  stored procedure---存储过程:存储过程的存在独立于表,用户可以运用存储过程来完善应用程序;

  trigger---触发器:用户通过使用触发器来实现各种复杂的业务规则;

  indexes---索引:用户和角色:用户是指对数据库具有一定权限的使用者,角色是一组具有相同权限的用户集合;

这里Python Web(Django)需要主要用到的是  stored procedure---存储过程 。

stored procedure---存储过程————存储过程是SQL语句和控制语句的预编译集合,保存在数据库中,可以调用执行,并且允许用户声明变量.逻辑控制语句以及其他强大的编程功能,它会使你的数据库操作事半功倍,并且在django中也会有所收益!

我会将项目中详细用到的内容都会写下来。

2、Django框架 基本结构

---->主项目文件夹

  ----->工程文件夹

    主控文件: ----->settings.py ——主要控制你的静态文件,和python自带数据库,也可使用它来连接数据库

          ----->urls.py ——web前端通过后台需要访问的地址,并且静态文件的地址也是需要写在这里的

          ----->wsgi.py ——服务器管理处

  ------>templates :模板文件夹,可以在创建一个脚本文件夹static

这里我们不需要用python创建后自带的连接数据库文件,因为这样要考虑到没有用软件来创建项目的人,他们的文件位置也可以改变,但是项目文件夹必须有一个。

连接sql server 需要自己写py文件。

----先要知道SQL SERVER的存储过程和表的实例:

首先创建SQL SERVER 的数据库和表,我就随便创建一个了

 

create table table_1
(
id ,) not null,
name ) not null,
age int not null
)

因为是随便创建的表,所以都是默认下去的!接下来,是对存储过程。

新建存储过程:

create proc  xxxxx --存储过程名字
as
select * FROM table_1
--SQL 语句
go

创建完之后,我们的存储过程就可以根据我们前端需要来修改了,比如如果我们做个后台登录,或者成绩查询,都需要上传学生id,并且每一次查询的信息可以放在存储过程的临时表内,也可以直接返回。

列:

USE [my_sp]
GO
/****** Object:  StoredProcedure [dbo].[my_sp_py]    Script Date: 05/18/2018 15:24:28 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[my_sp_py]

    @userid int,
    @page int,
    @pagesize int
as
/*
select * from table_1

*/
SET NOCOUNT ON;
declare @count int
select @count =COUNT(*) from table_1

  begin
    create table #table --临时表的结构
    (
        id bigint,
        userid int,
        ctype ),
        Reduce ),
        num int,
        Remarks nvarchar(max),
        sum int,
        uptime datetime,
    )
    declare @where_condition nvarchar(max)
    set @where_condition = ''
    )
        set @where_condition = @where_condition + ' and userid='+cast(@userid as varchar)

    )
    set @filedlist = 'id,userid,ctype,Reduce,num,Remark,sum,uptime' --需要insert 到表中的字段

    declare @sql nvarchar(MAX)

      set @sql = 'SQL 语句'
    else
      set @sql = 'SQL 语句'
    --print @sql
    exec (@sql)     --执行SQL 语句
    select * from #table --返回的结果
  end    

因为这个是页码和每一条数的控制,userid就是需要查询时候定义的id,到这里基本我们的存储过程就写完了!接下来就是python 连接SQL SERVER 并且访问数据库中的数据,你可以点击这里看简便的处理 连接方式

首先,我们需要独立创建一个py文件,创建一个类 class sql_server:

MSSQL_INFO = {"hostname":"local","username":"local","password":"","dbname":"table_1"}

另外,因为web应用中可以使用多个sql,所以我们把数据连接的文件放在一个单独的py文件内!

模块:pyodbc--数据库连接 创建sqlmb.py文件

strconn= 'DRIVER={SQL Server};SERVER='+sql_server.MSSQL_INFO.get("hostname")+';DATABASE='+sql_server.MSSQL_INFO.get("dbname")+';UID='+sql_server.MSSQL_INFO.get("username")+';PWD='+sql_server.MSSQL_INFO.get("password")
db = pyodbc.connect(strconn)
return db

数据连接就到这里已经成功一半了,接下来就是我们项目中需要去访问数据库的数据了!

使用前要import 包名(sqlmb)

mssql_conn = sqlmb.mssqlserver_conn_db()
c = mssql_conn.cursor()
c.execute("{call my_sp_py (?,?,?)}", (userid,page,pagesize))
q = c.fetchone() #fetchall所有数据
c.commit()

q就是数据库中所返回的数据,也就是select所返回的内容!好了,django与sql server的处理基本就是这些内容!下次再见!

Python web(Django)连接Sql server的更多相关文章

  1. python 使用pymssql连接sql server数据库

    python 使用pymssql连接sql server数据库   #coding=utf-8 #!/usr/bin/env python#------------------------------ ...

  2. Django连接SQL Server,安装相关扩展包及相关配置

    1.python下载 https://www.python.org/downloads/windows/ 2.根据当前windows和python的版本,下载pymssql相应的exe安装文件. ht ...

  3. python使用pyodbc连接sql server 2008

    一.PyODBC的下载地址: http://code.google.com/p/pyodbc/ 二.测试语句 import pyodbccnxn = pyodbc.connect(DRIVER='{S ...

  4. python 使用pymssql连接sql server数据库(转)

    import pymssql class MSSQL:    """    对pymssql的简单封装    pymssql库,该库到这里下载:http://www.lf ...

  5. python 连接sql server

    linux 下pymssql模块的安装 所需压缩包:pymssql-2.1.0.tar.bz2freetds-patched.tar.gz 安装: tar -xvf pymssql-2.1.0.tar ...

  6. python连接sql server数据库实现增删改查

    简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...

  7. python 连接 SQL Server 数据库

    #!/usr/bin/python # -*- coding:utf-8 -*- import pymssql import pyodbc host = '127.0.0.1:1433' user = ...

  8. php连接sql server

    这两天有个php连接sql server的项目,顺便学习学习sql server  说明: 1:PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是这个dll只是 ...

  9. Android 连接 SQL Server (jtds方式)——上

    本文将介绍开发Android程序,连接SQL Server,通过第三方包jtds的方式. 如果你有同样的需求,请跟着做一遍,博主将以最详细的方式,进行介绍. 首先说明,Java.Android连接SQ ...

随机推荐

  1. Java进阶(十八)Java实现定时器(Timer)

    Java实现定时器(Timer) 绪 在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等.对于这样的操作最方便.高效的实现方式就是使用java.util.Timer工具类.java.u ...

  2. D-BUS详细分析

    转:http://blog.csdn.net/yclzh0522/article/details/7090599 一.概述 官方网站:http://www.freedesktop.org/wiki/S ...

  3. linux服务搭建----ssh服务开启

    //ssh  服务     ssh 192.168.88.254         如何开启   service sshd restart     关掉该服务 servicesshd stop     ...

  4. hadoop 数据倾斜

    数据倾斜是指,map /reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有 ...

  5. java--加强之 jdk1.5简单新特性,枚举,注解

    转载请申明出处:http://blog.csdn.net/xmxkf/article/details/9944041 Jdk1.51新特性(静态导入,可变参数,加强for循环,自动拆装箱) 08.ja ...

  6. How tomcat works 读书笔记十二 StandardContext 下

    对重载的支持 tomcat里容器对重载功能的支持是依靠Load的(在目前就是WebLoader).当在绑定载入器的容器时 public void setContainer(Container cont ...

  7. 飞鱼相册笔记(1)----外置SD卡文件夹名称不区分大小写

    飞鱼相册笔记(1)----外置SD卡文件夹名称不区分大小写 在飞鱼相册发布的第一个测试版中,很多用户表示无法查看外置SD卡中的照片.乍一听觉得加个外置SD卡的根目录,然后在扫描所有图片的时候把这个根目 ...

  8. Django之admin的使用和源码剖析

    admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLE ...

  9. angularjs指令中的compile与link函数详解

    这篇文章主要介绍了angularjs指令中的compile与link函数详解,本文同时诉大家complie,pre-link,post-link的用法与区别等内容,需要的朋友可以参考下   通常大家在 ...

  10. 彪悍开源的分析数据库-ClickHouse

    https://zhuanlan.zhihu.com/p/22165241 今天介绍一个来自俄罗斯的凶猛彪悍的分析数据库:ClickHouse,它是今年6月开源,俄语社区为主,好酒不怕巷子深. 本文内 ...