tft每日頭條

 > 生活

 > sql基礎語句教程

sql基礎語句教程

生活 更新时间:2024-12-02 09:50:27

從今天開始,就要正式和SQL語句接觸了。我們主要以MySQL的語句舉例說明,其它類型的RDBMS語句也大同小異,隻有個别地方有所區别。

SQL書寫基本規則

1.每一條語句,最後必須以分号(;)結尾。

2.語句的關鍵字(具有一定功能)、表名、列名都對大小寫不敏感,也就是說不區分大小寫。盡管如此,為了便于理解,有時也可将關鍵字和表的首字母大寫。

3.語句的内容之間,要用空格分開,不要連在一起寫。

數據庫和表的創建

首先我們當然要建立一個自己的數據庫了,像之前那樣用命令行登錄MySQL。然後用create database name;語句來建立你數據庫,這裡的name就是你要創建的庫的名字:

sql基礎語句教程(SQL基礎内容介紹)1

這裡我們建立了一個名為“shell”的數據庫。庫的名稱包括之後的表名、列名,隻能用英文字母、數字和下劃線(_)來創建。之後我們就要在庫裡面創建表了,需要先聲明表名、列名等其他内容:

sql基礎語句教程(SQL基礎内容介紹)2

如上圖,我們創建了一個叫做‘cargo’的表,下面有3列内容:最左邊是列的名字,可以看到共有6列,中間是列的數據類型,右邊是列的約束條件,最下面一行primary key也是約束條件。

其中,列的數據類型必須聲明。上圖共出現了4種數據類型,我們挨個來看。首先是CHAR(3),代表固定長度字符串,括号中的3代表字符串的最大長度為3,若長度小于3,會自動補齊。其次是DATE,代表日期類型,意思就是date這一列都是日期類的數據。接着是VARCHAR(50),代表可變長度字符串,括号中的50同樣表示最大長度為50,但若長度小于50,不會自動補齊。最後是INTEGER,代表整數型,意味着這一列隻能輸入整數,不能輸入小數。

再來看看約束的設置,上圖中id、name、type這三列設置了NOT NULL的約束,意為這幾列的數據不能為空,必須得填上。最後一行PRIMARY KEY是主鍵約束,主鍵保證這一列數據唯一。也就是說id列中的數據不能重複,唯一确定一行。

至此,我們就将表格的框架搭好了,下面就該往“shell”表裡插入數據了:

sql基礎語句教程(SQL基礎内容介紹)3

start transaction表明要開始的事務,最後的commit表示提交事務。中間就是我們要插入的語句,insert into 表名 values(數據);插入時都是按一行一行來插,所以數據必須與其對應的列的類型相匹配。在表名和數據值之間我們省略了列名,意味着我們要對所有的列插入數據;如果隻想對個别列插入數據,在表名後面加上對應的列的名字即可。

增删改查

插入數據後,我們如何查看表中的内容呢?可以用以下語句來實現:

sql基礎語句教程(SQL基礎内容介紹)4

select 後面的*代表選擇所有列(數據量較大時,不建議這樣寫),一般我們選取其中幾列就可以:

sql基礎語句教程(SQL基礎内容介紹)5

如果這個表作廢,我們想删除掉呢?可以使用

drop table shell;

需要注意的是,删除掉的表是無法恢複的,所以要謹慎操作。

如果想在表中添加某些列呢?

alter table shell add column 列名 數據類型;

删除某一列:

alter table shell drop column 列名;

改變表的名字:

rename table shell to 新表名;

為列設定别名

有時為了方便查詢和便于理解,我們會給列名設定一個其他的名字。隻需在原列名後加入AS關鍵字即可:

sql基礎語句教程(SQL基礎内容介紹)6

注意,如果别名是中文,必須用雙引号(英文狀态)括起來才可以。as關鍵字同樣不區分大小寫。

select語句後也可以有常數:

sql基礎語句教程(SQL基礎内容介紹)7

如上圖,結果會将每一行都加入此常數。這個常數可以是字符串、數字,也可以是日期。

删除重複行

如果我想知道這個表總共有多少種類型的數碼産品呢?我們需要用distinct關鍵字來去重:

sql基礎語句教程(SQL基礎内容介紹)8

可以看到,去重後,共有5種類型。原來我們有6行數據,有2行是重複類型。如果distinct作用于多列,隻有這幾列的行數據完全一緻,才會被删除。

where語句篩選行

之前我們的查詢結果都是返回的所有行,如果我隻想要其中一部分的數據呢?比如:

sql基礎語句教程(SQL基礎内容介紹)9

上圖隻返回了電腦類型的一些列,而其他手機、耳機等類别被where語句篩選掉了,where關鍵字後面跟一些條件表達式即可。

最後需要注意的是,SQL中語句的書寫順序是固定的,不可随意更改。正确的順序如下:

select...

from...

where...;

一個語句最後的分号必須要寫,切記!

今天的内容到此結束,SQL語句的長征才剛剛開始。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved