对数据库的操作:创建,修改,删除,快照
1.创建数据库(CREATE DATABASE)
CREATE DATABASE TEST1
ON
PRIMARY
(
NAME='TEST_DATA1',
FILENAME='E:\2012s\MSSQL11.MSSQLSERVER\MSSQL\DATA\TEST_DATA1.mdf',
SIZE=20MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
),
(
NAME='TEST_DATA2',
FILENAME='E:\2012s\MSSQL11.MSSQLSERVER\MSSQL\DATA\TEST_DATA2.ndf',
SIZE=20MB,
MAXSIZE=50MB,
FILEGROWTH=10%
)
LOG ON
(
NAME='TEST_LOG',
FILENAME='E:\2012s\MSSQL11.MSSQLSERVER\MSSQL\DATA\TEST_LOG.ldf',
SIZE=50MB,
MAXSIZE=100MB,
FILEGROWTH=10MB
);
2.修改数据库 (ALTER TABLE)
ALTER DATABASE TEST1
ADD FILE
(
NAME='TEST_data',
FILENAME='E:\2012s\MSSQL11.MSSQLSERVER\MSSQL\DATA\TEST_data.ndf',
SIZE=10,
MAXSIZE=20,
FILEGROWTH=10%
)
ALTER DATABASE TEST1
MODIFY FILE
(
NAME='TEST_data',
SIZE=60,
MAXSIZE=100,
FILEGROWTH=10%
)
ALTER DATABASE TEST1
REMOVE FILE TEST_data
GO
/为数据库添加文件组,并为此文件组添加两个大小为10MB的数据文件/
ALTER DATABASE TEST1
ADD FILEGROUP fgroup
GO
ALTER DATABASE TEST1
ADD FILE
(
NAME='TEST_D1',
FILENAME='E:\2012s\MSSQL11.MSSQLSERVER\MSSQL\DATA\TEST_D1.ndf',
SIZE=20
),
(
NAME='TEST_D2',
FILENAME='E:\2012s\MSSQL11.MSSQLSERVER\MSSQL\DATA\TEST_D2.ndf',
SIZE=20
)
TO FILEGROUP fgroup
GO
/先删除数据文件,不能删除主文件组/
ALTER DATABASE TEST1
REMOVE FILE TEST_D1
GO
ALTER DATABASE TEST1
REMOVE FILE TEST_D2
GO
ALTER DATABASE TEST1
REMOVE FILEGROUP fgroup
GO
/添加日志文件/
ALTER DATABASE TEST1
ADD LOG FILE
(
NAME='TEST_LOG1',
FILENAME='E:\2012s\MSSQL11.MSSQLSERVER\MSSQL\DATA\TEST_LOG1.ldf',
SIZE=10,
MAXSIZE=20,
FILEGROWTH=10MB
)
GO
/删除日志文件/
ALTER DATABASE TEST1
REMOVE FILE TEST_LOG1
GO
/修改数据库名称/
ALTER DATABASE TEST1
MODIFY NAME=TEST_RENAMED
GO
/删除数据库/
DROP DATABASE TEST1
/创建数据库快照/
CREATE DATABASE TEST_S1
ON
(
NAME='TEST',
FILENAME='E:\2012s\MSSQL11.MSSQLSERVER\MSSQL\DATA\TEST_S1.mdf'
)
AS SNAPSHOT OF TEST1
GO
/删除数据库快照/
DROP DATABASE TEST_S1
对数据库的表结构的操作:创建,修改,删除
/创建一个数据库中的表/
USE TEST1
GO
CREATE TABLE STUD
(
学号 char(6) NOT NULL PRIMARY KEY,
姓名 char(8) NOT NULL,
性别 bit NULL DEFAULT 1,
出生时间 date NULL,
专业 char(12) NULL DEFAULT '计算机',
总学分 int NULL DEFAULT 0,
备注 varchar(500) NULL
)
GO
/修改数据库中的表/
修改表中的一列,一次只能包含一条ALTER COLUMN,ADD,DROP语句
ALTER TABLE STUD
ALTER COLUMN 姓名 char(10)//将姓名的列长度改为10
GO
增加表中一列
ALTER TABLE STUD
ADD 入学时间 date
GO
删除表中一列
ALTER TABLE STUD
DROP COLUMN 出生时间
GO
/删除一个数据库中的表,删除了数据库的表结构/
DROP TABLE STUD
对数据库表中数据的操作:插入记录,修改记录,删除记录,查询
/插入记录/
INSERT INTO STUD
VALUES('191301','王林',1,'1990-02-10','计算机',50,NULL)
或者
INSERT INTO STUD(学号,姓名,性别,出生时间,专业,总学分)//对指定列进行插入
VALUES ('191302','王林',1,'1990-02-10','计算机',50)
或者一次插入多条语句,用逗号隔开
INSERT INTO STUD
VALUES('191303','王林',1,'1990-02-10','计算机',50,NULL),//对所有列进行插入
('191304','王海',1,'1990-02-11','计算机',50,NULL)
或者
INSERT INTO STUD2
SELECT * //获得每条信息全部字段值
FROM STUD
WHERE 专业='计算机'
/修改表记录/
UPDATE STUD
SET 备注='外校互认学分课程',
总学分=总学分+3
WHERE 学号='191301'
GO
/删除表记录/
删除符合条件记录
DELETE
FROM STUD
WHERE 总学分=0
GO
删除表中所有记录,清除表数据语句,不能删除使用外键约束引用或使用视图的表
TRUNCATE TABLE STUD
DELETE STUD