Sql Server2008温故而知新系列01:库和表的创建及删除
Posted azrealer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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为初始设置值,当然不纯粹只是这一点差异,其它差异后续再一一列举。
以上是关于Sql Server2008温故而知新系列01:库和表的创建及删除的主要内容,如果未能解决你的问题,请参考以下文章