SQL Server创建表语句介绍

本文详细介绍了SQL Server创建表的相关知识,包括不同类型表(如普通表、临时表)的创建语句,还涉及主键、外键关联,check约束等设置。此外,还讲解了表的各种操作,如添加记录、查看信息、重命名、修改字段等,以及CREATE TABLE语句的基本语法和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

SQL Server创建表是最常见也是最常用的操作之一,下面就为您介绍SQL Server创建表的语句写法,供您参考,希望可以让您对SQL Server创建表方面有更深的认识。

USE suntest
create table 仓库
(
仓库编号 int ,
仓库号 varchar(50) ,
城市 varchar(50) ,
面积 int
)
create table 仓库1
(
仓库编号 int not null ,
仓库号 varchar(50) not null,
城市 varchar(50) not null, --不能为空not null–
面积 int
)
create table 仓库2
(
仓库编号 int primary key , --主键的关键字primary key–
仓库号 varchar(50) unique, --唯一索引关键字unique–
城市 varchar(50) not null, --不能为空not null–
面积 int
)
create table 仓库3
(
仓库编号 int primary key , --主键的关键字primary key–
仓库号 varchar(50) unique, --唯一索引关键字unique–
城市 varchar(50) default ‘青岛’, --不能为空not null–
面积 int check (面积>=300 and 面积<=1800)
)
create table 职工表
(
职工编号 int identity (1,1) primary key,
职工号 varchar(50) unique,
仓库号 varchar(50),
工资 int check(基本工资>=800 and 基本工资<=2100),
)
create table 订单表
(
订单编号 int identity(1,1) primary key,
订单号 varchar(50) unique,
职工号 varchar(50) references 职工表(职工号),–references两张表通过“职工号”关联–
订购日期 datetime,
销售金额 int
)
create table 阳光工资表
(
职工编号 int identity (1,1) primary key,
职工号 varchar(50) unique,
仓库号 varchar(50),
基本工资 int check(基本工资>=800 and 基本工资<=2100),
加班工资 int,
奖金 int,
扣率 int,
应发工资 as (基本工资+加班工资+奖金-扣率) --as为自动计算字段,不能输入值–
)
以上就是SQL Server创建表语句介绍。

http://blog.youkuaiyun.com/woshisap/article/details/7333893
1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者

模块访问

2:创建局部临时表

[sql] view plain copy
use db_sqlserver
go
create table #db_local_table
(
id int,
name varchar(50),
age int,
area int
)
创建的临时表不能与其他会话共享,当会话结束时,行和表的定义都将被删除

3:创建全局临时表

[sql] view plain copy
use db_sqlserver
go
create table ##db_local_table
(
id int,
name varchar(50),
age int,
area int
)
全局临时表对所有用户都是可见的,在每个访问该表的用户都断开服务器连接时,全局临时表才会被删除

4:创建主键、外键关联的数据库表
[sql] view plain copy
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约束字段的数据库表
[sql] view plain copy
use db_sqlserver;
go
create table db_table7
(
仓库编号 int primary key,
职工号 varchar(50) unique,
仓库号 varchar(50),
工资 int,
面积 int check(面积>=600 and 面积<=1800)
)

6:创建含有计算字段的数据库表

[sql] view plain copy
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:创建含有自动编号字段的数据库表

[sql] view plain copy
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)
)

向表中添加记录:

[sql] view plain copy
insert into [db_sqlserver].[dbo].[db_table9](仓库号, 面积) values(‘400’, 1600);
仓库编号会自动增加

8:创建含有排序字段的数据表

[sql] view plain copy
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:动态判断数据库表是否存在

[sql] view plain copy
use db_sqlserver;
go
if(Exists(select * from sys.sysobjects where id=OBJECT_ID(‘db_table9’)))
print ‘数据库表名已经存在’

else
print ‘该数据库表名不存在,可以利用该名创建表’

10:查看表的各种信息,可以查看指定数据库表的属性、表中字段属性、各种约束等信息

[sql] view plain copy
use db_sqlserver;
go
execute sp_help db_table9;

11:用select语句查看数据库表的属性信息

[sql] view plain copy
use db_sqlserver;
go
select * from sysobjects where type=‘U’

12:重命名数据库表
[sql] view plain copy
use db_sqlserver;
go
execute sp_rename “db_table9”, “db_renametable”

13:增加数据库表的新字段

[sql] view plain copy
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:修改数据库表的字段
[sql] view plain copy
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:删除数据库表字段

[sql] view plain copy
use db_sqlserver;
go
alter table db_table1 drop column 电子邮件

select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id(‘db_table1’)

16:删除数据库表

[sql] view plain copy
use db_sqlserver;
go
drop table db_table1
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表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值