為了使用select檢索表資料,必須至少給出兩條資訊——想選擇什麼,以及從什麼地方選擇。
輸入:select ***
from students;
分析:上述語句利用select語句從students表中檢索乙個名為***的列。
注意事項1:未排序資料:由於未明確排序查詢結果,則返回的資料的順序沒有意義,只要返回的列數相同即是正常的。
注意事項2:多條sql語句必須以;分隔。單條並不需要。
注意事項3:sql語句不區分大小寫。(版本不同會有差異)
注意事項4:處理sql語句時,所有空格都被忽略。sql語句可以在一行上給出,也可以分成多行。
只需要在select後跟上多個列名即可。
注意事項:最後乙個列名後如果加了逗號,將會出錯。
可使用星號(*)萬用字元來達成目的,而不需要逐一列出列名。
舉個例子,我們select檢索2012班級線代科目的成績,很大可能會檢索出許多成績相同的行,如果我們只需要具有不同值的行,我們該怎麼檢索呢?這時,我們可以使用distinct關鍵字。
栗子:輸入:
select distinct score
from linear algebra;
注意事項1:distinct不僅僅用在前置它的列,而是所有列。
limit 子句。例如:limit 5指示mysql返回不多於5行。limit 5,5指示mysql返回從行5開始的5行。第乙個數為開始位置,第二個數為檢索行數。
注意事項1:檢索出來的第一行是行0,limit 1,1檢索的是第二行。
注意事項2:mysql 5支援使用limit 4 offset 3表示limit 3,4。這樣我們更不容易搞糊塗。
栗子:輸入:
select bag.brand
from supermarket.bag;
有些情況下需要使用完全限定名。(具體待之後總結)
關聯式資料庫設計理論認為,如果不明確規定排序順序,則不應該假定檢索出的資料的順序有意義。為了明確排序檢索資料,我們可以使用order by子句(clause)。
栗子:輸入:
select prod_price
from pro
order by prod_price;
栗子:輸入:
select stu_grade,stu_age,stu_***;
from students
order
by stu_grade,stu_age;
對於上面的例子,僅在多行具有相同的stu_grade值時才對學生按stu_age進行排序。
預設公升序,可以使用desc關鍵字以達到降序排序的目的。
栗子:輸入:
select stu_grade,stu_age,stu_***;
from students
order
by stu_grade desc;
注意事項1:desc只應用於直接位於其前面的列名。
注意事項2:order by子句應確保在from子句之後,limit子句應確保在order by子句之後。
mysql學習筆記 51 mysql學習筆記
初學mysql時整理,隨時更新 資料操作 增 insert into 表名 字段列表 values 值列表 值列表 如果要插入的值列表包含所有字段並且順序一致,則可以省略字段列表。可同時插入多條資料記錄!replace 與 insert 完全一樣,可互換。insert into 表名 set 欄位名...
mysql學習筆記 51 Mysql 學習筆記
一.首先進入mysql mysql u root p新增使用者許可權設定 grant all privileges on to jerry localhost identified by aa1234567 只允許本機訪問 grant all privileges on to jerry 10.80...
mysql做筆記 mysql學習筆記
alter table 新增,修改,刪除表的列,約束等表的定義。檢視列 desc 表名 修改表名 alter table t book rename to bbb 新增列 alter table 表名 add column 列名 varchar 30 刪除列 alter table 表名 drop ...