Sql Server2008温故而知新系列01:库和表的创建及删除

sql server中创建数据库和创建表的命令大致相似:

 1 --创建数据库: create database database_name
 2 create database myDB
 3 
 4 --在新建的库中新建表:create table table_name (field_name1 type constraint,field_name2 type constraint,…………)
 5 use mydb
 6 go
 7 create table tstb
 8 (
 9     id int identity constraint Pk_myDB_tstbID primary key,
10     name nvarchar(20) not null,    
11     age smallint not null
12 )
13 --条件建表(如果正在使用的库中不存在同样的表就新建表)
14 if not exists (select name from sysobjects where xtype='U' and name = 'tstb')
15     create table tstb
16     (
17         id int identity constraint Pk_myDB_tstbID primary key,
18         name nvarchar(20) not null,    
19         age smallint not null
20     )

有一个细节需要注意:建表的时候,如果有多个field--字段;那么需要在每一行的末尾添加一个英文半角逗号,最后一个field除外。

在设计的时候每个字段尽可能的不要允许Null即添加约束:not null,因为null值不太好统计与处理;

另外尽量使用合适的类型及长度来节省空间,尽管目前的客户机的配置远大于使用需求,但是良好的设计习惯也总是必要的;

当然,在设计表名和字段名时,尽量使用简单的有意义的字符组合来提升可读性和简化使用,如果有必要设计复杂的名称,记得要适当的加上注释。

这对未来的访问有很大的益处。

建好的表,可以通过 sp_help table_name 来查看表的属性信息(my sql命令与此不同,mysql: show create table table_name)

 如果要修改和设计某一个已存在的表,可以直接使用alter命令,如给'tstb'表新增一个字段-性别(通俗的来讲就是新增一列):

alter table tstb add sex nchar(1) [constraint cons_name] default '女' 

库和表的删除:

在sql server2008中,命令一致;

1、删除库:drop database database_name (诚然,作为一个DBA,删库跑路是一件可耻的事情,所以慎用此命令)

2、删除表:drop table table_name ,   一旦使用drop table命令 整个表的结构全部被消毁,所以如果当你只是想删除

表中的某些符合我们删除条件的内容时,我们可以使用delete from table_name where ……  

当然也可以使用delete from table_name来删除表的所有内容,此命令和truncate table table_name相似,但是这两个

命令有差异,最直观的差异是 delete仅删除了记录,不重置行号,重新insert(插入,写入)数据时 identity的行号连续之前的行号,

truncate会重置identity为初始设置值,当然不纯粹只是这一点差异,其它差异后续再一一列举。

猜你喜欢

转载自www.cnblogs.com/azrealer/p/11824475.html
今日推荐