数据库、数据库表的创建与删除

创建数据库

create database test
on primary  -- 默认就属于primary文件组,可省略
(
/*--数据文件的具体描述--*/
name='testDB',   -- 主数据文件的逻辑名称
filename='D:	extDB.mdf',  -- 主数据文件的物理名称
size=5mb,  --主数据文件的初始大小
maxsize=100mb,  -- 主数据文件增长的最大值
filegrowth=15%  --主数据文件的增长率
)
log on(
/*--日志文件的具体描述,各参数含义同上--*/
name='textDB_log',
filename='D:	extDB_log.ldf',
size=2mb,
filegrowth=1mb
)

删除数据库

SQL Server将数据库的清单存放在master系统数据库的sysdatabases表中,只需要查看该表是否存在于该数据库中就可以,存在就把该数据库给删除就可以了

use master -- 设置当前数据库为master,以便访问sysdatabases表
go
if exists(select * from sysdatabases where name='test')
drop database test
go

创建数据库表

use test
go 
--sysobjects存放该数据库的所有对象
if exists(select * from sysobjects where name='person')
drop table person
create table person
(
    -- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列
    ExamNo      int     identity(1,1) primary key,
    Name       char(6) not null,
    Age         int     not null,
    City       Char(6)     not null
)
go

删除数据库表

删除数据库表有三种不同的方法,分别是drop、truncate和delete。这里我们来分别介绍着三种方法的使用

drop

删除内容和定义,释放空间。简单来说就是把整个表删除掉,执行后数据库就没有这张表了。

drop table person

truncate

删除内容,但是不删除定义。释放空间。就是只是把表的数据清除,但是保留定义好的字段。

truncate table person

delete

删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低)可以添加约束条件:delete table tb where 条件
删除内容不删除定义,不释放空间。不释放空间,就是说,比如你原来的标识符有1、2、3、4四行,那么执行后再添加一行是从5开始的。而truncate执行后是从1开始的。

delete from person

原文地址:https://www.cnblogs.com/linfenghp/p/5660286.html