SQL Server創建表語句介紹


原鏈接:https://blog.csdn.net/kepa520/article/details/78793431?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link

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

  1. USE suntest  
  2. create table 倉庫  
  3. (  
  4. 倉庫編號 int ,   
  5. 倉庫號 varchar(50) ,   
  6. 城市 varchar(50) ,   
  7. 面積 int  
  8. )  
  9. create table 倉庫1  
  10. (  
  11. 倉庫編號 int not null ,   
  12. 倉庫號 varchar(50) not null,   
  13. 城市 varchar(50) not null, --不能為空not null--  
  14. 面積 int  
  15. )  
  16. create table 倉庫2  
  17. (  
  18. 倉庫編號 int primary key , --主鍵的關鍵字primary key--  
  19. 倉庫號 varchar(50) unique, --唯一索引關鍵字unique--  
  20. 城市 varchar(50) not null, --不能為空not null--  
  21. 面積 int  
  22. )  
  23. create table 倉庫3  
  24. (  
  25. 倉庫編號 int primary key , --主鍵的關鍵字primary key--  
  26. 倉庫號 varchar(50) unique, --唯一索引關鍵字unique--  
  27. 城市 varchar(50) default '青島', --不能為空not null--  
  28. 面積 int check (面積>=300 and 面積<=1800)  
  29. )  
  30. create table 職工表  
  31. (  
  32. 職工編號 int identity (1,1) primary key,  
  33. 職工號 varchar(50) unique,  
  34. 倉庫號 varchar(50),  
  35. 工資 int check(基本工資>=800 and 基本工資<=2100),  
  36. )  
  37. create table 訂單表  
  38. (  
  39. 訂單編號 int identity(1,1) primary key,  
  40. 訂單號 varchar(50) unique,  
  41. 職工號 varchar(50) references 職工表(職工號),--references兩張表通過“職工號”關聯--  
  42. 訂購日期 datetime,  
  43. 銷售金額 int  
  44. )  
  45. create table 陽光工資表  
  46. (  
  47. 職工編號 int identity (1,1) primary key,  
  48. 職工號 varchar(50) unique,  
  49. 倉庫號 varchar(50),  
  50. 基本工資 int check(基本工資>=800 and 基本工資<=2100),  
  51. 加班工資 int,  
  52. 獎金 int,  
  53. 扣率 int,  
  54. 應發工資 as (基本工資+加班工資+獎金-扣率) --as為自動計算字段,不能輸入值--  

以上就是SQL Server創建表語句介紹。

 

http://blog.csdn.net/woshisap/article/details/7333893

 

1:在sql語句中,臨時表有兩類,分別是局部(local)和全局(global)臨時表,局部臨時表只在其會話(事務)中可見,全局臨時表可以被會話(事務)中的任何程序或者

  模塊訪問

 

2:創建局部臨時表

     

[sql]   view plain   copy
 
  1. use db_sqlserver  
  2. go  
  3. create table #db_local_table  
  4. (  
  5.   id  int,  
  6.   name varchar(50),  
  7.   age int,  
  8.   area int  
  9. )  

創建的臨時表不能與其他會話共享,當會話結束時,行和表的定義都將被刪除

 

3:創建全局臨時表

[sql]   view plain   copy
 
  1. use db_sqlserver  
  2. go  
  3. create table ##db_local_table  
  4. (  
  5.   id  int,  
  6.   name varchar(50),  
  7.   age int,  
  8.   area int  
  9. )  

全局臨時表對所有用戶都是可見的,在每個訪問該表的用戶都斷開服務器連接時,全局臨時表才會被刪除


4:創建主鍵、外鍵關聯的數據庫表

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. create table db_table5  
  4. (  
  5.   職工編號 int primary key,  
  6.   職工號  varchar(50) unique,  
  7.   倉庫號  varchar(50),  
  8.   工資   int  
  9. )  
  10.   
  11. go  
  12. create table db_table6  
  13. (  
  14.   訂單編號 int primary key,  
  15.   訂單號  varchar(50) unique,  
  16.   職工號 varchar(50) references db_table5(職工號),  
  17.   訂購日期 datetime,  
  18.   銷售金額 int  
  19. )  

 

5:創建具有check約束字段的數據庫表

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. create table db_table7  
  4. (  
  5.   倉庫編號 int primary key,  
  6.   職工號  varchar(50) unique,  
  7.   倉庫號  varchar(50),  
  8.   工資   int,  
  9.   面積  int check(面積>=600 and 面積<=1800)  
  10. )  


6:創建含有計算字段的數據庫表

  

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. create table db_table8  
  4. (  
  5.   職工編號 int primary key,  
  6.   職工號 varchar(50) unique,  
  7.   倉庫號 varchar(50),  
  8.   基本工資 int check(基本工資>=800 and 基本工資<=2100),  
  9.   加班工資 int,  
  10.   獎金 int,  
  11.   扣率 int,  
  12.   應發工資 as (基本工資 + 加班工資 + 獎金 - 扣率)  
  13. )  

 

7:創建含有自動編號字段的數據庫表

    

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. create table db_table9  
  4. (  
  5.    倉庫編號 int identity(1,1) primary key,  
  6.    倉庫號 varchar(50) unique,  
  7.    城市 varchar(50) default('青島'),  
  8.    面積 int check(面積>=300 and 面積<=1800)  
  9. )  

 

向表中添加記錄:

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

倉庫編號會自動增加

 

8:創建含有排序字段的數據表

 

[sql]   view plain   copy
 
  1. create table db_table10   
  2. (  
  3.    倉庫編號 int identity(1, 1) primary key,  
  4.    倉庫號 varchar(50) collate french_CI_AI not null,  
  5.    城市 varchar(50) default '青島',  
  6.    面積 int check(面積>=300 and 面積<=1800)  
  7. )  


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

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

 

9:動態判斷數據庫表是否存在

 

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. if(Exists(select * from sys.sysobjects where id=OBJECT_ID('db_table9')))  
  4.   print '數據庫表名已經存在'  
  5.     
  6. else   
  7.   print '該數據庫表名不存在,可以利用該名創建表'  

 

10:查看表的各種信息,可以查看指定數據庫表的屬性、表中字段屬性、各種約束等信息

 

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. execute sp_help db_table9;  

 

11:用select語句查看數據庫表的屬性信息

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. select * from sysobjects where type='U'  


12:重命名數據庫表

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. execute sp_rename "db_table9", "db_renametable"  


13:增加數據庫表的新字段
  

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. alter table db_table1 add 電子郵件 varchar(50)  
  4. alter table db_table1 add 聯系方式 varchar(50) default '0532-88886396'  
  5.   
  6. select name 字段名, xusertype 類型編號, length 長度 from syscolumns where id = object_id('db_table1')  






14:修改數據庫表的字段

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. alter table db_table1 alter column 電子郵件 varchar(200)  
  4.   
  5.   
  6. select name 字段名, xusertype 類型編號, length 長度 from syscolumns where id = object_id('db_table1')  




15:刪除數據庫表字段

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. alter table db_table1 drop column 電子郵件   
  4.   
  5.   
  6. select name 字段名, xusertype 類型編號, length 長度 from syscolumns where id = object_id('db_table1')  





16:刪除數據庫表
 

[sql]   view plain   copy
 
  1. use db_sqlserver;  
  2. go  
  3. drop table db_table1  
  4. drop table db_table1, db_table2  


如果刪除有依賴關聯的數據庫表,即主鍵、外鍵關鍵表、則要刪除兩個表之間的關聯約束,然后才能刪除表。注意,也可以先刪除引用該表的數據庫表,然后
即可刪除該表,

 

 

http://www.yiibai.com/sql/sql-create-table.html

 

創建基本表中涉及命名表並定義其列,每列的數據類型。

SQL的CREATE TABLE語句用於創建新表。

語法

CREATE TABLE語句的基本語法如下:

CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( one or more columns ) );

CREATE TABLE是關鍵字告訴數據庫系統你想做什么。在這種情況下,你要創建一個新表。唯一的名稱或標識表如下CREATE TABLE語句。

然后在括號的列定義在表中的每一列是什么樣的數據類型。使用下面的一個例子,語法變得更清晰。

可以使用CREATE TABLE語句和SELECT語句的組合來創建從現有表的副本。您可以查看完整的詳細信息使用另一個表創建表 。

示例:

下面是一個例子,它使用ID作為主鍵並且為NOT NULL來創建一個客戶表的約束,這些字段不能為NULL在創建該表的記錄時:

 
 
SQL> CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID) );

您可以驗證,如果你的表已成功創建,可通過查看SQL服務器顯示的消息,也可以使用DESC命令,如下所示:

SQL> DESC CUSTOMERS; +---------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+---------------+------+-----+---------+-------+ | ID | int(11) | NO | PRI | | | | NAME | varchar(20) | NO | | | | | AGE | int(11) | NO | | | | | ADDRESS | char(25) | YES | | NULL | | | SALARY | decimal(18,2) | YES | | NULL | | +---------+---------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)

現在數據庫,可以用它來存儲用戶所需的信息在CUSTOMERS表。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM