您的位置:首页 > 数据库

创建和修改数据表(读书笔记)

2016-01-25 23:03 211 查看

1 SQL Server中的对象名

完全限定的命名如下:

[ServerName.[DatabaseName.[SchemaName.]]]ObjectName

从右至左各个层的默认值:

对象名: 没有默认值——必须提供一个对象名

所有权: 可以省略该值。在省略的情况下,首先用当前用户来解析,如果这个对象名的所有者不是当前用户,那么将使用dbo作为所有者。

数据库名: 除非提供了服务器名,这个也可以省略

服务器名: 可以提供链接的服务器名, 但在大多数情况下, 省略该名称, 这样SQL Server就是登录的默认服务器。

如何希望省略模式名,但仍然提供数据库或者服务器的信息,那么仍必须在所有者原本应在的位置保留相应的“.”符号。

2 CREATE 语句

2.1 CEATE DATABASE

完整的语法如下:



ON: 用于两个地方,1.定义存储数据的文件位置 2.存储日志的文件位置

Name: 用于指定定义的文件的名称

FILENAME: 实际操作系统文件在磁盘上的物理名称,在该文件中将存储数据(.mdf)或日志(.ldf)

SIZE: 数据库的大小,默认单位MB。必须为整数,不提供的话,那么数据库的初始大小与模型数据库一样。

MAXSIZE: 数据库可以增加的最大值。不提供则会自动占满该磁盘的所有存储空间。建议设置最大值,并使用警报来预报某个条件的存在。

FILEGROWTH: 数据库到达最高值的速度(增长字节或百分比)

LOG ON: 指定哪些文件需要日志,以及这些文件位于什么位置。

COLLATE: 处理排序、字母大小写和是否重音敏感问题。

FOR ATTACH: 将已存在的一些数据库文件附加到当前的服务器上。

WITH DB CHAINING ON|OFF: 打开该选项,那么跨数据库的所有权链有效。

TRUSTWORTHY: 访问在SQL Server环境外的系统资源和文件添加额外的安全层。

实例:

CREATE DATABASE Accounting
ON
(NAME = 'Accounting',
FILENAME = 'C:\Program Files\Microsoft SQL Server\
MSSQL10.MSSQLSERVER\MSSQL\DATA\AccountingData.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5)
LOG ON
(NAME = 'AccountingLog',
FILENAME = 'C:\Program Files\Microsoft SQL Server\
MSSQL10.MSSQLSERVER\MSSQL\DATA\AccountingData.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB);
GO


2.2 CREATE TABLE

练习:

Employees表包含以下信息:

雇员ID —— 需要自动生成



中间名(可选)



职位

社会保障号

薪水

以前的薪水

上次加薪数量

雇佣时间

终止时间(如果有的话)

雇员的经理

部门

CREATE TABLE Employees
{
EmployeeID int IDENTITY NOT NULL,
FirstName varchar(25) NOT NULL,
MiddleInitial char(1) NULL,
LastName varchar(25) NOT NULL,
Title varchar(25) NOT NULL,
SSN varchar(11) NOT NULL,
Salary money NOT NULL,
PriorSalary money NOT NULL,
LastRaise As Salary - PriorSalary,
HireDate date NOT NULL,
TerminationDate date NOT NULL,
ManagerEmpID int NOT NULL,
Department varchar(25) NOT NULL
}


3 ALTER 语句

3.1 ALTER DATABASE





3.2 ALTER TABLE

功能语法
向表中添加字段Alter table [表名] add [列名] 类型
删除字段Alter table [表名] drop column [列名]
修改表中字段类型Alter table [表名] alter column [列名] 类型
添加主键Alter table [表名] add constraint [ 约束名] primary key( [列名])
添加唯一约束Alter table [表名] add constraint [ 约束名] unique([列名])
添加表中某列的默认值Alter table [表名] add constraint [约束名] default(默认值) for [列名]
添加约束Alter table [表名] add constraint [约束名] check (内容)
添加外键约束Alter table [表名] add constraint [约束名] foreign key(列名) referencese 另一表名(列名)
删除约束Alter table [表名] drop constraint [约束名]

4 DROP 语句

功能语法
删除表格中的索引drop table_name.index_name
删除表drop table 表名称
删除数据库drop database 数据库名称
删除表内数据(但不删除表结构本身)truncate table 表名称
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息