sql基礎入門——mysql與navicat連接之後的查詢語句的使用

        sql是操作數據庫中數據的語句,在不同的數據庫中會略有不同,如mysql,postgreSQL,oracle,sqlserver,sqlite等等,但是sql的基礎select、insert、update、delete語句都是相同的,本文只是介紹如何在mysql中,利用navicat可視化工具學習sql語句的select、insert、update、delete基礎,這四種語句是sql基礎中的基礎了,但是萬變不離其中,其他複雜的語句也都是這四種語句的組合。

        本文沒有介紹數據庫的函數、優化數據庫、優化sql語句等深層次只是,有sql基礎的自行繞過。。。。

select——查詢

insert——插入

update——更新

delete——刪除

from——從哪個表

where——查詢條件

join——表連接

order by——排序

一、確保mysql安裝成功,下圖是mysql安裝成功,並啓動服務的標誌:

<!--[if !supportLists]-->1、<!--[endif]-->計算機右鍵——管理——服務和應用程序——服務,查看mysql服務是否開啓


 

二、打開navicat軟件,將navicat與本地mysql服務連接:



 點擊connection——選擇mysql,出現下圖界面:



 按照自己安裝mysql中的信息,填好。出現下面的信息,證明連接成功:

 

三、創建數據庫

首先打開一個執行sql語句的窗口:



 執行創建數據庫的sql語句



 創建數據庫的sql執行後,要刷新,在下圖位置,右鍵,點擊refresh



 然後就能看見新建的sqltest數據庫了

四、創建表的語句



首先打開sqltest數據庫執行sql的窗口,注意,剛纔打開執行sql的窗口是執行整個數據庫的sql的窗口,現在我們要在sqltest數據庫中執行sql語句,那麼就要打開sqltest的sql窗口。

在上圖紅箭處Querries右鍵新建一個query,就打開了執行sql的窗口,

然後執行創建表的sql語句:

(主鍵外鍵的知識沒有說明,,,)

 

利用軟件添加一條數據:



 

五:insert語句:

打開執行sql語句的窗口,寫入sql語句:



 這條sql語句的意思是,向test表中,添加一條數據,id爲2,name爲test2,age爲21,

刷新test表,就能查看到test表中多了一條剛剛insert進去的數據。

 

六、select語句
利用select語句查看錶中的數據:



 select * 意思是查詢所有屬性,

 

   下面是帶查詢條件的sql語句: 


 這條sql語句的意思是,查詢在test表中,id爲1的數據,將這條數據的name屬性和age屬性查詢出來。

 

七、update語句



 

 

 八、delete語句


 

九、表連接查詢,

現在我們建立兩張表(我口述,讀者按上文的方式,自己建表吧。。。),學生表student,和 教師teacher

表,表結構和其中的數據如圖:

student表:id是主鍵(一條數據的標識,每條數據的主鍵肯定不同)

                  name:學生姓名

                  teacher_id:該學生所對應的教師的id(是個外鍵)

 teacher表:

                id:主鍵

                name:姓名

 現在我想知道”學生zhangsan的老師的名字是什麼“。

在student表中,能夠看出,學生zhangsan所對應的教師的id,也就是teacher_id是1,在teacher表中,id爲1的教師的那麼是teacher1,那麼就能得出學生zhangsan的老師的名字是teacher1,

那麼用sql怎麼實現呢,這就是表的連接:

 


上面圖中的sql語句就是一個最簡單的表連接,能夠看出就是最基本的select、from、where組合,

上圖中的sql首先去看括號中的語句,也就是    select teacher_id from student where name='zhangsan'    

這條語句能夠查詢出名字爲zhangsan的學生的teacher_id ,我們能在表中找出值爲1,那麼剩餘的也就是括號外的sql語句就變成了   select name from teacher where id=1;  這樣,教師的名字就得到了

 

十、其他重要的sql語句,

select count(*) from test    查詢test表中共有多少條數據

select count(*) from test where age=21   查詢test表中age爲21的數據一共有多少條,

select count(*) from test where age>21   查詢test表中age大於21的數據一共有多少條,數據庫中的int類型支持大於小於等比較。

select count(*) from test where age>21 and  age<30  查詢test表中age大於21並且小於30的數據一共有多少條

select * from test order by id desc 按id降序排序

——還有一種查詢是查詢從第幾條到第幾條,也就是分頁查詢, 不同的數據庫sql語句不同,mysql數據庫用的是limit語句,oracle用rownum語句。。。

還有很多查詢方式,但都是select、from、where。。。。這些基礎的組合。。。。。。

在數據庫中自己會有一些運算的函數,比如求和的add函數等,還能自定義函數,函數就比較難了,,不再這基礎篇寫了。

 

       sql語句知識很多,這裏只是總結了最基礎的一點點東西,其他的知識也有從這些基礎知識中演化出來的,多加練習,會的東西會越來越多,

       不同的數據庫的sql是會有不同,但是一個數據庫的sql會了,其他數據庫的sql也就會了,所以在剛學sql時,沒必要特意挑選數據庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章