{eval=Array;=+count(Array);}
一直以來,數據的持久化都是依賴于文件存儲,包括windows的excel,word,txt等,數據庫也是使用的文件,比如oracle的.DBF;Access的.mdb都是使用的文件。
既然是文件,我們知道計算機只識別0,1兩個機器碼,其實文件就都是一系列的二進制編碼,不同的文件使用不同的方式打開,比如在windows上強制使用文本方式打開dbf文件會顯示一堆亂碼,因為很多東西它不識別。
SQL就是用來對數據庫文件進行增刪改查的語言,數據庫誕生伊始,就是為了解決結構化的數據存儲,相對應的就需要一門結構化的語言來操作它。
SQL,英文為Structured Query Language,翻譯為結構化查詢語言,可以方便的訪問和處理數據庫,是ANSI標準的一門計算機語言,既然只是一門語言,那就不是不可以取代的,只要使用同樣的操作標準,比如使用JAVA完全可以讀出文件中的內容,進行顯示和修改,但是這種重復造輪子的事情應該沒人會做,首先需要掌握數據庫存儲標準,然后操作數據庫,有著極強的復雜性不說,性能估計也比SQL差,畢竟SQL本就是伴隨著數據庫的發展誕生的一門操作語言!
SQL提供了create;drop;alter;insert;select;update;delete等標準指令用于操作數據庫,實現結構化數據模型創建,結構化數據存儲和查詢的功能!
回到問題的描述,為什么不用對象數組取代數據庫?首先你要想清楚,這些對象數組需不需要持久化?需要持久化必然是要放在硬盤的文件中的,需不需要有關系?不管是關系型數據庫,可以針對關系型數據進行方便的存儲!
如果你的對象數組只在內存里面用,數據庫自然是不需要的,如果你是要持久化,而且是關系型數據持久化,那么只能是數據庫了!
綜上,你完全可以使用其他語言(JAVA,C等)實現數據庫文件的增刪改,但是為了方便,性能,還是老老實實使用SQL吧,更多的技術分享,敬請關注。。。
其實不同的數據庫往往都會有一些針對性的操作,但是大部分數據庫都會在遵循基本的SQL語言基礎之上進行一些功能性的擴展,或者是一些優化操作。因為數據庫的功能大部分是統一的,所以數據庫領域的標準化相對會更容易一些,這也是為什么SQL語言會成為數據庫領域的標準之一。標準化的SQL語言不僅會降低學習成本,而且會促進數據庫行業的良性發展,所以標準化程度越高的領域,成熟度往往也越高,市場規模通常也就比較大。
SQL語言主要面向數據庫的基本操作,對于大部分程序員來說,掌握標準的SQL語言基本上就能夠完成大部分的軟件開發任務,而且采用標準的SQL語言能夠讓代碼有更好的復用性,這對整個軟件開發領域來說也是比較重要的。雖然目前不少開發環境下都可以采用數據庫映射框架來完成數據庫操作(MyBatis等),但是掌握基本的SQL語言依然是程序員的重要技能之一。
SQL語言的統一對于數據庫維護人員來說也是非常重要的,由于數據庫在整個信息化領域占據著重要的位置,所以往往數據庫維護的工作量也是非常大的,往往同一家公司內部就會有多家數據庫公司的不同產品(異質異構),而統一的SQL語言能夠極大的減輕數據庫維護人員的工作量。
在大數據時代,雖然市場上出現了大量的NoSQL數據庫,但是SQL語言依然起著比較重要的作用,因為對于結構化數據和半結構化數據來說,SQL是完成數據清洗和提取的重要方式。另外,市場上也出現了通過SQL語言來完成大數據運算的產品,比如Hive。
我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關于互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收獲。
如果有互聯網方面的問題,也可以咨詢我,謝謝!
首先,SQL不是數據庫語言,反正我沒聽說過。
當前主流的數據庫編程語言只有PL/SQL,也是目前在企業級軟件里面應用最多的,PL/SQL最核心應該是存儲過程、函數、游標、觸發器、AQ隊列,有些復雜的數據庫操作時SQL語句無法完成的,這個時候只能用oracle提供的PL/SQL,想要深入了解PL/SQL可以去看看這本書,學了PL/SQL會讓你的技術質變,相關連的項目做起來也會非常輕松
SQL是唯一一個被標準化了編成語言。這意味著只要是關系形數據庫就一定要支持SQL。所以Oracle,IBM DB2,微軟SQL SERVER等數據庫產品都支持標準的SQL。但事實上各家的SQL還是有些差別的。
另外,SQL由于只描述查詢邏輯,被稱為第四代編程語言(另一種說法是第五代),以區別于其他以程序步驟為中心的所謂,第三代語言(另一種說法,C是第三代,Java等是第四代)。從某種意義上,SQL是最接近自然語言的編程語言。開發用純粹自然語言為基礎的編程語言一直都是一個研究課題。
不是只有一種喔,
以前的我需要各種 join 打交道inner, outer, left, right, on,where...並且燒腦各種 inter-table 關係,還沾沾自喜用的順溜,以為這世界就只有如此。
現在的我卻離不開 ORM 了。 SQL其實是不符合人性的,感謝泛noSQL的發明。
SQL(Structured Query Language)結構化查詢語言,是用于訪問數據庫的標準語言,各種不同的數據庫對SQL語言的支持與標準存在著細微的不同。
注釋:除了 SQL 標準之外,大部分 SQL 數據庫程序都擁有它們自己的私有擴展!
各個數據庫廠商通常會在標準的SQL語言上進行擴展,T-SQL就是微軟擴展的一個版本,其他還有Oracle的PL/SQL等。
標準的SQL主要完成基本的數據庫對象定義、操作和控制等功能,而T-SQL以及PL/SQL還增加了流程控制元素和各種函數功能。有了這些功能,可以完成一些程序對象的編寫,例如存儲過程、觸發器等。
不不,我覺得你這是沒理解到位。SQL中文是叫結構化查詢語言,就像php和Java都可以叫后端語言一樣,是一種抽象的叫法。事實上也是每種數據庫的查詢語言和其他數據庫查詢語言是存在差別的。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答