wins系統flask綁定mysql_flask如何連接mssql,網上大多是sqlite和mysql教程?

這個居然也冒出來,刨墳了。

我們不喜歡寫原生SQL語句,那個寫著費勁,日常開發時候,我們怎么CRUD數據庫呢?一般使用ORM,對象關系映射(英語:Object Relational Mapping,簡稱ORM)。

主力使用的是python語言,那么python中最好用的ORM就是sqlalchemy。

一:連接參數

sqlalchemy使用 create_engine() 函數從URL生成一個數據庫鏈接對象,URL遵循 RFC-1738標準。我也不懂。大概就是要有用戶名,密碼,地址,端口,數據庫名,還有一些可選參數。一個標準的鏈接URL是這樣的:

dialect+driver://username:password@host:port/database

dialect,是數據庫類型,大概包括:sqlite, mysql, postgresql, oracle, or mssql.

driver,是使用的數據庫API,驅動,連接包,隨便叫什么吧。

username,用戶名

password,密碼

host,網絡地址,可以用ip,域名,計算機名,當然是你能訪問到的。

port,數據庫端口。

databas,數據庫名。

其實這些也就dialect和dirver需要解釋。

二:連接sqlite3

1,驅動

sqlite3是個文件數據庫,不需要什么驅動,或者說python內置了驅動。

2,標準連接參數

# sqlite:///

沒有hostname

3,各種鏈接參數

# 相對路徑,就是這個python文件同目錄下foo.db

engine = create_engine('sqlite:///foo.db')

#絕對路徑

#Unix/Mac下用四條表示

engine = create_engine('sqlite:absolute/path/to/foo.db')

#Windows下用三條///加盤符路徑用兩條\\

engine = create_engine('sqlite:///C:\\path\\to\\foo.db')

#Windows 也可以這么用三條///加盤符路徑用一條\

engine = create_engine(r'sqlite:///C:\path\to\foo.db')

#數據庫建在內存里。URI保持為空即可

engine = create_engine('sqlite://')

三:連接mysql(mariadb)

sqlalchemy默認使用mysql-python作為鏈接驅動,既default模式

選哪種驅動,就裝哪個包。

1,default默認鏈接方式

engine = create_engine('mysql://scott:tiger@localhost/foo')

2,# mysql-python,聲明使用mysql-python驅動

engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')

3,MySQL-connector-python 聲明使用MySQL-connector-python驅動(推薦使用)

engine = create_engine('mysql+mysqlconnector://scott:tiger@localhost/foo')

4,OurSQL 聲明使用OurSQL驅動

engine = create_engine('mysql+oursql://scott:tiger@localhost/foo')

四:連接Microsoft SQL Server

sqlalchemy默認使用 pyodbc作為鏈接驅動。

1,pyodbc

engine = create_engine('mssql+pyodbc://scott:tiger@mydsn')

2,pymssql

engine = create_engine('mssql+pymssql://scott:tiger@hostname:port/dbname')

五:連接PostgreSQL

PostgreSQL默認使用 psycopg2作為鏈接驅動,既default模式

1, default

engine = create_engine('postgresql://scott:tiger@localhost/mydatabase')

2,psycopg2

engine = create_engine('postgresql+psycopg2://scott:tiger@localhost/mydatabase')

3, pg8000

engine = create_engine('postgresql+pg8000://scott:tiger@localhost/mydatabase')

六:連接Oracle

Oracle可能只有 cx_oracle一個驅動包,既default模式和聲明模式一樣。

1,default

engine = create_engine('oracle://scott:tiger@127.0.0.1:1521/sidname')

2,cx_oracle

engine = create_engine('oracle+cx_oracle://scott:tiger@tnsname')

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454870.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454870.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454870.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

hdu 6086 -- Rikka with String(AC自動機 + 狀壓DP)

題目鏈接 Problem DescriptionAs we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them:Yuta has n 01 strings si, and he wants to know the number of 01 antisymmetric strings …

課堂動手動腦問題

對于隨機數,java通過Math.random()來實現,比如要得到一個隨機數我們可以int a; a(int)Math.random();但對于隨機數,它是從0到1之間的數,所以必須通過int把它轉為整數&…

GNU/Linux下有多少是GNU的?

導讀:一個葡萄牙的學生寫了一篇文章 《How much GNU is there in GNU/Linux?》由酷殼網的陳皓整理編譯為《GNU/Linux下有多少是GNU的》。這篇文章主要分布了今年4月份的Ubuntu Natty的Linux分發包。其主要是用代碼行來做的分析,用兩個餅圖對比分析。 內…

便攜式三星mysql_JDBC鏈接mysql - 三星藍

package chp07;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;public classJDBC_Test {//創建靜態全局變量staticConnection conn;staticStatement st;public static voidmain(Stri…

C++ 類、對象、class

一、對象初始化 1.不能在類聲明中對數據成員初始化,因為類只是一個抽象類型,不占存儲空間,無處容納數據。 2.若某類的數據成員都是public,則可以像結構體一樣初始化,如 Time t{12,21,04}; 若數據成員有priv…

Unity 富文本

參考鏈接&#xff1a;http://www.ceeger.com/Manual/StyledText.html 首先要說的是不僅僅ugui的text組件支持富文本&#xff0c;Debug.Log也是支持的 Debug.Log("<color#ffff00ff><b>愛生活</b></color> <color#00ffffff><b> 愛海瀾&…

Web項目替換jar包中的文件的方法

經常遇到這樣的問題&#xff0c;需要修改jar包中的方法。應該如何做&#xff1f; 1、有些很人性化的框架jar包&#xff0c;比如SpringSecurity&#xff0c;可以修改配置文件指定一個新建的類&#xff0c;讓類實現Jar包中的對應的接口就好了。 2、大部分的jar包都不會有這么方便…

程序員技術練級攻略

導讀&#xff1a;本文是由陳皓和他的一位朋友Mailper合作完成&#xff0c;原名叫《Build Your Programming Technical Skills》&#xff0c;本文分享了Mailper和作者個人的學習經歷。每個程序員都希望自己能順利的升級到高的層次&#xff0c;您不妨按照下面的方法去做。 前言 你…

Linux shell 之 提取文件名和目錄名的一些方法

很多時候在使用Linux的shell時&#xff0c;我們都需要對文件名或目錄名進行處理&#xff0c;通常的操作是由路徑中提取出文件名&#xff0c;從路徑中提取出目錄名&#xff0c;提取文件后綴名等等。例如&#xff0c;從路徑/dir1/dir2/file.txt中提取也文件名file.txt&#xff0c…

bzoj 2752: [HAOI2012]高速公路(road)

Description Y901高速公路是一條重要的交通紐帶&#xff0c;政府部門建設初期的投入以及使用期間的養護費用都不低&#xff0c;因此政府在這條高速公路上設立了許多收費站。Y901高速公路是一條由N-1段路以及N個收費站組成的東西向的鏈&#xff0c;我們按照由西向東的順序將收費…

搭建DNS主、從服務實驗

此次我們的口號是&#xff1a;簡單、有趣上手DNS服務博主是一個言出必行de好人&#xff0c;&#xff08;正經臉&#xff09;上次轉載了有關DNS的基礎介紹&#xff0c;此次我們來通過實驗搭建DNS服務器從而更好的了解DNS搭建過程如何開始&#xff0c;且聽我細細道來首先我們通常…

GDB中應該知道的幾個調試方法

七、八年前寫過一篇《用GDB調試程序》&#xff0c;于是&#xff0c;從那以后&#xff0c;很多朋友在MSN上以及給我發郵件詢問我關于GDB的問題&#xff0c;一直到今天&#xff0c;還有人在問GDB的相關問題。這么多年來&#xff0c;有一些問題是大家反復在問的&#xff0c;一方面…

長沙java技術_長沙如何提高自身的Java技術

長沙如何提高自身的Java技術&#xff1f;Java自發行二十多年來&#xff0c;一直都是開發者的寵兒&#xff0c;在編程界的位置一直十分穩固。雖然Java人才需求量大&#xff0c;薪資水平高&#xff0c;但想要用Java語言勝任企業工作不容易。比如要成為一名Java架構師&#xff0c;…

strcpy與strcat函數原型

1.strcpy函數原型 char *my_strcpy(char *dest,const char *src) //const使在函數中不能修改*src其原先的值{   char *strDest dest; //保存原始的strDest   assert((dest!NULL)&&(src!NULL)); //檢驗參數&#xff0c;…

CCF 201312-4 有趣的數

試題編號&#xff1a;201312-4試題名稱&#xff1a;有趣的數時間限制&#xff1a;1.0s內存限制&#xff1a;256.0MB問題描述&#xff1a; 問題描述我們把一個數稱為有趣的&#xff0c;當且僅當&#xff1a;1. 它的數字只包含0, 1, 2, 3&#xff0c;且這四個數字都出現過至少一次…

java 代碼重用_Java 代碼重用:功能與上下文重用

我幾乎不需要討論為什么重用代碼是有利的。代碼重用通常使得程序開發更加快速&#xff0c;并使得 BUG 減少。一旦一段代碼被封裝和重用&#xff0c;那么只需要檢查很少的一段代碼即可確保程序的正確性。如果在整個應用程序中只需要在一個地方打開和關閉數據庫連接&#xff0c;那…

GCC-3.4.6源代碼學習筆記

大約4年前&#xff0c;我加入了GDNT - 北電網絡在中國的合資企業&#xff0c;參與3G UMTS無線接入網的研發工作。與GCC有了第一次親密的接觸&#xff08;之前使用的是MS的VC&#xff09;。彼時&#xff0c;北電在其諸如&#xff0c;UMTS、CDMA、及自行開發的眾多工具等項目中&a…

互聯網

2019獨角獸企業重金招聘Python工程師標準>>> 轉載于:https://my.oschina.net/u/3127489/blog/1550726

GCC筆記 命令行分析

1984年&#xff0c;Richard Stallman發起了自由軟件運動&#xff0c;GNU (Gnus Not Unix)項目應運而生&#xff0c;3年后&#xff0c;最初版的GCC橫空出世&#xff0c;成為第一款可移植、可優化、支持ANSI C的開源C編譯器。GCC最初的全名是GNU C Compiler,之后&#xff0c;隨著…

java 反射用法_Java 反射的概念與使用

一&#xff0c;反射的概念對于一個人來說&#xff0c;了解自己的能力、本事、特點&#xff0c;對于他去干事創業來說&#xff0c;是很重要的。同樣的&#xff0c;對于一門面向對象的語言來說&#xff0c;了解類(對象其實就是類的實現)本身也是重要的&#xff0c;可以在很多地方…