SQLServer学习笔记二:数据库操作

T-SQL语言

Transact-SQL语言主要由4部分组成:

  • 数据控制语言(DCL):进行安全性管理。主要语句:

GRANT、DENY、REVOKE

  • 数据定义语言(DDL):进行数据任务。主要语句:

create、alter、drop

  • 数据操作语言(DML):操作数据库中个对象,主要语句:

insert、update、delete

  • 数据查询语言(DQL):用来对数据中的数据进行查询,主要语句:

select

除此之外,还有一些附加语言元素:运算符、变量、函数、注释等。

DCL

  • GRANT:授予权限,可以把语句许可或对象许可权限授予其他用户或角色。
    例如:授予用户MelanieK创建表的权限。
USE AdventureWorks;
GRANT CREATE TABLE TO MelanieK;
GO
  • REVOKE:收回权限,与GRANT功能相反,但不影响该用户或角色从其他角色中作为成员继承许可权限。
    例如:在用户数据库上创建一个SCHEMA 、一个数据库用户和一个新角色。 将用户添加到该角色,向角色授予对SCHEMA 的 SELECT 权限,然后删除 (REVOKE) 角色的该权限。
CREATE SCHEMA Sales;  
GO
CREATE USER Joe without login;
GO
CREATE ROLE Vendors;
GO
ALTER ROLE Vendors ADD MEMBER Joe; 
GO
GRANT SELECT ON SCHEMA :: Sales TO Vendors;
GO
REVOKE SELECT ON SCHEMA :: Sales TO Vendors;
GO
  • DENY:收回权限,功能与REVOKE相似,不同之处是除了收回权限外,还禁止从其他角色中继承许可权限。
    例如:拒绝用户 CarmineEs 、以及 CarmineEs 已授予的 VIEW DEFINITION 权限。
USE AdventureWorks2012;
DENY VIEW DEFINITION TO CarmineEs CASCADE;
GO

DDL

  • CREATE:创建数据库或数据库对象。
    例如:创建my_test数据库。在创建之前如果存在名为my_test的数据,那么先删除该数据库。
USE master;
GO
IF DB_ID (N'my_test') IS NOT NULL
DROP DATABASE my_test;
GO
CREATE DATABASE my_test;
  • ALTER:修改数据库或数据库对象
    例如:将 AdventureWorks2012 数据库的名称更改为 Northwind。
USE master;
GO
ALTER DATABASE AdventureWorks2012
Modify Name = Northwind ;
GO
  • DROP:删除数据库或数据库对象
    例如:删除 Sales 数据库
DROP DATABASE Sales;

DML

  • SELECT:从表或视图中查询数据。例如:从 Customers 表中选取所有列
SELECT * FROM Customers;
  • INSERT:向表或视图中插入数据。例如:向CUSTOMERS表插入新的记录:
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) 
VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 );
  • UPDATE:修改表或视图中的数据。例如:在CUSTOMERS表更新ID为6的客户的ADDRESS:
UPDATE CUSTOMERS 
SET ADDRESS = 'Pune' 
WHERE ID = 6; 
  • DELETE:从表或视图中删除数据。例如:在CUSTOMERS表中删除ID为6的客户的记录:
DELETE FROM CUSTOMERS 
WHERE ID = 6;

创建数据库

一个数据库中包含三个文件:

  • 主数据文件,一个数据库有且只有一个,其扩展名为.mdf
  • 辅助数据文件,根据需要自由选择,当数据库很大时,可以选择多个(0,1,2…),其扩展名为.ndf
  • 日志文件,用于恢复数据库所需要的事务日志信息,至少一个,其扩展名为.ld

创建数据库的方式

  • 使用Management Studio
  • 使用T-SQL。例如:创建一个名为pubs的数据库。
CREATE DATABASE [pubs] ON  PRIMARY 
( NAME = N'pubs', FILENAME = N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\pubs.mdf' , SIZE = 2240KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'pubs_log', FILENAME = N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\pubs_log.LDF' , SIZE = 560KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
  • NAME = 逻辑名
  • FILENAME = 文件的物理存放路径
  • SIZE = 数据文件的初始大小
  • MAXSIZE = 数据文件的最大大小
  • FILEGROWTH = 文件的增长方式

练习

创建图书馆管理数据库tsgl,数据库物理文件存放在D:\testdb文件夹下,其它要求如下:

文件 名称 初始大小 最大大小 增长方式 文件名
主数据文件 tsgl 6mb 不限制 2mb tsgl.mdf
日志文件 tsgl_log 2mb 512mb 15% tsgl_log.ldf

修改数据库

修改数据库的方式

  • 使用Management Studio
  • 使用T-SQL

常用的修改操作

  • 修改数据库的名字,例如,将数据pubs的名称修改为pub_db:
ALTER DATABASE pubs
MODIFY NAME = 'pub_db'
  • 添加辅助数据文件,例如,为数据pubs添加一个辅助数据文件
ALTER DATABASE pubs
ADD FILE
(NAME = N'pubs1', FILENAME = N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\pubs1.ndf' , SIZE = 2240KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB)
  • 添加日志文件,例如,为数据pubs添加一个日志文件
ALTER DATABASE pubs
ADD LOG FILE
(NAME = N'pubs_log1', FILENAME = N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\pubs_log1.ldf' , SIZE = 2240KB , MAXSIZE = 400MB, FILEGROWTH = 1024KB)

练习

修改图书馆管理数据库tsgl,将数据库的名称修改为tsgl_db,添加一个辅助数据文件和一个日志文件,将数据库物理文件存放在D:\testdb文件夹下,其它要求如下:

文件 名称 初始大小 最大大小 增长方式 文件名
辅助数据文件 tsgl1 6mb 不限制 2mb tsgl1.ndf
日志文件 tsgl_log1 2mb 512mb 15% tsgl_log1.ldf

删除数据库

删除数据库的方式

  • 使用Management Studio
  • 使用T-SQL,例如:删除数据库tsgl
DROP DATABASE tsgl

系统数据库

使用SQL Server Management Studio连接数据库服务后,在每一个数据库连接下,都具有该数据库服务器下的数据库,而每一个数据库下,都具有“关系图”、“表”、“视图”等数据库对象。

SQL Server中的数据库按照用途可以划分为如下两种。

  • 系统数据库。
  • 用户数据库。

其中,系统数据库是管理和维护 SQL Server所必需的数据库,用户数据库是用户自己建立的数据库。

系统数据库。

Master数据库

Master数据库记录SQL Server系统的所有系统级别信息,包括如下三类。

  • 所有的登录账户和系统配置设置。
  • 所有其他的数据库及数据库文件的位置。
  • SQL Server的初始化信息。

Tempdb 数据库

Tempdb数据库保存所有的临时表和临时存储过程,以及临时生成的工作表。
Tempdb数据库在SQL Server 每次启动时都重新创建。

Model 数据库

Model数据库可用于在系统上创建的所有数据库的模板,例如,使用SQL语句创建一个新的空白数据库时,将使用模板中规定的默认值来创建。

Msdb 数据库

Msdb数据库供 SQL Server代理程序调度警报、作业及记录操作时使用,另外有关数据库备份和还原的记录,也会写在该数据库里。

Resource 数据库

Resource数据库是一个特殊的数据库,并且是一个只读数据库,它包含了SQL Server 中的所有系统对象,这些系统对象物理上存在于Resource数据库中,但是在逻辑上,它们却出现在每个数据库的 sys 架构中,所以,Resource数据库是“隐藏”了的数据库,我们无法使用查看所有数据库的SQL命令等方法看到它。

总结

  • 了解T-SQL语言的组成部分
  • 创建数据库
  • 修改数据库
  • 删除数据库

你可能感兴趣的:(数据库学习笔记,数据库,sqlserver,学习)