日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

IT之道-艾銻知道

您當前位置: 主頁 > 資訊動態 > 艾銻分享 >

北京艾銻無限為您整理:常用數據庫SQL語句大全


2020-02-09 15:10 作者:admin 瀏覽量:
迎戰疫情,艾無限用愛與您同行
中國中小企業提供免費IT外包服務
 

 
這次的肺炎疫情對中國的中小企業將會是沉重的打擊,據釘釘和微信兩個辦公平臺數據統計現有2億左右的人在家遠程辦公,那么對于中小企業的員工來說不懂IT技術將會讓他們面臨的最大挑戰和困難。
 
電腦不亮了怎么辦?系統藍屏如何處理?辦公室的電腦在家如何連接?網絡應該如何設置?VPN如何搭建?數據如何對接?服務器如何登錄?數據安全如何保證?數據如何存儲?視頻會議如何搭建?業務系統如何開啟等等一系列的問題,都會困擾著并非技術出身的您。
 
 
好消息是當您看到這篇文章的時候,就不用再為上述的問題而苦惱,您只需撥打艾銻無限的全國免費熱線電話:400 650 7820,就會有我們的遠程工程師為您解決遇到的問題,他們可以遠程幫您處理遇到的一些IT技術難題。
 
如遇到免費熱線占線,您還可以撥打我們的24小時值班經理電話:15601064618或技術經理的電話:13041036957,我們會在第一時間接聽您的來電,為您提供適合的解決方案,讓您無論在家還是在企業都能無憂辦公。
 
那艾銻無限具體能為您的企業提供哪些服務呢?
艾銻無限始創于2005年,歷經15年服務了5000多家中小企業并保障了幾十萬臺設備的正常運轉,積累了豐富的企業IT緊急問題和特殊故障的解決經驗,制定了相對應的解決方案。我們為您的企業提供的IT服務分為三大版塊:
 
第一版塊是保障性IT外包服務:如電腦設備運維,辦公設備運維,網絡設備運維,服務器運維等綜合性企業IT設備運維服務。
 
第二版塊是功能性互聯網外包服務:如網站開發外包,小程序開發外包,APP開發外包,電商平臺開發外包,業務系統的開發外包和后期的運維外包服務。
 
第三版塊是增值性云服務外包:如企業郵箱上云,企業網站上云,企業存儲上云,企業APP小程序上云,企業業務系統上云,阿里云產品等后續的云運維外包服務。
 
您要了解更多服務也可以登錄艾銻無限的官網:www.bjitwx.com查看詳細說明,疫情期間,您企業遇到的任何困境只要找到艾銻無限,能免費為您提供服務的我們絕不收一分錢,我們全體艾銻人承諾此活動直到中國疫情結束,我們將這次活動稱為——春雷行動
 
以下還有我們為您提供的一些技術資訊,以便可以幫助您更好的了解相關的IT知識,幫您渡過疫情中辦公遇到的困難和挑戰,艾銻無限愿和中國中小企業一起共進退,因為我們相信萬物同體,能量合一,只要我們一起齊心協力,一定會成功。再一次祝福您和您的企業,戰勝疫情,您和您的企業一定行。
 
北京艾銻無限為您整理:常用數據庫SQL語句大全
 
1、說明:創建數據庫
CREATE DATABASE database-name
2、說明:刪除數據庫
drop database dbname
3、說明:備份sql server
--- 創建 備份數據的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat'
--- 開始 備份
BACKUP DATABASE pubs TO testBack 
4、說明:創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表: 
A:create table tab_new like tab_old (使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、說明:刪除新表
drop table tabname 
6、說明:增加一個列
Alter table tabname add column col type注:列增加后將不能刪除。DB2中列加上后數據類型也不能改變,唯一能改變的是增加varchar類型的長度。
7、說明:添加主鍵: Alter table tabname add primary key(col) 
說明:刪除主鍵: Alter table tabname drop primary key(col) 
8、說明:創建索引:create [unique] index idxname on tabname(col….) 
刪除索引:drop index idxname
注:索引是不可更改的,想更改必須刪除重新建。
9、說明:創建視圖:create view viewname as select statement 
刪除視圖:drop view viewname
10、說明:幾個簡單的基本的sql語句
選擇:select * from table1 where 范圍
插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 范圍更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like ’%value1%’ ---like的語法很精妙,查資料!
排序:select * from table1 order by field1,field2 [desc]
總數:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、說明:幾個高級查詢運算詞
A: UNION 運算符 
UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)并消去表中任何重復行而派生出一個結果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。 
B:EXCEPT 運算符 
EXCEPT運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重復行而派生出一個結果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重復行。
C:INTERSECT 運算符
INTERSECT運算符通過只包括 TABLE1 和 TABLE2 中都有的行并消除所有重復行而派生出一個結果表。當 ALL隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重復行。 
注:使用運算詞的幾個查詢結果行必須是一致的。 
12、說明:使用外連接 
A、left (outer) join: 
左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。 
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right (outer) join: 
右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。 
C:full/cross (outer) join: 
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。
12、分組:Group by:
一張表,一旦分組 完成后,查詢后只能得到組相關的信息。
組相關的信息:(統計信息) count,sum,max,min,avg  分組的標準)
在SQLServer中分組時:不能以text,ntext,image類型的字段作為分組依據
在selecte統計函數中的字段,不能和普通的字段放在一起;
13、對數據庫進行操作:
分離數據庫: sp_detach_db;附加數據庫:sp_attach_db 后接表明,附加需要完整的路徑名
14.如何修改數據庫的名稱:
sp_renamedb 'old_name', 'new_name'
4.文章出處
https://mp.weixin.qq.com/s/ZLIogpD2sMD43MJRjwTSJg
 
艾銻無限告訴你:SQL 注入的原理及防范
什么是SQL注入?
SQL注入是一種非常常見的數據庫攻擊手段,SQL注入漏洞也是網絡世界中最普遍的漏洞之一。大家也許都聽過某某學長通過攻擊學校數據庫修改自己成績的事情,這些學長們一般用的就是SQL注入方法。
SQL注入其實就是惡意用戶通過在表單中填寫包含SQL關鍵字的數據來使數據庫執行非常規代碼的過程。簡單來說,就是數據「越俎代庖」做了代碼才能干的事情。這個問題的來源是,SQL數據庫的操作是通過SQL語句來執行的,而無論是執行代碼還是數據項都必須寫在SQL語句之中,這就導致如果我們在數據項中加入了某些SQL語句關鍵字(比如說SELECT、DROP等等),這些關鍵字就很可能在數據庫寫入或讀取數據時得到執行。
多言無益,我們拿真實的案例來說話。下面我們先使用SQLite建立一個學生檔案表。
SQL數據庫操作示例
import sqlite3
# 連接數據庫
conn = sqlite3.connect('test.db')
# 建立新的數據表
conn.executescript('''DROP TABLE IF EXISTS students;
       CREATE TABLE students
       (id INTEGER PRIMARY KEY AUTOINCREMENT,
       name TEXT NOT NULL);''')
# 插入學生信息
students = ['Paul','Tom','Tracy','Lily']
for name in students:
    query = "INSERT INTO students (name) VALUES ('%s')" % (name)
    conn.executescript(query);
# 檢視已有的學生信息
cursor = conn.execute("SELECT id, name from students")
print('IDName')
for row in cursor:
    print('{0}{1}'.format(row[0], row[1]))
conn.close()

點擊運行按鈕將會打印目前表中的內容。上述程序中我們建立了一個test.db數據庫以及一個students數據表,并向表中寫入了四條學生信息。
那么SQL注入又是怎么一回事呢?我們嘗試再插入一條惡意數據,數據內容就是漫畫中的"Robert');DROP TABLE students;--",看看會發生什么情況。

 
 
 
SQL數據庫注入示例
 
conn = sqlite3.connect('test.db')
# 插入包含注入代碼的信息
name = "Robert');DROP TABLE students;--"
query = "INSERT INTO students (name) VALUES ('%s')" % (name)
conn.executescript(query)
# 檢視已有的學生信息
cursor = conn.execute("SELECT id, name from students")
print('IDName')
for row in cursor:
    print('{0}{1}'.format(row[0], row[1]))
conn.close()

你將會發現,運行后,程序沒有輸出任何數據內容,而是返回一條錯誤信息:表單students無法找到!
這是為什么呢?問題就在于我們所插入的數據項中包含SQL關鍵字DROP TABLE,這兩個關鍵字的意義是從數據庫中清除一個表單。而關鍵字之前的Robert');使得SQL執行器認為上一命令已經結束,從而使得危險指令DROP TABLE得到執行。也就是說,這段包含DROP TABLE關鍵字的數據項使得原有的簡單的插入姓名信息的SQL語句

"INSERT INTO students (name) VALUES ('Robert')"
變為了同時包含另外一條清除表單命令的語句
"INSERT INTO students (name) VALUES ('Robert');DROP TABLE students;--"
而SQL數據庫執行上述操作后,students表單被清除,因而表單無法找到,所有數據項丟失。
 
如何防止SQL注入問題

那么,如何防止SQL注入問題呢?
大家也許都想到了,注入問題都是因為執行了數據項中的SQL關鍵字,那么,只要檢查數據項中是否存在SQL關鍵字不就可以了么?的確是這樣,很多數據庫管理系統都是采取了這種看似『方便快捷』的過濾手法,但是這并不是一種根本上的解決辦法,如果有個美國人真的就叫做『Drop Table』呢?你總不能逼人家改名字吧。
合理的防護辦法有很多。首先,盡量避免使用常見的數據庫名和數據庫結構。在上面的案例中,如果表單名字并不是students,則注入代碼將會在執行過程中報錯,也就不會發生數據丟失的情況——SQL注入并不像大家想象得那么簡單,它需要攻擊者本身對于數據庫的結構有足夠的了解才能成功,因而在構建數據庫時盡量使用較為復雜的結構和命名方式將會極大地減少被成功攻擊的概率。
使用正則表達式等字符串過濾手段限制數據項的格式、字符數目等也是一種很好的防護措施。理論上,只要避免數據項中存在引號、分號等特殊字符就能很大程度上避免SQL注入的發生。
另外,就是使用各類程序文檔所推薦的數據庫操作方式來執行數據項的查詢與寫入操作,比如在上述的案例中,如果我們稍加修改,首先使用execute()方法來保證每次執行僅能執行一條語句,然后將數據項以參數的方式與SQL執行語句分離開來,就可以完全避免SQL注入的問題,如下所示:

SQL數據庫反注入示例
 
conn = sqlite3.connect('test.db')
# 以安全方式插入包含注入代碼的信息
name = "Robert');DROP TABLE students;--"
query = "INSERT INTO students (name) VALUES (?)"
conn.execute(query, [name])
# 檢視已有的學生信息
cursor = conn.execute("SELECT id, name from students")
print('IDName')
for row in cursor:
    print('{0}{1}'.format(row[0], row[1]))
conn.close()

而對于PHP而言,則可以通過mysql_real_escape_string等方法對SQL關鍵字進行轉義,必要時審查數據項目是否安全來防治SQL注入。
當然,做好數據庫的備份,同時對敏感內容進行加密永遠是最重要的。某些安全性問題可能永遠不會有完美的解決方案,只有我們做好最基本的防護措施,才能在發生問題的時候亡羊補牢,保證最小程度的損失。
 
 
 
 

相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 国产九一视频_妺妺晚上吃我精子黄文_国产一级黄色片视频_裸体洗澡偷拍一区二区_亚洲熟妇自偷自拍另欧美_亚洲天堂av网_国产精品精东影业_日韩久久久久久久久久久 aaa在线观看_澳门黄色毛片_污网站在线浏览_91成人午夜在线精品_无码精品A片一区二区_AV在线播放日韩亚洲欧_久久久国产精品亚洲一区_色网站免费看 | 久久精品2_性色一区二区三区_久草热这里有精品6_天天爽夜夜爽夜夜爽_91麻豆国产福利精品_99精品视频精品精品视频_一级大片免费_久久99精品国产麻豆不卡 | 免费观看一区二区_亚洲欧美校园_亚洲AV中文无码字幕色下药_美女被按在床上_亚洲一久久_特黄一级性片看_国内a级毛片免费观看品善网_日本av中文字幕 | 天天操综合_疯狂撞击丝袜人妻_中文无码视频播放_好吊色一区二区_av一区二区三_警告国产专区_日日噜噜夜夜爽爽_国产精品日韩一区二区免费视频 | JAPANESEHD熟女熟妇伦_日韩激情一区二区_综合另类_黑人刚破完处就三P_国产区视频在线播放_日本黄色片视频_日韩一区二区三区影院_男人进去女人爽免费视频" | 日韩精品一级毛片_91成人免费在线观看_最近的中文字幕视频完整_国产一区二区三区网站_黄色精品一区二区_99视频有精品视频高清_国产在线精品一区二区在线播放_av人摸人人人澡人人超碰 | 久久久久久免费精品_国产三区精品_久久久人_久久午夜伦鲁片免费无码_久久综合高清_国产真人性做爰久久网站_亚洲欧美国产精品一区二区_国产00高中生在线视频 | 三年片在线观看免费观看大全麻豆_免费啪啪片_中文字幕日韩人妻不卡一区_黄色一级免费网站_国产精品入口a级_日本乱淫一区二区三区_亚洲成A人片在线观看久_中文乱码人妻系列一区 | 无码H黄肉3D动漫在线观看_午夜网站在线_av之家免费黄片_日本少妇裸体视频_中文字幕欧洲_色久天堂_国产成人欧美一区二区三区八_国产亚洲欧美一级 | 看免费黄色大片_素人天堂_www中文在线观看_亚洲视频在线网站_丰满的熟女爽死你视频_麻豆免费视频观看_av片免费看_久久无码中文字幕免费影院蜜桃 | 久久亚洲99精品2021_亚洲无码偷拍福利_日批视频在线观看网站_俄罗斯freeⅹ性欧美_操欧美丝袜_最好看免费中文字幕2018_国产精品丝袜黑色高跟鞋_天天草天天干 | 日韩视频免费看_A一级片中文字幕_公车上太深了啊高潮_国产精品无码久久综合网_99热这里只有精品1_国产精品一区99_成人免费毛片一_亚洲a级精品 | 日韩成人高清_精品韩国三级在线观看视频_天堂中文在线资源_久久久久91_最近最新中文第一页_日本丰满大乳无码免费看_日本韩国视频在线观看_无码人妻久久一区二区三区 | 日本久久艹_亚洲中文无码永久免费_一区二区三区精品在线视频_玩弄放荡人妻少妇系列视频_天天爽天天爽夜夜爽毛片_成人丝袜激情一区二区_日本肉体裸XXXXBBBB_cao久久 | 久久久久高清视频_52avaⅴ我爱haose免费视频_亚洲日韩成人性av网站_黄色影视免费看_JVID亚洲精品无圣光图套_久久国产欧美一区二区精品爱欲_国产精品96久久久久久久_亚洲天堂区 | 亚洲国产无线乱码在线观看_中文幕无线码中文字蜜桃_日韩一区二区三区免费高清_超碰在线免费福利_岛国色网_老司机精品线观看视频_免费特级婬片日本高清视频_免费精品视频一区 | 日韩1页_欧美极品25p_黄视频在线观看网站_青青青草视频_久久综合九色综合网站_国产精品欧美一区乱破_成人在线97_国产交换配乱婬视频偷 | 国产av无码专区亚洲av软件_一级色网站_成人区一区二区_欧美日本一区二区三区在线观看_亚洲大片av_国产精品视频六区_麻豆传媒免费观看_少妇爱做高清免费视频 | 精品一区二区三区在线观看视频_久久性网站_在线观看亚洲一区二区_日韩国产精品激情一区_丁香五月激情综合激情综合激情_操老逼av_美女视频黄频A免费高清不卡_欧美日韩国产中文字幕 | 日本理论在线播放_国产女主播一区二区_av在线1_成网站在线观看_国产精品免费在线播放_大二情侣宾馆啪实拍_91桃色免费观看_国产欧洲精品视频 | 国产内射爽爽大片视频社区在线_日韩欧美一二三区_91麻豆精品91久久久久同性_夜夜爽免费888视频_国产嫖妓风韵犹存对白_日本老女人视频_日韩在线第一区_伊人ab | 精品国产亚洲第一区二区三区_高清国产在线观看_日本最新免费二区三区_a级片观看_亚洲一级不卡_国产呦VA在线观看_日韩人妻无码精品—专区_中国少妇嫖妓BBWBBW | 亚洲肥老太bbw_久久夜靖品_成年无码专区在线蜜芽TV_免费在线一区二区三区_热久久久_av天天av_国内精品九九久久精品_国产精品情侣呻吟对白视频 | 日本黄色天堂_一级毛片免费毛片一级毛片免费_999久久久精品一区二区_日韩欧美中文字幕在线播放_丰满又黄又爽少妇毛片_免费污站18禁的刺激_亚洲成人欧美_经典国产乱子伦精品视频 | 少妇日p_国产女同91疯狂高潮互磨_精品一区在线免费观看_铠甲勇士第一部免费观看_国产精口品美女乱子伦高潮_日韩精品在线免费_日韩亚洲视频在线_操人视频免费 | 自拍理论片_2019中文字幕在线视频_91精品国产麻豆国产在线观看_精品无人区一区二区三区_欧洲妓女在线视频免费看_精品久久久久久无码人妻_四级毛片_国产精品高清网站 | 日韩视频免费在线观看_日本毛片高清免费视频_九九亚洲视频_无码精品一区二区三区四区爱奇艺_欧美人与动交ZOZO_第一视角vk_色呦呦久久_动漫被到爽动漫视频免费 | 日本三级黄色中文字幕_久久国产精品波多野结衣AV_动漫精品一区二区三区_亚洲AV无码一区二区二三区∝_男人午夜av_91网址在线观看_91精品国产一区二区无码_无码专区国产精品一区 | 国产在线一区视频播放_狠狠操91_免费看男女高潮又爽又猛视_欧美色蜜桃97_亚洲欧洲综合有码无码_日本人伦一区二区三区_日本逼视频_国产一级牲交高潮片16 | 国语做受对白XXXXX在线_国产资源精品在线观看_日韩免费毛片_国产日韩欧美一区二区宅男_九九99精品_免费a级午夜绝情美女图片_日本欧美黄色大片_国产美女一级在线观看 | 日韩1页_欧美极品25p_黄视频在线观看网站_青青青草视频_久久综合九色综合网站_国产精品欧美一区乱破_成人在线97_国产交换配乱婬视频偷 | 色综合天天综合网国产成人网_天天躁夜夜躁狠狠久久成人网_少妇挑战3个黑人惨叫4P国语_久久无码av三级_手机看片日韩欧美_又色又湿又黄又爽又免费视频_亚洲精品国偷自产在线_妺妺窝人体色WWW看人体 | 西西大尺度美軳人人体bt_蜜臀在线一区_欧美三级午夜理伦三级富婆_亚洲中文无码线在线观看_亚洲性夜色噜噜噜7777_女人做爰高潮时叫要精免费的视频_大黄网站免费在线观看_亚洲天堂岛国片 | 免费A级毛片无码鲁大师_又爽又黄axxx片免费观看_热久热久_欧美videosdesexo肥婆_亚洲a在线观看_av毛片免费观看_爆乳熟妇一区二区三区_日美韩一区二区三区 | 亚洲a级免费视频_国产欧美xxxx6666_av在线播放中字_日本一区二区视频在线观看_美女毛片免费看_韩国免费视频_日韩精品无码人成视频手机_欧美黄色大片免费观看 | 一本一道AV无码中文字幕﹣百度_精品国产色_人妻制服出轨中字在线_91狼人社_日韩女优精品_亚洲一级影片在线观看_欧美精品在线看_天天操夜夜爱 | 精品无码久久久久久久久久_国产jjizz一区二区三区视频_婷婷一级片_国产在线看片网站_国产AV午夜精品一区二区三区_免费一级在线观看_亚洲一二区制服无码中字_人人妻人人澡人人爽精品日本 | 色婷婷一区二区三区四区_国产精品区一区_99热免费精品店_欧美永久_伊甸园一区二区_亚洲国产精品无码久久98_国产日产欧产精品精品软件_国产肥熟女视频一区二区三区 | 中国av一级片_av不卡免费观看_久久久亚洲精品石原莉奈_日韩中文字幕在线_脱了内裤猛烈进入A片费_欧美操人_成人无码区在线观看_亚洲高清国产精品 | 精品人伦一区_高清一区二区三区四区_国产精品银行在线播放_一区二区三国产_欧美特黄一级_91亚洲精品视频_欧美精彩视频在线观看_色妺妺视频网 | 西西大尺度美軳人人体bt_蜜臀在线一区_欧美三级午夜理伦三级富婆_亚洲中文无码线在线观看_亚洲性夜色噜噜噜7777_女人做爰高潮时叫要精免费的视频_大黄网站免费在线观看_亚洲天堂岛国片 |