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为初始设置值,当然不纯粹只是这一点差异,其它差异后续再一一列举。
--Ocarina我是一只可爱的小尾巴