a、判斷資料庫是否存在
if exists(select * from sys.databases where name=』
庫名』) --
刪除資料庫
drop database 庫名b
、判斷要建立的表名是否存在
if exists(select * from dbo.sysobjects where id=object_id(n'[dbo].[
表名]')and
objectproperty(id, n'isusertable') = 1)
-- 刪除表
drop table [dbo].[表名]
c、--
判斷要建立臨時表是否存在
if object_id('tempdb.dbo.#
臨時表名
') is not null
drop table #
臨時表名
d、判斷要建立的儲存過程名是否存在
if exists(select * from dbo.sysobjects where id=object_id(n'[dbo].[
儲存過程名
]')and
objectproperty(id, n'isprocedure') = 1)
-- 刪除儲存過程
drop procedure [dbo].[
儲存過程名]
f、判斷要建立的檢視名是否存在
if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[
檢視名]') and objectproperty(id, n'isview') = 1)
-- 刪除檢視
drop view [dbo].[
檢視名]
g、判斷要建立的函式名是否存在
if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[
函式名]') and xtype in (n'fn', n'if', n'tf'))
-- 刪除函式
drop function [dbo].[
函式名] h
、判斷列是否存在
if exists(select * from syscolumns where id=object_id('
表名') and name='
列名') --
刪除列alter table
表名drop column 列名i
、判斷表中是否存在索引
if exists(select * from sysindexes where id=object_id('
表名') and name='
索引名')
a1、表的建立
create table tabname
(col1 type1 [not null] [primary key],
col2 type2 [not null],..)
a2:使用舊表建立新錶
select * into
目的資料庫名
.dbo.
目標表名
from
原表名
a3:使用舊表建立新錶
create table
新錶名as select列1,
列2… from
舊表名definition only
a4:複製表
(只複製結構
,源表名:
a 新錶名:b)
select * into b from a where 1<>1
b、增加列
if not exists
(select 1 from syscolumns sc,sysobjects so
where sc.id=so.id and sc.name='
列名' and so.name='表名'
)begin
alter table
表名add
列名型別
not null default('')
endc
、修改列
declare @name varchar(100)
declare @sql varchar(1000)
select @name = b.name from syscolumns a,sysobjects b where a.id=object_id('
表名') and a.name = '
列名' and b.id=a.cdefault and b.name like 'df%'
set @sql = n'alter table [
表名] drop constraint ' + @name
exec (@sql)
alter table
表名alter column
列名型別
not null
set @sql = n'alter table [
表名] add constraint ' + @name + n' default (''0'') for [
列名]'
exec (@sql)
a1:清空表內的資料
truncate table 表名
a2:刪除表內的資料
delete from
表名where
列名稱= 值
a3:刪除表內的資料
delete * from 表名
b、更新表內的資料
update
表名稱set
列名稱=
新值where
列名稱= 某值
c1、向**內插入資料
insert into
表名values (
值1,
值2,....)
c2、向**內插入資料
insert into 表名(
列1,
列2,...) values (
值1,
值2,....)
c3:將一張表內資料同步至另一張表
a1:查詢某一列資料
select
列名稱from
表名稱
a2:查詢所有資料
select * from
表名稱 a3:
sql插入語句得到自動生成的遞增id值
insert into
表名1(列1
,列2)values(值1
,值2)
select @@identity as 『id』
a4:巢狀子查詢
select 列1
,列2 from
表名1 where
列1 in(select
列1 from
表名2)
a5:隨機提取條記錄
select top 10 * from
表名order by newid()
a6:得到無重覆記錄的結果集
select distinct * from 表名
a7:得到某兩個值之間的資料
select * from
表名where
列名1 between
值1 and 值2
a8:外連線查詢(表名
1:a 表名2:
b) select a.a, a.b, a.c, b.c, b.d, b.f from a left out join b on a.a = b.c
a9:四表聯查
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
萬用字元的一些用法
b1:選擇列名
1中首字母在
a-m之間的記錄
select * from
表名where
列名1 like
『[a-m]%』
b2:
選擇列名
1中首字母是a或
b、或c的記錄
select * from
表名where
列名1 like
『[abc]%』
b3:
選擇列名
1中首字母在
a-c之間的或者是
g的記錄
select * from
表名where
列名1 like
『[a-cg]%』
b4:
選擇列名
1中首字母不是
c的記錄
select * from
表名where
列名1 like
『[^c]』
6、將文字檔案資料匯入到資料庫
bulk insert dbo.ccc --
要匯入的文字檔案名稱
from 'd:/22.txt'
with ( --
資料分隔符
--fieldterminator = ',',
fieldterminator = ' ',
rowterminator = '/n' )
常用SQL語句整理
檢視資料庫 show databases 選擇資料庫 use database name 表定義資訊 describe table name 插入資料 insert into table name filed 1 field n values value 1 value n eg insert in...
常用sql語句整理
查詢 無條件查詢 select from table name 條件查詢 select from table name where 條件 排序查詢 select col1,col2,from table name where 條件 order by 列名 desc asc 模糊查詢 select f...
常用sql語句整理
1.資料庫層面 建立資料庫 create database database name 刪除資料庫 drop database database name 2.表建立新錶 create table tablename col1 type1 not null primary key col2 type...