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...