SQLServer数据库操作总结(sql语法的使用)(一)

2014-11-24 11:13:17 · 作者: · 浏览: 0

前言

数据库学完了,但是脑子里还是没有一个系统的数据库操作 概念。借着考试复习的这个机会,总结一下数据库的常用操作。内容参考上课的课件进行了整理,整篇文章会很长。

1.数据库创建管理

1.1 创建数据库

CREATE DATABASE DB
ON PRIMARY
(
NAME = DB_data,
FILENAME = 'F:\DB_data1.mdf', 
SIZE = 10MB,
MAXSIZE = UNLIMTED
),
(
NAME = DB_data2,
FILENAME = 'F:\DB_data2.ndf', 
SIZE = 11MB,
MAXSIZE = 20MB, 
FILEGROWTH = 2MB
)
LOG ON
(
NAME = DB_log1,
FILENAME = 'F:\DB_log1.ldf', 
SIZE = 1MB,
MAXSIZE = 30MB,
FILEGROWTH = 10%
)

1.2 修改数据库

1.2.1 增加数据文件

语法:

alter database 数据库名称

add file 数据文件

[to file group 文件组名称]

add log file 日志文件

操作:

ALTER DATABASE DB 
ADD FILE 
(
	NAME = ,
	FILENAME = ,
	SIZE = ,
	FILEGROWTH = 
)

1.2.2 增加日志文件

ALTER DATABASE DB
ADD LOG FILE 
(
	NAME = ,
	FILENAME = ,
	SIZE = ,
	FILEGROWTH = ,
	MAXSIZE = 
)

1.2.3 修改数据文件

语法:

ALTER DATABASE 数据库名

MODIFY FILE 文件属性

操作:将数据库db1中的数据文件data2的初始大小改为10MB,最大容量为20MB,增长幅度为10%

alter database db1 
modify file
(
name = data2,
size = 10,
maxsize = 20,
filegrowth = 10%
)
ALTER DATABASE DB
MODIFY FILE
(
	NAME = ,
	SIZE = ,
)

1.2.4 删除数据文件和日志文件

语法:

alter database 数据库名称

remove file 数据文件或日志文件的逻辑文件名

操作:删除数据库db1中的数据文件data4和日志文件log2

alter database db1
    remove data4

alter database db1
    remove log2

1.2.5 增加文件组

语法:

alter database 数据库名
add filegroup 文件组名

操作:在数据库db1中增加一个g2文件组

alter  database   db1
      add  filegroup   g2

1.2.6 重命名文件组

语法:

alter database 数据库名
modify filegroup 文件组名
name=新文件组名

操作:将数据库db1中的文件组g2更名为g3

alter  database  db1
    modify  filegroup  g2  name=g3

1.2.7 删除文件组

语法:

alter database 数据库名称

remove filegroup 文件组名

操作:删除数据库db1的文件组g3

alter database db1
remove filegroup g3

1.2.8 修改数据库名称

语法:

alter database 数据库名

modify name = 新数据库名

操作:将数据库db1的名字修改为gl

alter database db1
modify name = gl

1.3 删除数据库

语法: Drop database 数据库名 [,……n]

操作:删除数据库DB1,DB2,DB3
DROP DATABASE DB1,DB2,DB3

2.架构与基本表

2.1 创建架构

CREATE SCHEMA  T2 AUTHORIZATION User1
	CREATE TABLE Test(C1 INT PRIMATY KEY, C2 CHAR(4) )
	GRANT SELECT TO User2
	DENY DELETE TO User3;

2.2 修改架构

ALTER SCHEMA T1 TRANSFER T2.Test

2.3 删除架构

DROP SCHEMA T2 

2.4 创建基本表

2.4.1 表约束

类型:

主键(PRIMARY KEY)约束
惟一(UNIQUE)约束
外键(FOREIGN KEY)约束
检查(CHECK)约束
说明:非空和默认值也可看成是约束。
创建表约束的方法:新建表时,在单列后创建约束或者在所有列之后,再创建约束;如果表已存在,只能通过修改表,添加约束。

语法:

create table 表名
(字段名 类型[(长度)] [,……n])

操作:

CREATE TABLE Student
(
	SNO	CHAR(7)		PRIMATY KEY,
	SNAME	NCHAR(5)	NOT NULL,
	SID	CHAR(18)	UNIQUE,
	SEX	NCHAR(1)	DEFAULT 'MAN',
	SAGE	TINYINT		CHECK (SAGE >= 15 AND SAGE <= 40)
	SDEPT	NVARCHAR(20)
)

CREATE TABLE Course
(
	cno 		CHAR(6)			PRIMARY KEY,
	cname		NVARCHAR(20)	        NOT NULL,
	credit		NUMRIC(3,1)		CHECK (credit > 0),
	senester	TINYINT
)

CREATE TABLE SC
(
	sno 		CHAR(7) 	NOT NULL,
	cno		CHAR(9)		NOT NULL,
	grade		TINYINT,
	PRIMARY KEY (sno, cno)
	FOREIGN KEY (sno) REFERENCES Student (SNO)
	FOREIGN KEY (cno) REFERENCES Course (cno)
)

2.4.1.1 PRIMARY KEY

主键约束的作用:
1.不允许输入重复的值
2.不能取空值 (当主键是由多个属性组成时:某一属性上的数据可以重复,但其组合必须是惟一的;每个属性的值都不能为空。)
3.一个表上只能有一个主键。

2.4.1.2 UNIQUE

惟一性约束的作用:保证列中不会出现重复的数据。

主键约束与惟一性约束的区别:
1.一个表中只能定义一个主键约束,但可以定义多个惟一约束。 2.定义了惟一约束的列数据可以为空值,而定义了主键约束的列数据不能为空值。

2.4.1.3 FOREIGN KEY

外间约束的作用:用于建立和强制两个表间的关联,限制外键的取值必须是主表的主键值。

2.4.1.4 CHECK

检查约束的作用: 1.用来限制列上可以接受的数据值 2.使用逻辑表达式来判断数据合法性

2.4.1.5 DEFAULT

默认约束的作用:当列值未确定且该列又不能为空时,可由系统自动为该列添加一个值

2.4.2 添加主键约束

操作:在学生情况表student中,添加“sno”的主键约束,主键约束命名为pk_student
如果表不存在
create   table   student 
( sno      char (6),
  sname      char (8),
  ssex       bit ,
  sphone       char(11)
  constraint   pk_student
  primary  key  (sno)
)