zoukankan      html  css  js  c++  java
  • 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为初始设置值,当然不纯粹只是这一点差异,其它差异后续再一一列举。

    --Ocarina我是一只可爱的小尾巴
  • 相关阅读:
    MongoDB笔记: 安装和常见问题
    Spring Boot方式的Dubbo项目
    Centos7安装Redis5.0.5并加入Systemd服务
    生成Nginx服务器SSL证书和客户端证书
    OpenSSL的证书, 私钥和签名请求(CSRs)
    迁移Git项目到Gitlab
    Ubuntu18.04 Server安装Nginx+Git服务和独立的svn服务
    ESXi6.5上的Ubuntu虚机在远程SSH时宕机
    Nginx访问路径添加密码保护
    从阿里云DATAV GeoAtlas接口抽取行政区划数据
  • 原文地址:https://www.cnblogs.com/azrealer/p/11824475.html
Copyright © 2011-2022 走看看