久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

使用Python操作SQL Server數據庫

如果有條件可以使用遠程連接或者TeamViewer等工具,操作帶GUI的數據庫管理器,實施起來可以很省心。可以直接查看結果,模板化查詢甚至提示語句錯誤等。

如果是使用linux本地或者ssh訪問SQL?Server數據庫的,稍微麻煩點。可以使用sqlcmd作為替代工具。后面會介紹。

沒有mysql一樣的show database;命令,所以顯示所有的數據庫都比較麻煩。可以使用這條命令:select name from sysobjects where xtype='u'

SQL Server中各個系統表的作用

sysaltfiles????僅在主數據庫 保存數據庫的文件

syscharsets????僅在主數據庫 字符集與排序順序

sysconfigures??僅在主數據庫 配置選項

syscurconfigs??僅在主數據庫 當前配置選項

sysdatabases???僅在主數據庫 服務器中的數據庫

syslanguages???僅在主數據庫 語言

syslogins??????僅在主數據庫 登陸帳號信息

sysoledbusers??僅在主數據庫 鏈接服務器登陸信息

sysprocesses???僅在主數據庫 進程

sysremotelogins?僅在主數據庫 遠程登錄帳號

syscolumns?????每個數據庫 列

sysconstrains??每個數據庫 限制

sysfilegroups??每個數據庫 文件組

sysfiles???????每個數據庫 文件

sysforeignkeys?每個數據庫 外部關鍵字

sysindexs??????每個數據庫 索引

sysmenbers?????每個數據庫 角色成員

sysobjects?????每個數據庫 所有數據庫對象

syspermissions?每個數據庫 權限

systypes??????每個數據庫 用戶定義數據類型

sql cmd(sqlserver客戶端也可以)

直接訪問數據庫:

sqlcmd -S SERVERNAME -U USERNAME -P PASSWORD -d DB

示例sqlcmd -S "127.0.0.1" -U "sa" -P "12345678"

遇到查詢操作時提示“對象名無效”的情況:

可能因為沒有選擇數據庫,或者數據庫里沒有該表。一定要跟上參數-d。進入執行模式之后可以輸入自己的SQL語句。可以連續多條,命令最后以GO語句結尾,是SQL Server的語法。若要提高性能,請在一個 sqlcmd 會話中執行盡可能多的操作,而不是在一系列會話中來執行這些操作。

輸入/輸出選項-f codepage | i:codepage[,o:codepage] | o:codepage[,i:codepage],用于指定輸入和輸出代碼頁。代碼頁頁碼是指定已安裝的 Windows 代碼頁的數值。

代碼頁轉換規則:

如果未指定代碼頁, sqlcmd 會將當前代碼頁同時用于輸入文件和輸出文件,除非輸入文件為 Unicode 文件,在此情況下無需進行轉換。

sqlcmd 自動識別 Big-endian Unicode 和 Little-endian Unicode 輸入文件。 如果已指定 -u 選項,輸出將始終為 Little-endian Unicode。

如果未指定輸出文件,輸出代碼頁將為控制臺代碼頁。借助此方法,可以在控制臺上正確顯示輸出。假定多個輸入文件具有相同的代碼頁。可以將 Unicode 和非 Unicode 輸入文件混合在一起。在命令提示符處輸入 chcp 以驗證 Cmd.exe 的代碼頁。

-i input_file[,輸入_file2...]

標識包含一批 SQL 語句或存儲過程的文件。可以指定要按順序讀取和處理的多個文件。文件名之間不要使用任何空格。sqlcmd 將首先檢查所有指定的文件是否都存在。如果有一個或多個文件不存在, sqlcmd 將退出。-i 和 -Q/-q 選項是互斥的。

-i C:\<filename>

-i \\<Server>\<Share$>\<filename>

-i "C:\Some Folder\<file name>"

清空表

刪除表:

delete from?表名

清除表中的所有數據、保留表結構( 清除表中所有行,保留表結構、與delete類似):

truncate table?表名

比delete速度快,效率高,使用的系統和事務日志資源少。

刪除表(所有數據及表結構):

drop table?表名

pymssql庫

如果使用pymssql庫操作SqlServer連接,基本上就是一把梭。

基本的建立連接:

HOST = '127.0.0.1'

USER = 'USERNAME'

PW = 'PASSWORD'

DB = 'DBNAME'

conn = pymssql.connect(host=HOST, user=USER, password=PW, database=DB)

cursor = conn.cursor()

執行SQL語句(查詢):

cursor.execute('SELECT * FROM mytable')

row = cursor.fetchone()

while row:

row = cursor.fetchone()

conn.close()

在操作執行SQL語句的函數.execute()的時候,傳入語句不能臨時進行拼接,必須是常量或者格式化的變量。可能是考慮注入等問題,故意設定的。

執行SQL語句(其他):

cursor.execute("INSERT INTO position VALUES (%s, %s)", (num, address))

conn.commit()

除了查詢語句比較特殊,其他的語句一般都需要額外的使用.commit()進行數據提交。如果不提交,可以即便語句執行了,也沒有結果返回。此外,連接一開始設定了自動提交屬性,可以忽略這條。

版權聲明:轉載文章來自公開網絡,版權歸作者本人所有,推送文章除非無法確認,我們都會注明作者和來源。如果出處有誤或侵犯到原作者權益,請與我們聯系刪除或授權事宜。

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 棋牌| 大理市| 盘锦市| 达尔| 永平县| 民丰县| 观塘区| 三都| 台江县| 桂林市| 敦化市| 江源县| 巍山| 新蔡县| 榆中县| 宿迁市| 大邑县| 偏关县| 海阳市| 三亚市| 云南省| 紫阳县| 涿州市| 长春市| 文水县| 中方县| 沂水县| 嵊泗县| 安福县| 彰武县| 寻甸| 泸西县| 双牌县| 库伦旗| 昭平县| 石柱| 丰台区| 阿克| 南涧| 甘德县| 太保市|