SQL 語句集合

2022-04-29 04:57:10 字數 3831 閱讀 5757

where 子句

操作符     描述

=       等於

<>     不等於

where 子句

>       大於

<       小於

>=     大於等於

<=     小於等於

between         在某個範圍內

like 搜尋某種模式

備註:

在某些版本的 sql 中,操作符 <> 可以寫為 !=。

sql 使用單引號來環繞文字值(大部分資料庫系統也接受雙引號)。

如果是數值,請不要使用引號。

例如:如果只希望選取居住在城市 "beijing" 中的人,我們需要向 select 語句新增 where 子句:

select * from persons where city='beijing'

order by 語句

order by 語句用於根據指定的列對結果集進行排序。

order by 語句預設按照公升序對記錄進行排序。

如果您希望按照降序對記錄進行排序,可以使用 desc 關鍵字。

例項 1

以字母順序顯示公司名稱:

select company, ordernumber from orders order by company

例項 2

以字母順序顯示公司名稱(company),並以數字順序顯示順序號(ordernumber):

select company, ordernumber from orders order by company, ordernumber

例項 3

以逆字母順序顯示公司名稱,並以數字順序顯示順序號:

select company, ordernumber from orders order by company desc, ordernumber asc

select into

下面的例子會製作 "persons" 表的備份復件:

select *

into persons_backup

from persons

如果我們希望拷貝某些域,可以在 select 語句後列出這些域:

select lastname,firstname

into persons_backup

from persons

select into

例如:select *

into 學生備份

from 學生

sql check 約束

check 約束用於限制列中的值的範圍。

如果對單個列定義 check 約束,那麼該列只允許特定的值。

如果對乙個表定義 check 約束,那麼此約束會在特定的列中對值進行限制。

create table persons

id_p int not null check (id_p>0),

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255)

sql default 約束

default 約束用於向列中插入預設值。

如果沒有規定其他的值,那麼會將預設值新增到所有的新記錄。

create table persons

id_p int not null,

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255) default 'sandnes'

create table orders

id_o int not null,

orderno int not null,

id_p int,

orderdate date default getdate()

sql truncate table 語句

如果我們僅僅需要除去表內的資料,但並不刪除表本身,那麼我們該如何做呢?

請使用 truncate table 命令(僅僅刪除**中的資料):

truncate table 表名稱

改變資料型別例項(alter)

現在我們希望改變 "persons" 表中 "birthday" 列的資料型別。

我們使用下列 sql 語句:

alter table persons

alter column birthday year

請注意,"birthday" 列的資料型別是 year,可以存放 2 位或 4 位格式的年份。

auto increment 字段

我們通常希望在每次插入新記錄時,自動地建立主鍵欄位的值。

我們可以在表中建立乙個 auto-increment 字段。

下列 sql 語句把 "persons" 表中的 "p_id" 列定義為 auto-increment 主鍵:

create table persons

p_id int primary key identity,

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255)

ms sql 使用 identity 關鍵字來執行 auto-increment 任務。

預設地,identity 的開始值是 1,每條新記錄遞增 1。

要規定 "p_id" 列以 20 起始且遞增 10,請把 identity 改為 identity(20,10)

要在 "persons" 表中插入新記錄,我們不必為 "p_id" 列規定值(會自動新增乙個唯一的值):

insert into persons (firstname,lastname)

values ('bill','gates')

上面的 sql 語句會在 "persons" 表中插入一條新記錄。"p_id" 會被賦予乙個唯一的值。"firstname" 會被設定為 "bill","lastname" 列會被設定為 "gates"。

mid() 函式

mid 函式用於從文字欄位中提取字元。

sql mid() 語法

select mid(column_name,start[,length]) from table_name

round() 函式

round 函式用於把數值字段捨入為指定的小數字數。

sql round() 語法

select round(column_name,decimals) from table_name

format() 函式

format 函式用於對字段的顯示進行格式化。

sql format() 語法

select format(column_name,format) from table_name

現在,我們希望顯示每天日期所對應的名稱和**(日期的顯示格式是 "yyyy-mm-dd")。

例如:select productname, unitprice, format(now(),'yyyy-mm-dd') as perdate

from products

SQL語句集合

記錄下平時寫的稍微複雜點的sql 說明 a b是一對多關係 乙個a有多個b 查詢a中已有b的且狀態不是11020403的a資料 select from a where id not in select id from b where cp status 11020403 group by id an...

sql語句集合

新增注釋 給資料庫表新增注釋 comment on table 表名 is 注釋 給表字段新增注釋 comment on column 表名.欄位名 is 注釋 修改表結構 增加字段 alter table 使用者名稱 如果需要 表名 add 欄位名 資料型別 修改字段型別 alter table ...

SQL語句 操作集合

保留小數字數 select cast 列名as 數值型別,如decimal,numeric等 長度,小數點後位數 列名 from 表名 例 select cast sid as decimal 18,2 sid from user case 用法 單條件 select case xx when nu...