SQL與原生SQL的區別

2021-08-30 19:17:17 字數 432 閱讀 7906

sql
一般指根據指定的程式規則,自動生成的sql,比如最經典的,linq to sql

原理:對使用者撰寫的sql進行一層包裝,新增更多分析功能。

優勢:在靈活分析的展現介面,還可以做排序,過濾,彙總等操作;

劣勢:對sql有書寫要求,需要在使用者sql中,顯式申明別名;對sql做多一層封裝,對於某些資料庫來說,可能效率會低一些

原生sql

資料庫能直接執行的sql語句,比如能在oracle,mssql,mysql,db2等資料庫中直接執行

原理:不對使用者的sql做任何封裝,直接提交到資料庫。

優勢:對sql語法沒有任何限制;速度更快;

劣勢:不計算總行數;如果查詢結果較大,使用者可能不知道結果集大小;在靈活分析的展現介面,不支援排序、過濾、聚合等操作;;

sql 與 的區別

將傳入的資料都當成乙個字串,會對自動傳入的資料加乙個雙引號。如 order by user id 如果傳入的值是111,那麼解析成sql時的值為order by 111 如果傳入的值是id,則解析成的sql為order by id 將傳入的資料直接顯示生成在sql中。如 order by useri...

原生sql 封裝

return array default array hostname 127.0.0.1 database csshop username root password root tablepre bz charset utf8 type mysql debug true pconnect 0,au...

sql中 與 的區別

在這裡用到了 使用 時 1 用來傳入引數,sql在解析的時候會加上 當成字串來解析 如這裡 role id roleid 2 能夠很大程度上防止sql注入 延伸 1 用傳入資料直接顯示在生成的sql中,如上面的語句,用roleid 傳入資料直接顯示在生成的sql中,如上面的語句,用roleid 那麼...