sql 的資料定義語言 (ddl) 部分使我們有能力建立或刪除**。我們也能夠定義索引(鍵)。規定表之間的鏈結,以及施加表間的約束。sql 中最重要的 ddl 語句:
not null 約束強制列不接受 null 值。
not null 約束強制字段始終包括值。這意味著,假設不向字段加入值。就無法插入新記錄或者更新記錄。
unique 約束唯一標識資料庫表中的每條記錄。
unique 和 primary key 約束均為列或列集合提供了唯一性的保證。
primary key 擁有自己主動定義的 unique 約束。
請注意,每乙個表能夠有多個 unique 約束。可是每乙個表僅僅能有乙個 primary key 約束。
primary key 約束唯一標識資料庫表中的每條記錄。
主鍵必須包括唯一的值。
主鍵列不能包括 null 值。
每乙個表都應該有乙個主鍵。而且每乙個表僅僅能有乙個主鍵。
乙個表中的 foreign key 指向還有乙個表中的 primary key。
check 約束用於限制列中的值的範圍。
假設對單個列定義 check 約束,那麼該列僅僅同意特定的值。
假設對乙個表定義 check 約束,那麼此約束會在特定的列中對值進行限制。
default 約束用於向列中插入預設值。
假設沒有規定其它的值。那麼會將預設值加入到全部的新記錄。
update 語句用於改動表中的資料。
update 表名稱 set 列名稱 = 新值 where 列名稱 = 某值insert into 語句用於向**中插入新的行。
insert into 表名稱 values (值1, 值2,....)我們也能夠指定所要插入資料的列:
insert into table_name (列1, 列2,...) values (值1, 值2,....)delete 語句用於刪除表中的行。
delete from 表名稱 where 列名稱 = 值select 語句用於從表中選取資料。
結果被儲存在乙個結果表中(稱為結果集)。
運算子:可在 where 子句中使用:
操作符描寫敘述=等於
<>
不等大於<
小=大於等於
<=
小於等於
between
在某個範圍內
like
搜尋某種模式
凝視:在某些版本號的 sql 中,操作符 <> 能夠寫為 !=。
and 和 or 可在 where 子語句中把兩個或多個條件結合起來。
假設第乙個條件和第二個條件都成立,則 and 運算子顯示一條記錄。
假設第乙個條件和第二個條件中僅僅要有乙個成立,則 or 運算子顯示一條記錄。
order by 語句用於依據指定的列對結果集進行排序。order by 語句預設依照公升序(asc)對記錄進行排序。
假設您希望依照降序對記錄進行排序,能夠使用 desc keyword。
top 子句用於規定要返回的記錄的數目。對於擁有數千條記錄的大型表來說,top 子句是非常實用的。
凝視:並不是全部的資料庫系統都支援 top 子句。
select top number|percent column_name(s)樣例from table_name
select top 5 * from picture;
#查詢50%的記錄
select top 50 persent * from picture;
select column_name(s)樣例from table_name
limit number
select *from persons
limit 5
select column_name(s)樣例from table_name
where rownum <= number
select *like 操作符用於在 where 子句中搜尋列中的指定模式from persons
where rownum <= 5
在搜尋資料庫中的資料時,sql 萬用字元能夠替代乙個或多個字元。
sql 萬用字元必須與 like 運算子一起使用。
在 sql 中。可使用以下萬用字元:
萬用字元描寫敘述
%替代乙個或多個字元
_僅替代乙個字元
[charlist]
字元列中的不論什麼單一字元
[^charlist]
或者[!charlist]
不在字元列中的不論什麼單一字元
in 操作符同意我們在 where 子句中規定多個值。
select column_name(s)from table_name
where column_name in (value1,value2,...)
操作符 between ... and 會選取介於兩個值之間的資料範圍。
這些值能夠是數值、文字或者日期。
select column_name(s)如需以字母順序顯示介於 "adams"(包括)和 "carter"(不包括)之間的人,請使用以下的 sql:from table_name
where column_name
between value1 and value2
select * from persons如需使用上面的樣例顯示範圍之外的人,請使用 not 操作符:where lastname
between
'adams'and
'carter'
select * from persons重要事項:不同的資料庫對 between...and 操作符的處理方式是有差異的。某些資料庫會列出介於 "adams" 和 "carter" 之間的人,但不包括 "adams" 和 "carter" ;某些資料庫會列出介於 "adams" 和 "carter" 之間幷包括 "adams" 和 "carter" 的人。而還有一些資料庫會列出介於 "adams" 和 "carter" 之間的人,包括 "adams" 。但不包括 "carter" 。where lastname
not
between 'adams' and 'carter'
所以。請檢查你的資料庫是怎樣處理 between....and 操作符的!
通過使用 sql,能夠為列名稱和表名稱指定別名(alias)。
表的 sql alias 語法
select column_name(s)
from table_name
as alias_name
列的 sql alias 語法
select column_name as alias_name
from table_name
alias 例項: 使用表名稱別名
假設我們有兩個表各自是:"persons" 和 "product_orders"。
我們分別為它們指定別名 "p" 和 "po"。
如今,我們希望列出 "john adams" 的全部定單。
我們能夠使用以下的 select 語句:
select po.orderid, p.lastname, p.firstname
from persons as p, product_orders as po
where p.lastname='adams' and p.firstname='john'
不使用別名的 select 語句:
select product_orders.orderid, persons.lastname, persons.firstname
from persons, product_orders
where persons.lastname='adams' and persons.firstname='john'
從上面兩條 select 語句您能夠看到,別名使查詢程式更易閱讀和書寫。
select into 語句從乙個表中選取資料,然後把資料插入還有乙個表中。
select into 語句經常使用於建立表的備份復件或者用於對記錄進行存檔。
您能夠把全部的列插入新錶:
select *或者僅僅把希望的列插入新錶:into new_table_name [in externaldatabase]
from old_tablename
SQL基礎總結 20150730
sql 的資料定義語言 ddl 部分使我們有能力建立或刪除 我們也可以定義索引 鍵 規定表之間的鏈結,以及施加表間的約束。sql 中最重要的 ddl 語句 not null 約束強制列不接受 null 值。not null 約束強制字段始終包含值。這意味著,如果不向字段新增值,就無法插入新記錄或者更...
SQL基礎總結
sql全稱是 結構化查詢語言 structured query language sql structured query language 是一種資料庫查詢和程式語言,用於訪問資料以及查詢 更新和管理關係資料庫系統。sql同時也是資料庫檔案格式的擴充套件。1.運算元據庫 1.1建立資料庫 crea...
基礎SQL語句總結
一般對於資料庫的操作有增刪改查。增是指在資料庫中增加一行或者多行資料 insert into.刪是指刪除資料庫中一行或多行資料 delect from.改是指在資料庫中修改某些字段 update.set.查指查詢資料庫中的資料。可以是 的也可以是針對某乙個欄位的 一 查詢語句 1 簡單的查詢 列如資...