天天看點

MySql基礎之增删查改

1 :增加 Create

建立一個新的資料庫裡面的資料肯定都是空的,是以也沒有表;

MySql基礎之增删查改
1、建立表

使用以下文法進行表的建立:

create table tablename
(
屬性 1 類型 1 comment '備注',
屬性 2 類型 2 comment '備注',
屬性 3 類型 3 comment '備注'
);
-- 注意 這裡的comment 是用于添加注釋為了友善資料的了解 最後一行不需要以 “ , ” 結尾 其餘均需要 逗号結尾 最後的括号後要有 “ ; ” 作為結尾。
           

例如:

MySql基礎之增删查改

這時候我們再來查一下資料庫中的表:

MySql基礎之增删查改
2、插入資料

表建立好了接下來就是插入資料了,使用以下的基本文法:

(1)單行資料插入

例如:

MySql基礎之增删查改

然後我們在查詢一下表裡的資料:

MySql基礎之增删查改

(2)多行資料指定列插入

文法:

insert into tablename (屬性1, 屬性2, 屬性n) values     
(value1, value2, valueN), 
------------------------   
(value2, value2, valueN);
           

例如:

MySql基礎之增删查改

再來檢視一下表裡的資料:

MySql基礎之增删查改

可以看到這種多行資料插入也是可以插入的

注意: 再插入的時候資料應該按照表中的屬性的順序進行插入,當然也可以指定的插入如
MySql基礎之增删查改
否則就會
MySql基礎之增删查改

2 :查詢 Retrieve

查詢的基本文法就是

select 屬性1|屬性 2 from tablename 條件或特定情況
           

(1) 查詢全部資料

MySql基礎之增删查改

(2)指定列查詢

select 列1(屬性1),列2(屬性2) from tablename
           

例如:

MySql基礎之增删查改
MySql基礎之增删查改

(3)查詢字段為表達

例如:查詢所有同學的總分

MySql基礎之增删查改

(4)别名

上述講了查詢表達式的方法,之是以是表達式是因為,表裡的單一的屬性不能夠滿足需求,是以有了表達式,當然我們也可以給這些表達式加上别名就行備注一樣更加的清晰易懂。

文法:

例如:查詢各個學生的總分

MySql基礎之增删查改

(5)去重 DISTINCT

當想要對某一列的資料進行去重查詢時可以使用 distinct

文法:

例如:

MySql基礎之增删查改

(6)排序 ORDER BY

當想要對表中的某一列資料進行排序查詢時使用 order by

文法:

例如:

MySql基礎之增删查改

可以看到 國文成績是有序的 預設升序,當需要降序時 使用 文法:

例如:

MySql基礎之增删查改

當然也可以使用上面學習的表達式和别名進行排序,例如:

MySql基礎之增删查改

(7)條件查詢:WHERE

其實我們在上面已經使用了 where 進行一些特定的查詢 這是因為 其實 select * from table 一次查詢所有的資料是非常的緩慢的當資料非常大的時候,且資料又不是我們所需的時候就會比較的耗時還費力,比如我們想要查詢某一個人的資訊時 隻需要查詢該學生的學号就可以了 例如:

注意 這裡 where 可以使用表達式 但是不能使用别名
MySql基礎之增删查改

這裡就涉及到了很多的運算符總結為下:

比較運算符

運算符 說明
>, >=, <, <= 大于,大于等于,小于,小于等于
= 等于,NULL 不安全,例如 NULL = NULL 的結果是 NULL
<=> 等于,NULL 安全,例如 NULL <=> NULL 的結果是 TRUE(1)
!=, <> 不等于
BETWEEN a0 AND a1 範圍比對,[a0, a1],如果 a0 <= value <= a1,傳回 TRUE(1)
IN (option, …) 如果是 option 中的任意一個,傳回 TRUE(1)
IS NULL 是 NULL
IS NOT NULL 不是 NULL
LIKE 模糊比對。% 表示任意多個(包括 0 個)任意字元;_ 表示任意一個字元

例如:

MySql基礎之增删查改
MySql基礎之增删查改

邏輯運算符

運算符 說明
AND 多個條件必須都為 TRUE(1),結果才是 TRUE(1)
OR 任意一個條件為 TRUE(1), 結果為 TRUE(1)
NOT 條件為 TRUE(1),結果為 FALSE(0)

例如:

MySql基礎之增删查改

(8)分頁查詢:LIMIT

文法:

-- 起始下标為 0
-- 從 0 開始,篩選 n 條結果 SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n; -- 從 s 開始,篩選 n 條結果 SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n; 
-- 從 s 開始,篩選 n 條結果,比第二種用法更明确,建議使用 SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s
           

例如:

MySql基礎之增删查改
MySql基礎之增删查改

3 :更新 Update

文法:

例如:

MySql基礎之增删查改

4 :删除 Delete

文法:

例如:

MySql基礎之增删查改

删除表裡的所有資料:

例如:

MySql基礎之增删查改

另外删除整個表的文法是:

MySql基礎之增删查改

繼續閱讀