對數據庫的操作:創建,修改,刪除,快照
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