首頁 > 軟體

MySql常用資料型別與操作詳解

2022-07-28 22:05:43

常用資料型別

1、int:整形

2、double(m,d)

decimal(m,d):浮點數型別 (m指定長度,d表示小數點位數)

3、varchar(size):字串型別

4、timestamp:日期型別

資料庫基本操作

不管執行什麼語句,都要在語句的最後加上;(分號)。

1、建立資料庫

create database 資料庫名;

2、顯示當前資料庫

show databases;

3、刪除資料庫

drop database 資料庫名;

4、使用資料庫

use 資料庫名;

5、建立表

create table 表名;

6、檢視表結構

desc 表名;

7、插入資料

insert into 表名 values(對照列的型別寫入);

8、查詢語句

全列查詢

select * from 表名;

指定列查詢

select 列名,列名…… from 表名;

指定查詢欄位為表示式(在查詢時,同時進行一些運算)

select 列名+(-*/)列名 from 表名;

查詢欄位指定別名

select 列名…… as 別名 from 表名;

針對查詢結果去重

select distinct 列名 from 表名;

針對查詢結果進行排序

select * from 表名 order by 列名 asc/desc;//升序/降序

分頁查詢

select * from 表名 limit n;// 從0開始,篩選n條結果
select * from 表名 limit n offset s;//從s開始,篩選n條結果

條件查詢

select 列名 from 表名 where 條件;

常用運運算元:

and,or,not 與或非 (and優先順序比or高)

>,>=,<,<= 大於,大於等於……

= 比較相等,不比較NULL

<=>比較相等,比較NULL

!=,<> 不等於

between a and b 範圍匹配,在閉區間 [a,b]範圍內

in (option, ...) 如果是 option 中的任意一個,返回 TRUE(1)

is NULL 是 NULL

is not NULL 不是 NULL

like 模糊匹配,% 表示任意多個(包括 0 個)任意字元;_ 表示任意一個字元

以上查詢的結果都是一個"臨時表",資料庫的表都是在硬碟上的,而此處的這個查詢結果臨時表,不是在硬碟上,而是在記憶體中,隨著進行了輸出之後,資料也就被釋放了。所以上面操作都是對臨時表操作,對原始資料不會產生影響。

當用戶輸入sql之後,使用者端就會把這個sql包裝成網路請求,發給伺服器,伺服器這邊收到請求之後,就會操作硬碟,從硬碟中讀取資料把封包裝成響應。使用者端收到這個響應資料之後,就會臨時的在記憶體中把這個響應結果儲存起來並且在顯示器上輸出(標準輸出上列印)隨著列印完畢,在使用者端記憶體中儲存的結果資料也就被釋放了。

9、修改語句

update 表名 set 列名=值…… where 條件;

10、刪除語句

delete from 表名 where 條件;

這裡修改的是原始資料。

舉例說明:

建立資料庫:

顯示當前資料庫:

建立名為student的表(需要運算元據庫中的表時,需要先使用該資料庫):

檢視表結構:

插入並檢視:

insert進行插入的時候,可以只插入其中的某一列或者某幾個列的. 此時其他的列將採用預設值

可一次性插入多列,用(),隔開

如果某一種型別是datetime,可以用以下三種方式插入

查詢:

指定列查詢

指定查詢欄位為表示式

查詢欄位指定別名

針對查詢結果去重

針對查詢結果進行排序

升序

降序

如果有NULL值,預設NULL值為最小值

條件查詢

% 匹配任意多個(包括 0 個)字元 ,可以匹配到任意張開頭的名字

_ 匹配嚴格的一個任意字元 ,一個_能匹配到一個字元。

分頁查詢

查詢前三名的成績

修改:

把張三語文成績改為80

把所有人語文成績進行修改

將總分前三的每個人語文成績加上10

刪除:

約束型別

1、not null--- 指示某列不能儲存 NULL 值。

2、unique---保證某列的每行必須有唯一的值。

3、default---規定沒有給列賦值時的預設值。

指定預設值後,沒有給該列賦值時,該列預設值為指定預設值。

4、primary key(最重要的約束)not null 和 unique 的結合。確保某列(或兩個列多個列的結合)有有唯一標識,有助於更容易更快速地找到表中的一個特定的記錄。 主鍵約束,相當於資料的唯一標識。對於一個表來說,只能有一個列被指定為主鍵。

自增主鍵 primary key auto_increment,當設定好自增主鍵之後,此時插入的記錄,就可以不指定自增主鍵的值了(直接使用null來表示) ,交給mysql自行分配即可。

5、foreign key ---保證一個表中的資料匹配另一個表中的值的參照完整性。

也稱外來鍵約束,描述的是兩張表的兩個列之間的"依賴關係”子表依賴於父表(子表參照自父表)要求子表中對應的記錄得在父表中存在。

舉個例子:建立一個班級表和學生表如下,每個學生都要都屬於一個具體的班級,這個班級首先得存在,這裡學生表依賴班級表,就把學生表稱為”子表“,班級表稱為”父表“。

這種情況就可以用外來鍵約束來描述。

外來鍵約束,描述的是兩張表的兩個列之間的"依賴關係",子表依賴於父表(子表參照自父表)要求子表中對應的記錄得在父表中存在,班級表中的班級只有1,2,3,此時我在子表學生表中插入一個班級為10,就會出現錯誤,插入失敗。

插入班級表中有的班級就能插入成功。

外來鍵約束也同樣在約束父表,當父表中的某個記錄被子表依賴的時候,此時嘗試刪除修改都會失敗。

到此這篇關於MySql常用資料型別與操作詳解的文章就介紹到這了,更多相關MySql常用資料型別內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com