{eval=Array;=+count(Array);}

成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

問答專欄Q & A COLUMN

都說自學SQL數(shù)據(jù)庫難,是真的嗎?

figofuturefigofuture 回答0 收藏1
收藏問題

10條回答

Airy

Airy

回答于2022-06-28 13:42

我個人之前就是自學數(shù)據(jù)庫,結合自身經(jīng)驗告訴你,自學SQL語言的使用比較簡單,但是如果自學數(shù)據(jù)庫底層實現(xiàn)原理,這個難度就非常高,尤其是對于初學者來說。

SQL語言作為操作數(shù)據(jù)庫以及數(shù)倉開發(fā)使用,SQL語言學習和使用難度不大

SQL語言,全稱為結構化查詢語言,你在開發(fā)大型項目中,一般都會使用到關系型數(shù)據(jù)庫來存儲數(shù)據(jù),比如網(wǎng)站用戶的注冊信息、店鋪的訂單信息等等,如果數(shù)據(jù)量不大,可以選擇使用Mysql數(shù)據(jù)庫。此時你就需要使用SQL對數(shù)據(jù)庫表進行查找、更新、刪除、插入操作,這些操作最底層都需要SQL語言來操作執(zhí)行。

SQL語言由于不像其他編程語言那么復雜,它只有少部分的語法,所以對于新人來說,SQL語言是非常好學的。常用的SQL語句有 Select、Update、Delete、Insert、Alter這五種語法。你也可以在SQL語言中編寫存儲過程以及函數(shù)等,新人不需要具體的編程去寫代碼,寫SQL比寫代碼要更加容易。

數(shù)據(jù)庫底層原理涉及很多方面的技術知識點,自學很難學會

我之前自學過MySQL底層的原理,自己也買了兩本書籍去自學,比如Mysql內存中LRU緩存如何實現(xiàn)的,內存如何使用的。MySql到底如何實現(xiàn)事務的,Redo日志和Undo日志分別作用是干什么的,Mysql的各部分存儲引擎的優(yōu)缺點等等。這些知識點新手去自學,的確會比較困難。

同時,數(shù)據(jù)庫底層原理的學習光看書也是遠遠不夠的,但日常我們又很難接觸到數(shù)據(jù)庫底層的項目,沒有項目實踐,數(shù)據(jù)庫原理層肯定很難掌握。而Mysql數(shù)據(jù)庫的源碼層又是C語言寫的,說實話看源碼有時候看的也云里霧里的,有些地方也實在很難看懂,所以新人自學數(shù)據(jù)庫底層原理,真的會很難。不建議一上來就去學習數(shù)據(jù)庫底層原理。

個人建議

新人在學習SQL語言時,可以去網(wǎng)上下載SQL語言學習的書籍,同時結合著網(wǎng)上SQL視頻教程來學習會比較好,有人教你,有些不好掌握的地方,能夠更清晰的去認識。你最好跟著視頻里面的教程親自動手實踐,這樣對于你的學習會有更多的幫助。


我是Lake,專注大數(shù)據(jù)技術原理、人工智能、數(shù)據(jù)庫技術、程序員經(jīng)驗分享,如果我的問答對你有幫助的話,希望你能點贊關注我,感謝。

我會持續(xù)大數(shù)據(jù)、數(shù)據(jù)庫方面的內容,如果你有任何問題,也歡迎關注私信我,我會認真解答每一個問題。期待您的關注

評論0 贊同0
  •  加載中...
leo108

leo108

回答于2022-06-28 13:42

謝謝邀請!

如果是學習SQL數(shù)據(jù)庫(關系型)如何使用,那么難度并不高,原因有以下幾點:

第一:關系型數(shù)據(jù)庫理論嚴謹清晰。關系型數(shù)據(jù)庫經(jīng)過多年的發(fā)展,有一套嚴謹?shù)臄?shù)學理論作為基礎,所以關系型數(shù)據(jù)庫結構非常清晰且邏輯性很強,學習的過程可以依次遞進,連貫性很高。

第二:關系型數(shù)據(jù)庫以表格為基礎進行各種操作。關系型數(shù)據(jù)庫以數(shù)據(jù)表格為基礎概念展開一系列操作,包括建庫、建表、創(chuàng)建存儲過程等,這些操作本身具有非常強的規(guī)則性,掌握起來并不困難。在學習數(shù)據(jù)庫的過程中,存儲過程、隔離、事務處理等相關內容還是有一定難度的,但是也并不是很難,通過大量的實驗完全可以掌握。

第三:SQL語言以簡潔易用著稱。相比于Java、Python等編程語言來說,SQL語言就要簡單易用多了,SQL語言基本語法非常清晰,另外SQL語言的操作邊界并不會突破數(shù)據(jù)庫管理系統(tǒng),所以SQL語言本身還是比較好掌握的,前提是多做實驗。

在學習SQL數(shù)據(jù)庫的過程中,一定要結合大量的實驗,因為數(shù)據(jù)庫操作本身涉及到大量的存取操作,只有熟練這些實際操作過程才能熟悉SQL數(shù)據(jù)庫的使用。

學習SQL數(shù)據(jù)庫首先要選擇一款數(shù)據(jù)庫產(chǎn)品,推薦使用MySQL數(shù)據(jù)庫,一方面MySQL數(shù)據(jù)庫有廣泛的使用,另一方面MySQL數(shù)據(jù)庫安裝方便,對于初學者來說,學習MySQL是一個不錯的選擇。

學習MySQL數(shù)據(jù)庫是完全可以自學的,而且實驗也比較容易做。很多程序員都是通過自學掌握MySQL數(shù)據(jù)庫使用的。

我從事軟件開發(fā)工作多年,目前也在帶軟件開發(fā)團隊,我會陸續(xù)在頭條寫一些關于軟件開發(fā)方面的文章,感興趣的朋友可以關注我,相信一定會有所收獲。

如果有軟件開發(fā)方面的問題,也可以咨詢我,謝謝!

評論0 贊同0
  •  加載中...
Scliang

Scliang

回答于2022-06-28 13:42

只要有興趣,一點也不難,就算一天只學并掌握兩個命令,一個月就差不多就上中等水平了。興趣是第一原動力

評論0 贊同0
  •  加載中...
zr_hebo

zr_hebo

回答于2022-06-28 13:42

這個問題無法簡單的用是或不是來回答。

最核心的,要考慮應用SQL和數(shù)據(jù)的場景是什么。比如您是學習SQL和數(shù)據(jù)庫為了工作,還是僅僅是學習而不用來做事情。

為了工作而學習SQL和數(shù)據(jù)庫,沒有學不好的

如果您為了工作需要而學習SQL和數(shù)據(jù)庫,想要不學好都難,因為您不學好工作就丟了,您要面對的首要問題是學什么、如何學的問題,這時候難不難已經(jīng)不重要了,學會并用來干活才是第一要務。

如果為了工作需要,那要看您工作上用的數(shù)據(jù)庫是那種數(shù)據(jù)庫,雖然不同數(shù)據(jù)庫之間的SQL語句絕大多數(shù)情況下是相通的,但不同的數(shù)據(jù)庫系統(tǒng)對SQL的支持還是有差別的。比如Oracle和MySQL使用的PL/SQL,SQLServer使用的T-SQL,雖然都說自己兼容ANSI-SQL,但畢竟還是有些差別的。

明確了工作要用的數(shù)據(jù)庫,接下來就是學習方法問題了。我下面就以SQLServer為例,說一下怎樣可以快速入門。

首先,您要盡快熟悉SQLServer的管理器。老版的SQLServer2000中,管理器分兩個,一個叫做企業(yè)管理器、一個叫做查詢分析器,通俗來說,企業(yè)管理器是傻瓜化的管理界面,主要用來創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、備份數(shù)據(jù)庫等,查詢分析器主要用來寫SQL腳本;從2000之后,企業(yè)管理器和查詢分析器就整合一起了,名字叫做Microsoft SQL Sever Management Studio,簡稱MSSMS,您可以看作是整合了傻瓜界面和SQL腳本。熟悉了工具,您干活才有基礎。

其次,您要盡快掌握SQLServer管理器的常用操作。平時我們在MSSMS中常用的操作,主要包括創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、備份數(shù)據(jù)庫、還原數(shù)據(jù)庫,這些雖然可以通過SQL腳本實現(xiàn),但通過圖形界面會更直觀,還包括諸如導出表數(shù)據(jù)、導入外部Excel數(shù)據(jù)等,都要盡快掌握。這些操作平時經(jīng)常用。

最后,您要盡快掌握基本的SQL語法,并在以后的工作中盡快提高自己的SQL水平。常用的SQL語法,無外乎查詢、插入、更新、刪除等,相關的語法都比較簡單,但要結合工作需要實現(xiàn)各種個性化需求就不太容易了。在工作中不停的解決各種實際問題,您的SQL水平自然就會越來越高啦。

為了只是儲備而學習SQL和數(shù)據(jù)庫,不下功夫很難學好

俗話說學以致用,如果您不是為了眼下的工作學習SQL和數(shù)據(jù)庫,想要學好確實不容易。SQL語法是很枯燥的,沒有具體的場景結合,根本很難深入進去。

所以,如果為了知識儲備學習SQL和數(shù)據(jù)庫,最重要,您要自己創(chuàng)造一個場景,有了場景,才會有深入學習的興趣。您可以著重以下幾點:

首先,選擇最有前途的數(shù)據(jù)庫系統(tǒng)。ANSI-SQL雖然是標準的,但沒有數(shù)據(jù)庫系統(tǒng)的支撐,您寫了SQL也無法驗證成果,何談學習的興趣呢。建議您選擇最有前途的數(shù)據(jù)庫系統(tǒng),我推薦首選PostgreSQL,pgSQL號稱全世界最先進的開源數(shù)據(jù)庫系統(tǒng),沒有任何商業(yè)應用限制、生命力極其旺盛、運行穩(wěn)定堅若磐石、完美支持各種標準SQL語法、對JSON的支持是所有傳統(tǒng)關系型數(shù)據(jù)庫系統(tǒng)中最好的。推薦一個太單調,您也可以選擇SQLServer、MySQL等,其實Oracle和MySQL本人并不推薦,MySQL已經(jīng)被Oracle收購了而且快要玩兒壞了,對這種鉆到錢眼兒里面的,聯(lián)想一下目前美國的各種作為,指不定哪天給你一下子。

其次,創(chuàng)建一個完整的應用場景。沒有場景是沒辦法提起興趣的,沒有場景可以創(chuàng)建場景,如何創(chuàng)建呢?最簡單的,如果您是大學生,就搞一個完整的學生學籍應用場景;如果您是已經(jīng)參加工作的剛好從事IT行業(yè),可以根據(jù)行業(yè)潛在的應用需求模擬一個完整的應用場景。總之結合自己的職業(yè)和特長來做,這樣您才能充分考慮您使用數(shù)據(jù)庫要表達的都包含那些。

最后,通過SQL完整實現(xiàn)場景的各種應用需求。這才是正事兒。首先您要設計要完整表達場景,都需要建什么表、表之間都有那些關聯(lián)關系、實現(xiàn)各種查詢應該如何創(chuàng)建合理的視圖、實現(xiàn)各種業(yè)務處理需要創(chuàng)建什么樣的存儲過程。場景模擬完了,您基本也把大部分SQL語法都用到了,自然而然就搞懂了數(shù)據(jù)庫和SQL。

程序開發(fā)人員要與自己的程序實現(xiàn)融合

如果您是程序開發(fā)人員,學習數(shù)據(jù)庫不要單純學習數(shù)據(jù)庫和SQL語句,而是要盡快與自己常用的編程環(huán)境融合起來。

比如您是Delphi、CC++或Java開發(fā)工程師,您選擇了數(shù)據(jù)庫之后,首要考慮的就是如何通過程序連接數(shù)據(jù)庫、通過程序操控數(shù)據(jù)庫。程序連接數(shù)據(jù)庫的常見方式一般是ODBC,但常見的編程語言與常見的數(shù)據(jù)庫之間,都會有獨有的數(shù)據(jù)庫驅動,您首要掌握的,就是如何使用數(shù)據(jù)庫驅動。

大多的編程環(huán)境都會提供數(shù)據(jù)庫連接和操控組件。比如Delphi中,就提供了ADO、FireDAC、UniDAC等多種連接方式,您要選擇風頭正盛的連接方式,比如ADO已經(jīng)開始過時了,您可以選擇FireDAC,掌握了連接方式和操控方式,您再把重點放在SQL腳本的各種語法處理上。

總之,學以致用才是學習的動力,如果您有明確的應用場景和目標,想要學好SQL和數(shù)據(jù)庫一點都不難,您說呢?

評論0 贊同0
  •  加載中...
joywek

joywek

回答于2022-06-28 13:42

如果單指SQL腳本應用,這個都難的話,高中水平估計都不到!如果指的是對數(shù)據(jù)庫進行性能優(yōu)化、性能監(jiān)控、空間及內存管理、BUG追蹤等運維性的工作話,確實要花比較多時間與精力學習和實踐。

評論0 贊同0
  •  加載中...
JinB

JinB

回答于2022-06-28 13:42

結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種數(shù)據(jù)庫查詢和程序設計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關系數(shù)據(jù)庫系統(tǒng)。

作為一個做了17年的資深數(shù)據(jù)庫管理員,我可以很肯定的跟你說,自學SQL數(shù)據(jù)庫不難?,F(xiàn)在主流的大型數(shù)據(jù)庫oracle,mssql,mysql 用的都是標準的SQL語言。oracle是最規(guī)范的,mssql是包容性最大的。先學習mssql相信你最容易入門。買一本mssql的入門書籍,對著書本看看mssql是如何安裝的,安裝好之后。先了解一下mssql的企業(yè)管理器的各項功能是什么,如何建立數(shù)據(jù)庫,建表。再學習最基礎的insert,delete,update,select語法,就是所謂的增刪改查,這樣基本就可以叫入門了。如果只是興趣愛好的話,到這步也就差不多了。

但是如果是工作需求的話,那就還有更深入地需要研究學習。利用學過的知識去建立視圖,存儲過程,函數(shù),數(shù)據(jù)庫維護等等其它功能。我以前參加工作之前也是自己買了幾本入門的書,學習一段時間就基本熟練了,但是參加具體工作之后才發(fā)覺數(shù)據(jù)庫這東西是入門容易精通難,實際遇到的問題太多了,一個功能用兩種不同的語法去實現(xiàn),也會有不同的效果,確實需要實際經(jīng)驗的了。

評論0 贊同0
  •  加載中...
LeanCloud

LeanCloud

回答于2022-06-28 13:42

跟編程語言一樣,SQL非??简炄说倪壿嬎季S能力。編寫SQL就相當于編寫邏輯運算式,要將你要做的事翻譯成SQL的關鍵字并正確地組合。SQL的關鍵字都有其確切的含義。如:and就是且的意思,or就是或的意思,where其實是如果的意思,括號()其實是表示先運算,from顧名思義是從、來源的意思,select顧名思義就是查詢的意思。如SQL語句:select * from emp where age>60 or age<16;這句SQL的意思就是:從emp表查詢數(shù)據(jù),每行數(shù)據(jù)如果age大于60或者age小于16則把這行查詢出來。寫代碼就是將自己要做的事翻譯成代碼,首先要會翻譯,其次要會設計,設計就必須要會動腦筋了,要自己想出解決問題的方案了。

評論0 贊同0
  •  加載中...
focusj

focusj

回答于2022-06-28 13:42

應該說任何編程語言自學都難

首先,自學屬于粗放式學習

你沒有目標性,對于所學的知識僅限于記住了,不知道未來這個知識點有什么用途。就像我最近在學Python ,一些比較基的知識點學了忘忘了繼續(xù)學,連續(xù)幾遍還是容易忘。因為我沒有去實戰(zhàn)訓練。

其次,自學很難系統(tǒng)性的面面俱到

我們學習老師總是給我們講解各類知識點的作用,而能夠系統(tǒng)性梳理這些知識點很難,你得完全理解各個知識點之間的內在聯(lián)系。就比如SQL ,分為基礎語法部分的增刪改查,進階部分涉及到復雜點的邏輯功能實現(xiàn),再高級點對語句的性能優(yōu)化。而這些只是針對SQL 開發(fā)而言,還有與之對應的數(shù)據(jù)庫管理那就又是一個體系了。

而想將這些知識全部梳理清楚,沒有一個時間的沉淀是做不到的。

最后,學習一門語言還是要多動手

好些自學的都只是跟著別人敲一遍代碼就以為是動手了,殊不知真正的動手是離開了教程自己去找訓練習題,自己查找解決辦法。不僅僅要解決問題,還要解決為什么要這么解。

以上不只針對SQL ,任何自學編程我覺得均是如此。

評論0 贊同0
  •  加載中...
tinna

tinna

回答于2022-06-28 13:42

互聯(lián)網(wǎng)技術學習任何一門基本都是學會不難,難了不會!

學習技術的話,最好先根據(jù)網(wǎng)絡上的視頻去學習,也就是別人帶著學可以避免很多坑。

跟著視頻學的話,網(wǎng)絡上的基本都是偏基礎的,學了之后基本也就是可以用,簡單的增刪改查,安裝,卸載什么的,如果想深入的學習,還是需要看書籍,推薦《高性能MySQL第三版》 人稱數(shù)據(jù)庫紅皮書,很不錯,等會了增刪改查,建議仔細的看一下這本書!

評論0 贊同0
  •  加載中...
YFan

YFan

回答于2022-06-28 13:42

首先,你說的SQL數(shù)據(jù)庫應該是兩個東西。

SQL是指搜索查詢語言,是一種數(shù)據(jù)查詢語言,可以用來編程,并查詢數(shù)據(jù)庫系統(tǒng)中的結果。

而數(shù)據(jù)庫是指數(shù)據(jù)庫系統(tǒng),用來存儲數(shù)據(jù)。給SQL返回數(shù)據(jù)。

SQL并不難學,有點計算機基礎,一個星期即可入門。網(wǎng)上有SQL完整教程。

數(shù)據(jù)庫系統(tǒng)就稍微難一點,需要懂比較底層的東西,如操作系統(tǒng),算法,數(shù)據(jù)結構。還要學會怎么優(yōu)化它,更快響應查詢速度。

評論0 贊同0
  •  加載中...

相關問題

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<