維護資料表常用SQL語句

2021-08-25 06:31:03 字數 2808 閱讀 7114

逐漸接觸多人團隊erp軟體開發了。設計發布新的模組時候總結了下以前的同時的風格。總結出下面的經驗。其實這些語法在以往都有研究。但是系統用起來發現還是不那麼容易記得住,所以記下在此。

新增資料表說明

execute sp_addextendedproperty 'ms_description', '資料表說明','user', 'dbo', 'table', '使用者資料表名'

新增資料表字段說明

execute sp_addextendedproperty 'ms_description', '資料表名', 'user', 'dbo', 'column', '字段說明'

新增資料表字段

--方法一

alter table [dbo].[資料表名] add 欄位名稱 float default(0)

--方法二

--查詢對應的字段所在資料表

if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[資料表名]') and objectproperty(id, n'isusertable') = 1)

--查詢對應的資料表字段

if (not exists ( select * from dbo.syscolumns where name = '欄位名稱' and id in (select id from dbo.sysobjects where id = object_id(n'[dbo].[資料表名]') and

objectproperty(id, n'isusertable') = 1)))

--新增資料表字段定義

alter table [dbo].[資料表名] add 欄位名稱 varchar(50) null

刪除指定檢視

if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[檢視名稱]') and objectproperty(id, n'isview') = 1)

drop view [dbo].[檢視名稱]

刪除指定資料表

if not exists (select 1 from sysobjects where id = object_id('dbo.資料表名') and type = 'u')

drop table [dbo].[資料表名]

刪除指定儲存過程方法一

if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[儲存過程名稱]') and objectproperty(id, n'isprocedure') = 1)

drop procedure [dbo].[儲存過程名稱]

刪除指定儲存過程方法二

if object_id(n'[dbo].[儲存過程名稱]') is not null

drop procedure [dbo].[儲存過程名稱]

刪除指定資料表字段

alter table [dbo].[資料表名] drop column 欄位名稱

刪除指定資料表約束

alter table [dbo].[資料表名] drop 約束名稱

修改字段定義

--查詢對應的字段所在資料表

if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[資料表名]') and objectproperty(id, n'isusertable') = 1)

--查詢對應的資料表字段

if (exists ( select * from dbo.syscolumns where name = '欄位名稱' and id in (select id from dbo.sysobjects where id = object_id(n'[dbo].[資料表名]') and

objectproperty(id, n'isusertable') = 1)))

--查詢資料表字段定義

alter table [dbo].[資料表名] alter column 欄位名稱 字段型別(長度限制)是否為空

修改主鍵

alter table [dbo].[資料表名] with nocheck add

constraint [pk_資料表名] primary key clustered

( [uniqueid]

) on [primary]

修改日期字段預設值

alter table [dbo].[資料表名] add constraint [df_資料表名_日期欄位名] default (getdate()) for [日期欄位名]

修改數字字段預設值

alter table [dbo].[資料表名] add constraint [df_資料表名_數字欄位名] default (0) for [數字欄位名]

初始化資料操作

if not exists (select 'q' from dbo.資料表名 where 欄位名稱='字段數值')

insert into dbo.資料表名(欄位名稱) values('字段數值')

insert into dbo.資料表名(欄位名稱1,欄位名稱2) values('字段數值1','字段數值2')

初始化不重複資料操作

if not exists (select 'a' from [dbo].[資料表名] where 欄位名='字段值')

begin

insert into [dbo].[資料表名]([欄位名]) values('字段值')

end

ORACLE常用資料表結構修改SQL語句

修改表名 alter table srcrename to dest 修改列名 alter table tablename rename column src to dest 修改列的資料型別 alter table tablename modify col varchar2 255 如果同時需要修...

常用資料表結構修改sql語句(oracle)

修改表名 alter table srcrename to dest 修改列名 alter table tablename rename column src to dest 修改列的資料型別 alter table tablename modify col varchar2 255 如果同時需要修...

使用SQL語句建立資料表

create database test usetest 使用text庫,作為當前查詢的庫 create table tbclass clsid intprimary keyidentity 1,1 班級編號自增,主鍵,逗號後值為增量 clsname nvarchar 16 unique,唯一性約束...