首頁 > 軟體

一文教會你在sqlserver中建立表

2022-04-12 19:01:20

前言

SQL Server建立表是最常見也是最常用的操作之一,下面就為您介紹SQL Server建立表的語句寫法,供您參考,希望可以讓您對SQL Server建立表方面有更深的認識。

方法如下:

1:在sql語句中,臨時表有兩類,分別是區域性(local)和全域性(global)臨時表,區域性臨時表只在其對談(事務)中可見,全域性臨時表可以被對談(事務)中的任何程式或者模組存取

2:建立區域性臨時表

use db_sqlserver
go
create table #db_local_table
(
  id  int,
  name varchar(50),
  age int,
  area int
)

建立的臨時表不能與其他對談共用,當對談結束時,行和表的定義都將被刪除

3:建立全域性臨時表

use db_sqlserver
go
create table ##db_local_table
(
  id  int,
  name varchar(50),
  age int,
  area int
)

全域性臨時表對所有使用者都是可見的,在每個存取該表的使用者都斷開伺服器連線時,全域性臨時表才會被刪除

4:建立主鍵、外來鍵關聯的資料庫表

use db_sqlserver;
go
create table db_table5
(
  職工編號 int primary key,
  職工號  varchar(50) unique,
  倉庫號  varchar(50),
  工資   int
)
 
go
create table db_table6
(
  訂單編號 int primary key,
  訂單號  varchar(50) unique,
  職工號 varchar(50) references db_table5(職工號),
  訂購日期 datetime,
  銷售金額 int
)

5:建立具有check約束欄位的資料庫表

use db_sqlserver;
go
create table db_table7
(
  倉庫編號 int primary key,
  職工號  varchar(50) unique,
  倉庫號  varchar(50),
  工資   int,
  面積  int check(面積>=600 and 面積<=1800)
)

6:建立含有計算欄位的資料庫表

use db_sqlserver;
go
create table db_table8
(
  職工編號 int primary key,
  職工號 varchar(50) unique,
  倉庫號 varchar(50),
  基本工資 int check(基本工資>=800 and 基本工資<=2100),
  加班工資 int,
  獎金 int,
  扣率 int,
  應發工資 as (基本工資 + 加班工資 + 獎金 - 扣率)
)

7:建立含有自動編號欄位的資料庫表

use db_sqlserver;
go
create table db_table9
(
   倉庫編號 int identity(1,1) primary key,
   倉庫號 varchar(50) unique,
   城市 varchar(50) default('青島'),
   面積 int check(面積>=300 and 面積<=1800)
)

向表中新增記錄:

 insert into [db_sqlserver].[dbo].[db_table9](倉庫號, 面積) values('400', 1600);

倉庫編號會自動增加

8:建立含有排序欄位的資料表

create table db_table10 
(
   倉庫編號 int identity(1, 1) primary key,
   倉庫號 varchar(50) collate french_CI_AI not null,
   城市 varchar(50) default '青島',
   面積 int check(面積>=300 and 面積<=1800)
)

倉庫號是一個排序欄位,其中CI(case insensitive)表示不區分大小寫,AI(accent insensitive)表示不區分重音,即建立的是一個不區分大小寫

和不區分重音的排序。如果要區分大小和和區分排序,修改程式碼為:French_CS_AS

9:動態判斷資料庫表是否存在

use db_sqlserver;
go
if(Exists(select * from sys.sysobjects where id=OBJECT_ID('db_table9')))
  print '資料庫表名已經存在'
  
else 
  print '該資料庫表名不存在,可以利用該名建立表'

10:檢視表的各種資訊,可以檢視指定資料庫表的屬性、表中欄位屬性、各種約束等資訊

use db_sqlserver;
go
execute sp_help db_table9;

11:用select語句檢視資料庫表的屬性資訊

use db_sqlserver;
go
select * from sysobjects where type='U'

12:重新命名資料庫表

use db_sqlserver;
go
execute sp_rename "db_table9", "db_renametable"

13:增加資料庫表的新欄位 

use db_sqlserver;
go
alter table db_table1 add 電子郵件 varchar(50)
alter table db_table1 add 聯絡方式 varchar(50) default '0532-88886396'
 
select name 欄位名, xusertype 型別編號, length 長度 from syscolumns where id = object_id('db_table1')

14:修改資料庫表的欄位

use db_sqlserver;
go
alter table db_table1 alter column 電子郵件 varchar(200)
 
 
select name 欄位名, xusertype 型別編號, length 長度 from syscolumns where id = object_id('db_table1')

15:刪除資料庫表欄位

use db_sqlserver;
go
alter table db_table1 drop column 電子郵件 
 
 
select name 欄位名, xusertype 型別編號, length 長度 from syscolumns where id = object_id('db_table1')

16:刪除資料庫表

use db_sqlserver;
go
drop table db_table1
drop table db_table1, db_table2

如果刪除有依賴關聯的資料庫表,即主鍵、外來鍵關鍵表、則要刪除兩個表之間的關聯約束,然後才能刪除表。注意,也可以先刪除參照該表的資料庫表,然後
即可刪除該表,

總結

到此這篇關於在sqlserver中建立表的文章就介紹到這了,更多相關sqlserver建立表內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com