資料庫部分
1、什麼是sql注入,如何防止?
sql注入:就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。簡單說就是sql拼接。
如何防禦:
a:刪除使用者輸入內容中的所有連字元
b:對於用來執行查詢的資料庫帳戶,限制其許可權。用不同的使用者帳戶執行查詢、插入、更新、刪除操作。由於隔離了不同帳戶可執行的操作
c: 用儲存過程來執行所有的查詢。sql引數的傳遞方式將防止攻擊者利用單引號和連字元實施攻擊
d:查使用者輸入的合法性,確信輸入的內容只包含合法的資料
2、sql如何優化?
a:要顯示什麼字段, 就查詢什麼字段
b: 建立索引
c:減少對錶的查詢
d:分表分庫
3、左連線與有連線的區別?
左連線:只要左邊表中有記錄,資料就能檢索出來,而右邊有的記錄必要在左邊表中有的記錄才能被檢索出來
右連線:右連線是只要右邊表中有記錄,資料就能檢索出來
4、union與union all區別
union 將兩個表連線後刪除其重複的項;
union all 將兩個表連線都不刪除其重複的項。
5、什麼是jquery? jquery的選擇器有幾種?
1、基本選擇器
2、層次選擇器
3、過濾選擇器
4、表單選擇器
一.sql server查詢第31到40條資料?
大致分為兩種情況:id連續和id不連續。
1.id連續的情況:select * from a where id between 31 and 40
2.id不連續的情況:
(1)兩次對錶查詢,效率較低。
select top 10 * from a where id not in (select top 30 id from a)
(2)外層查詢沒有對錶a進行查詢,效率提高。
select top 10 * from (select top 40 id from a order by id) as a order by a.id desc
(3)row_number()函式效率更高,sql2005以上版本可用。
select * from(select *,row_number() over(order by id)as 'userid' from a) as a where a.userid between 31 and 40
資料庫事務相關理論知識
儲存結構 序列化排程 隔離級別及實現方式 併發控制 事務 transaction 是構成單一邏輯工作單元的操作集合。是訪問並可能更新各種資料項的乙個程式執行單元。原子性 atomicity 事務操作在資料庫中要麼全部正確反映出來,要麼完全不反映。一致性 consistency 隔離執行事務時,保持資...
mysql理論知識 MySQL資料庫理論知識
1 mysql連線方式 1 tcp ip 需要三次握手建立連線 mysql uroot p123 h10.0.0.51 mysql uroot p123 h127.0.0.1 2 socket mysql預設使用socket連線 socket預設路徑 tmp mysql.sock,可以通過編譯引數更...
資料庫相關理論知識整理複習
database management system dbms 資料庫管理系統是乙個為儲存和管理資料庫的軟體包。1 從資料模型的發展來看 2 從體系結構的發展來看 3 從應用領域的拓展來看 工程資料庫 cad,cam 演繹資料庫 知識庫,知識管理,需要推理過程 時態資料庫 空間資料庫 資料倉儲 資料...