数据库常用语句
Select * from [table] where name?= "test"?? //查詢name字段等于test
Select * from [table] where [datatime] = #2013/9/9#?? //查詢datatime字段等于2013/9/9
?
alter table table1 add [test1] varchar(50),[test2] varchar(50)?? //添加字段列
?
select distinct * from 表名?? //去重數據
?
//UNION 運算符通過組合其他兩個結果表(例如TABLE1 和TABLE2)并消去表中任何重復行而派生出一個結果表
select [test1],[test2]
from [table1]
union
select [test1],[test2]
from [table2]
?
創建數據庫
創建之前判斷該數據庫是否存在 if exists (select * from sysdatabases where name='databaseName') drop database databaseName go Create DATABASE databasename on primary-- 默認就屬于primary文件組,可省略 ( /*--數據文件的具體描述--*/ name=‘databasename_data’,-- 主數據文件的邏輯名稱 filename=‘'所存位置:\databasename_data.mdf’, -- 主數據文件的物理名稱 size=數值mb, --主數據文件的初始大小 maxsize=數值mb, -- 主數據文件增長的最大值 filegrowth=數值%--主數據文件的增長率 ) log on ( /*--日志文件的具體描述,各參數含義同上--*/ name='databasename_log', -- 日志文件的邏輯名稱 filename='所存目錄:\databasename_log.ldf', -- 日志文件的物理名稱 size=數值mb, --日志文件的初始大小 filegrowth=數值mb--日志文件的增長值 )刪除數據庫
drop database databasename備份sql server
--- 創建備份數據的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 開始備份 BACKUP DATABASE pubs TO testBack創建新表
create table tabname(col1 type1 [not null] [primary key] identity(起始值,遞增量) ,col2 type2 [not null],..)--primary key為主鍵 identity表示遞增數量 根據已有的表創建新表: A:go use 原數據庫名 go select * into 目的數據庫名.dbo.目的表名 from 原表名(使用舊表創建新表) B:create table tab_new as select col1,col2… from tab_old definition only創建序列
create sequence SIMON_SEQUENCE minvalue 1 -- 最小值 maxvalue 999999999999999999999999999 -- 最大值 start with 1 -- 開始值 increment by 1 -- 每次加幾 cache 20;刪除表
drop table tabname--這是將表連同表中信息一起刪除但是日志文件中會有記錄刪除表中信息
delete from tabname-這是將表中信息刪除但是會保留這個表增加一個列
Alter table tabname add colname coltype刪除一個列
Alter table tabname drop column colname添加主鍵
Alter table tabname add primary key(col) 說明:刪除主鍵:Alter table tabname drop primary key(col)創建索引
create [unique] index idxname on tabname(col…。) 刪除索引:drop index idxname on tabname 注:索引是不可更改的,想更改必須刪除重新建。創建視圖
create view viewname as select statement 刪除視圖:drop view viewname基本的sql語句
(1) 數據記錄篩選: sql="select * from 數據表 where字段名=字段值 order by字段名[desc]" sql="select * from 數據表 where字段名like '%字段值%' order by 字段名 [desc]" sql="select top 10 * from 數據表 where字段名=字段值 order by 字段名 [desc]" sql="select top 10 * from 數據表 order by 字段名 [desc]" sql="select * from 數據表 where字段名in ('值1','值2','值3')" sql="select * from 數據表 where字段名between 值1 and 值2" (2) 更新數據記錄: sql="update 數據表 set字段名=字段值 where 條件表達式" sql="update 數據表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達式" (3) 刪除數據記錄: sql="delete from 數據表 where 條件表達式" sql="delete from 數據表" (將數據表所有記錄刪除) (4) 添加數據記錄: sql="insert into 數據表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)" sql="insert into 目標數據表 select * from 源數據表" (把源數據表的記錄添加到目標數據表) (5) 數據記錄統計函數: AVG(字段名) 得出一個表格欄平均值 COUNT(*;字段名) 對數據行數的統計或對某一欄有值的數據行數統計 MAX(字段名) 取得一個表格欄最大的值 MIN(字段名) 取得一個表格欄最小的值 SUM(字段名) 把數據欄的值相加 引用以上函數的方法: sql="select sum(字段名) as 別名 from 數據表 where 條件表達式" set rs=conn.excute(sql) 用 rs("別名") 獲取統計的值,其它函數運用同上。 查詢去除重復值:select distinct * from table1 (5) 數據表的建立和刪除: CREATE TABLE 數據表名稱(字段1 類型1(長度),字段2 類型2(長度) …… ) (6) 單列求和: SELECT SUM(字段名) FROM 數據表?
?
待續...
總結
- 上一篇: tar 解压命令
- 下一篇: SQL Server 2005如何起用