创建数据库
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