在sqlserver中创建表

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

模块访问

2:创建局部临时表

[sql] view plaincopyprint?

  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. )
use db_sqlserver
go
create table #db_local_table
(
  id  int,
  name varchar(50),
  age int,
  area int
)

创建的临时表不能与其他会话共享,当会话结束时,行和表的定义都将被删除

3:创建全局临时表

[sql] view plaincopyprint?

  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. )
use db_sqlserver
go
create table ##db_local_table
(
  id  int,
  name varchar(50),
  age int,
  area int
)

全局临时表对所有用户都是可见的,在每个访问该表的用户都断开服务器连接时,全局临时表才会被删除

4:创建主键、外键关联的数据库表

[sql] view plaincopyprint?

  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. go
  11. create table db_table6
  12. (
  13. 订单编号 int primary key,
  14. 订单号  varchar(50) unique,
  15. 职工号 varchar(50) references db_table5(职工号),
  16. 订购日期 datetime,
  17. 销售金额 int
  18. )
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 plaincopyprint?

  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. )
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 plaincopyprint?

  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. )
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 plaincopyprint?

  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. )
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 plaincopyprint?

  1. insert into [db_sqlserver].[dbo].[db_table9](仓库号, 面积) values(‘400‘, 1600);
 insert into [db_sqlserver].[dbo].[db_table9](仓库号, 面积) values(‘400‘, 1600);

仓库编号会自动增加

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

[sql] view plaincopyprint?

  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. )
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 plaincopyprint?

  1. use db_sqlserver;
  2. go
  3. if(Exists(select * from sys.sysobjects where id=OBJECT_ID(‘db_table9‘)))
  4. print ‘数据库表名已经存在‘
  5. else
  6. print ‘该数据库表名不存在,可以利用该名创建表‘
use db_sqlserver;
go
if(Exists(select * from sys.sysobjects where id=OBJECT_ID(‘db_table9‘)))
  print ‘数据库表名已经存在‘

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

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

[sql] view plaincopyprint?

  1. use db_sqlserver;
  2. go
  3. execute sp_help db_table9;
use db_sqlserver;
go
execute sp_help db_table9;

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

[sql] view plaincopyprint?

  1. use db_sqlserver;
  2. go
  3. select * from sysobjects where type=‘U‘
use db_sqlserver;
go
select * from sysobjects where type=‘U‘

12:重命名数据库表

[sql] view plaincopyprint?

  1. use db_sqlserver;
  2. go
  3. execute sp_rename "db_table9", "db_renametable"
use db_sqlserver;
go
execute sp_rename "db_table9", "db_renametable"

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

[sql] view plaincopyprint?

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

  1. use db_sqlserver;
  2. go
  3. alter table db_table1 alter column 电子邮件 varchar(200)
  4. select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id(‘db_table1‘)
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 plaincopyprint?

  1. use db_sqlserver;
  2. go
  3. alter table db_table1 drop column 电子邮件
  4. select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id(‘db_table1‘)
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 plaincopyprint?

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

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

时间: 2024-11-02 10:05:47

在sqlserver中创建表的相关文章

SqlServer中创建Oracle连接服务器

转自太祖元年的:http://www.cnblogs.com/jirglt/archive/2012/06/10/2544025.html参考:http://down.51cto.com/data/910072SqlServer中创建Oracle连接服务器 第一种:界面操作 (1)展开服务器对象-->链接服务器-->右击“新建链接服务器”(2)输入链接服务器的IP (3)链接成功后 第二种:语句操作 注:需要提前安装Oracle客户端程序,重启机器.(如果没有Oracle客户端程序,提示“未找

Sql语句在SqlServer中创建数据库、表格并添加约束

通过Sql语句来创建数据库与架构 创建数据库 数据库的创建首先是要引用主数据库的,需要在master数据库的环境下进行创建.大致的语法如下: 1 -- 使用master数据库 2 use master 3 -- 创建数据库 4 create datebase [架构名.]数据库名 5 on [primary]--主文件数据描述 6 ( 7 name = '数据库逻辑名', --一般是数据库的名称 8 filename = '数据文件的名字',--全路径 9 size = 12mb, --数据文件

ORACLE中创建表空间,创建表,修改表,授权

创建表空间 /*分为四步 */ /*第1步:创建临时表空间  */ create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m   //如果最大值没有上限,则使用unlimited extent management local;  //extent 表示区间  设置区间管理方式是本地

ORACLE中创建表空间,创建表,改动表,授权

创建表空间 /*分为四步 */ /*第1步:创建暂时表空间  */ create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m   //假设最大值没有上限,则使用unlimited extent management local;  //extent 表示区间  设置区间管理方式是本地

Sqlserver 中系统表sysobjects、syscolumns以及函数object_id

1.sysobjects 系统对象表. 保存当前数据库的对象,如约束.默认值.日志.规则.存储过程等 sysobjects 重要字段解释: sysObjects ( Name sysname, --object 名称 id int, --object id xtype char(2), -- object 类型 type char(2), -- Object 类型(与xtype 似乎一模一样) uid smallint, -- object 所有者的ID ... --其他的字段不常用到. ) ?

Sqlserver中判断表是否存在

在sqlserver(应该说在目前所有数据库产品)中创建一个资源如表,视图,存储过程中都要判断与创建的资源是否已经存在 在sqlserver中一般可通过查询sys.objects系统表来得知结果,不过可以有更方便的方法 如下: if   object_id('tb_table') is not null print 'exist' else print'not exist' 如上,可用object_id()来快速达到相同的目的,tb_table就是我将要创建的资源的名称,所以要先判断当前数据库中

数据库中创建表(包括创建主键,外键,非空列,唯一)

创建表(包括创建主键,外键,非空列,唯一) - PROS - 博客园 http://www.cnblogs.com/CodingArt/articles/1621921.html **************** 创建主键(三种方法) **************** 创建学生表: 第一种: create table student (sno char(5) primary key,/*学号*/ /*可以直接指定主键*/ sname char(20) not null,/*姓名*/ ssex c

Django如何在数据库中创建表

1.前提是你安装了Django框架在你的项目中运行Django ZIP文件中的python Setup.py install 2.前提是你已经安装了MySQLdb这个框架在你的项目中1.2.2(直接有EXE文件) 3.前提是你已经安装了PIL-1.1.7.win32-py2.6.exe图片数据库在你的项目中 4.以上准备好之后,创建的Django项目django-admin.py startproject demo 5.运行你的Django服务python manage.py runserver

sqlserver中创建链接服务器

链接服务器在跨数据库/跨服务器查询时非常有用(比如分布式数据库系统中),本文将以图文方式详细说明如何利用SQL Server Management Studio在图形界面下创建链接服务器. 1.展开服务器对象-->链接服务器-->右击"新建链接服务器"注意:必须以数据库管理员身份登录(通常也就是sa帐号)后,才可以创建"链接服务器" 2.输入链接服务器的IP 3.设置链接服务器的安全性 完成后,如下图:现在测试一下,用帐号user本地登录SqlServe