SQL Server创建表语句介绍

SQL Server创建表语句介绍原文地址 http database 51cto com art 201010 231018 htmSQLServer 创建表是最常见也是最常用的操作之一 下面就为您介绍 SQLServer 创建表的语句写法 供您参考 希望可以让您对 SQLServer 创建表方面有更深的认识 USE nbsp suntest nbsp create nbsp table nbsp 仓库 nbsp nbsp 仓库编号 nbsp int nbsp nbsp nbsp 仓库

原文地址:http://database.51cto.com/art/201010/231018.htm

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创建表语句介绍。

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-‘  
  5.   
  6. select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id(‘db_table1’)  



SQL Server创建表语句介绍


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’)  


SQL Server创建表语句介绍

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’)  



SQL Server创建表语句介绍

16:删除数据库表
 

[sql]  view plain
 copy

  1. use db_sqlserver;  
  2. go  
  3. drop table db_table1  
  4. drop table db_table1, db_table2  


如果删除有依赖关联的数据库表,即主键、外键关键表、则要删除两个表之间的关联约束,然后才能删除表。注意,也可以先删除引用该表的数据库表,然后
即可删除该表,

创建基本表中涉及命名表并定义其列,每列的数据类型。

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表。
































































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199148.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午1:44
下一篇 2026年3月26日 下午1:44


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号