常用sql語句整理

2021-05-23 16:51:21 字數 4660 閱讀 1554

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