資料庫(database)
儲存有組織的資料的容器
表(table)
某種特定型別資料的結構化清單(同乙個資料庫中表名是唯一的哦)
模式(schema)
關於資料庫和表的布局及特性的資訊
列(column)
表中的乙個字段。所有表都是有乙個或多個列組成的
資料型別(datatype)
所允許的資料的型別。每個表列都有相應的資料型別,它限制(或允許)該列中儲存的資料(此處注意資料型別相容)
行(row)
表中的一行記錄,也就是一條記錄
主鍵(primary key)
一列(或多列),其值能夠唯一標示表中的每一行資料
關於主鍵使用,建議不管使用還是不使用都在建立表的時候定義好主鍵,便於以後的管理
表中的任意列都可以作為主鍵,只要滿足以下條件:
sql是structured query language(結構化查詢語言),sql是一門專門與資料庫互動的語言
sql中的關鍵字,表示查詢的意思
--表示從table中查詢所有的行
select
*from
table
;
select 檢索多個列select acolumn, bcolumn, ccolumn from
table
;
select 檢索所有列--萬用字元*,表示檢索所有的字段
select
*from
table
;
注意:使用萬用字元
一般而言,我們在使用sql查詢資料庫的時候,建議寫萬用字元,但是在程式開發中,除非你確實需要表中的每一列,否則最好別使用萬用字元,雖然使用萬用字元能讓你自己省事,不用明確的寫出所有的列名,但是檢索不需要的列通常會降低檢索和應用程式的效能,在後期的開發工作中還需要考慮sql優化
指示資料庫只返回不同的值
select
distinct id from
table
;
不能部分列使用
--表示id和name同時不同的會被檢索出來
select
distinct id, name from
table
;
限制返回的資料的行數
--表示返回10條資料
select
top10 id from
table
;
--表示後面的文字是注釋
#表示這一行是注釋
select
top10 id from
table
;
如果不排序,檢索出的資料並不是隨機顯示的,一般將以資料在底層表**現的順序顯示。
取乙個或多個列對資料進行排序
select
*from
table
order
by id;
按照多個列排序,簡單指定列名,之間用逗號分割即可
select
*from
table
order
by id, name, age;
按照列名索引進行排序(不常用)
--表示按照id和name對返回的資料排序
select id, name, age from
table
orderby1
,2;
指定排序順序
公升序(a到z),降序(z到a),資料庫預設是公升序
--預設按照公升序排序
select id from
table
order
by id;
--設定按照降序排序
select id from
table
order
by id desc
;
desc是descending的縮寫表示降序,asc是ascending的縮寫表示公升序
如果對於多個列進行排序時,指定某列使用desc,那麼這個列是採用了降序,其他的不標示的列還是預設公升序排序
SQL必知必會》讀書筆記
慎用 檢索所有列 一般而言,除非你確實需要表中的每一列,否則最好別使用 萬用字元。雖然使用萬用字元能讓你自己省事,不用明確列出所需列,但檢索不需 要的列通常會降低檢索和應用程式的效能。使用萬用字元有乙個大優點。由於不明確指定列名 因為星號檢索每一列 所以能檢索出名字未知的列。2.關於distinct...
《SQL必知必會》讀書筆記
第1章 了解sql 第2章 檢索資料 第3章 排序檢索資料 第4章 過濾資料 不等於 小於 小於等於 第5章 高階資料過濾 第6章 用萬用字元進行過濾 第7章 建立計算字段 第8章 使用資料處理函式 第9章 彙總資料 第10章 分組資料 第11章 使用子查詢 第12章 聯結表 第13章 建立高階聯結...
SQL必知必會讀書筆記(一)
管理系統 dbms 資料庫是通過 dbms 建立和操縱的容器,而具體它究竟是什麼,形式如何,各種資料庫都不一樣 表 table 某種特定型別資料的結構化清單。資料庫中的每個表都有乙個名字來標識自己。這個名字是唯一的,即資料庫中沒有其他表具有相同的名字。有的資料庫還使用資料庫擁有者的名字作為唯一名的一...