管理数据库和表

简介:

管理数据库和表

以前在做实验的过程中总结和写的一些教程的一些资料,一直没时间发布到博客上面,五一到了,终于有点时间发布啦!关于Linux上面还会有RHCE系列的学习笔记发表

1. 创建数据库(两种方法:图形界面和Transact-SQL语句)请用语句创建名为mydatabase的数据库,并要求设置其保存路径为f盘,数据文件初始大小为100mb,最大为5000mb,增长为100mb,日志文件初始大小为50mb,最大为2000mb,增长为50mb

Create database mydatabase

On

(name=mydatabase_dat,

Filename=f:\sql\mydatabase_dat.mdf,

Size=100,

Maxsize=5000,

Filegrowth=100)

Log on

(name=mydatabase_log,

Filename=f:\sql\mydatabase_log.ldf,

Size=50,

Maxsize=2000,

Filegrowth=50)

2. 自行完成数据库的管理,包括属性配置、收缩数据库、分离数据库、附加数据库

3. mydatabase中创建表(两种方法:图形界面和Transact-SQL语句),请用语句创建名为学生成绩表的一个表,表中包含学号、姓名、性别、语文、数学,(数据类型自行定义),并需要设置主键

Create table 学生成绩表

(姓名 varchar(12),

性别 varchar(4),

语文 int,

数学 int,

学号 varchar(12))

4. 向表中插入记录(图形界面和transact语句两种方法都进行尝试),这里不再演示

5. 更改表中的记录(图形界面和transact语句两种方法都进行尝试)

6. 删除表中的记录(图形界面和transact语句两种方法都进行尝试) 

7. SSMS管理控制台中导入数据库NorthWind,完成如下要求:

1) 查询供应商表: 返回所有行,并将结果放入新表中 返回供应商ID,公司名称,地址  返回地区为华南、西南、华东的所有记录 返回所有传真为空的所有记录 

2) 查询产品表:查询全部,但只返回前30%记录   返回产品ID,产品名称,供应商ID,单价,库存量 查询单价大于20,并按降序排序    查询库存量大于5且小于100  E 查询所有油类产品(有油字符的)  查询单价小于15或者大于40 

3) 复杂查询:

Ø 返回产品名称,公司名称,单价,并按升序排列(利用供应商表和产品表):
select 产品.产品名称,产品.单价,供应商.公司名称from 产品,供应商

where 产品.供应商ID=供应商.供应商ID order by 单价

Ø 返回公司名称,货主名称,姓氏,名字(利用订单,雇员,客户表,请使用别名)

            select 客户.公司名称,订单.货主名称,雇员.姓氏,雇员.名字

from 客户,订单,雇员

where 订单.客户ID=客户.客户ID and 订单.雇员id=雇员.雇员id

查询尊称为“女士”的雇员姓氏,名字,货主城市,以及雇员ID和公司名称

select 雇员.姓氏,雇员.名字,订单.货主城市,订单.雇员id,客户.公司名称from 雇员,订单,客户

where 雇员.雇员id=订单.雇员id 

and 客户.客户id=订单.客户id and 订单.雇员id in(select 雇员id from 雇员where 尊称='女士')

order by 雇员id desc

第三章:安全管理

1. windows身份验证:
Sp_grantlogin ‘login’

例子:允许test域用户xzsqlusers组连接SQL服务:

允许本地组Users连接SQL服务

sp_grantlogin ‘test\xz’

sp_grantlogin ‘test\sqlusers’

sp_grantlogin ‘BUILTIN\users’

go

Sp_denylogin ‘login’

 例子:

– 禁止test域用户xzsqlusers组连接SQL服务:

– 禁止本地组Users连接SQL服务

    sp_denylogin ‘test\xz’

    sp_denylogin ‘test\sqlusers’

    sp_denylogin ‘BUILTIN\users’

    go

删除登录标识:

Sp_revokelogin ‘login’

例子:

sysxlogins系统表中删除xzsqlusers 

   sp_revokelogin ‘test/xz’

   sp_revokelogin ‘test/sqlusers’

   go

创建SQL登录标识:

Exec  Sp_addlogin ‘login’

‘password’

‘database’

‘language’

‘sid’

‘encryption_option’

举例:Exec Sp_addlogin test1

Exec Sp_addlogin test2, password, northwind

      修改登录标识:

Exec Sp_password ‘oldpsw’,’newpsw’,’login’

Exec Sp_defaultdb ‘login’,’database’

Exec Sp_defaultlanguage  ‘login’,’language

删除SQL登录标识:

exec sp_droplogin login

2. 数据库角色:

创建和删除自定义角色:

Sp_addrole  ‘role’, ‘owner’

– Role为创建的角色

– Owner为角色的拥有者,默认为dbo 

Sp_droprole ‘role’

Use northwind

Go

Sp_addrole ‘sales’, ‘dbo’

Go

Sp_addrole ‘manager’

Go

Sp_droprole ‘manager’

Go

为固定服务器角色添加删除成员:

Sp_addrole  ‘role’, ‘owner’

– Role为创建的角色

– Owner为角色的拥有者,默认为dbo 

Sp_droprole ‘role’

为数据库角色添加删除成员:

Sp_addrolemember ‘role’, ‘account’

Sp_droprolemember ‘role’, ‘account’

– Role为固定或自定义数据库角色

– AccountSQL登录标识或NT帐号

管理数据库用户:

Sp_grantdbaccess ‘login’, ‘name_in_db’

Sp_revokedbaccess ‘name_in_db’

– Login为登录标识

– Name_in_db为在数据库里的用户帐号,默认为同名

3. 权限授予、拒绝、回收

northwind的订单表的select许可授予所有用户:

Use northwind

Go

Grant select 

 on 订单

 to public

go

sales表的数据修改许可授予自定义角色salesmanger

Grant insert,update,delete 

 on sales

 to salesmanger 

Go

允许用户xz查看publishers表的所有内容,但只允许修改pub_id列:

Grant select,update{pub_id}

 on publishers

 to xz 

Go

第四章 备份与还原

1Transanct-SQL语句创建备份设备:

Sp_addumpdevice ‘devicetype’, ‘logical_name’,‘physical_name’

Devicetype:备份设备类型

disk:硬盘文件

tape:磁带设备

pipe:命名管道

Logical_name:备份设备的逻辑名称

Physical_name:物理名称

1

Use master

Go

Sp_addumpdevice ‘disk’,  ‘backup1’,

‘d:\mssql7\backup\backup1.dat’

Go

2

Use master

Go

Sp_addumpdevice ‘disk’,  ‘backup2’,

‘\\xz\backup\backup2.dat’

Go

2、查看备份设备

Sp_helpdevice [‘name’]

指定设备的name,可以查看该设备

不指定,查看服务器上所有设备

返回的cntrltype参数:

0:数据库设备

2:硬盘备份设备

34:软盘备份设备

5:磁带备份设备

3、删除备份设备

Sp_dropdevice ‘device’,  [‘delfile’]

Device:设备的逻辑名称

Delfile:可选项,指定是否删除对应的物理文件

例:

     use master

go

sp_dropdevice ‘backup’, ‘delfile’

go

4、备份数据库

Backup database 数据库名 to 设备名

例如:

Use master

Go

Backup database pubs to backup1

Go

5、备份数据库文件和文件组

Backup database 数据库名

file=‘文件名’|filegroup=‘文件组名’

to 设备名

6备份事务日志

Backup log 数据库名

with no_log 

to 设备名

7、数据库恢复

restore database 数据库名 from 设备名

8恢复事务日志

Restore log 数据库名from 备份设备名



     本文转自 wqmsl 51CTO博客,原文链接:http://blog.51cto.com/wqmsl/307819,如需转载请自行联系原作者



相关文章
|
3月前
|
SQL 关系型数据库 MySQL
MySQL| 数据库的管理和操作【操作数据库和操作表】【附练习】
MySQL | 数据库的基本操作和表的基本操作【附练习】
|
3月前
|
弹性计算 关系型数据库 MySQL
快速上手阿里云RDS MySQL实例创建,轻松管理数据库
快速上手阿里云RDS MySQL实例创建,轻松管理数据库 在数字化时代,数据已成为企业的核心资产。如何高效、安全地存储和管理这些数据,成为企业在云计算时代亟待解决的问题。阿里云的RDS(关系型数据库服务)应运而生,为用户提供稳定、可靠的云上数据库解决方案。本文将详细介绍如何通过阿里云RDS管理控制台快速创建RDS MySQL实例,让您轻松上手,快速部署数据库。
170 2
|
4月前
|
存储 Oracle 关系型数据库
postgresql数据库|wal日志的开启以及如何管理
postgresql数据库|wal日志的开启以及如何管理
248 0
|
4月前
|
存储 SQL 关系型数据库
Windows server 2016——SQL server 数据库和表的管理
Windows server 2016——SQL server 数据库和表的管理
60 0
|
4月前
|
存储 安全 Linux
小白带你学习linux数据库—用户权限管理(二十九)
小白带你学习linux数据库—用户权限管理(二十九)
48 0
|
26天前
|
SQL 安全 数据管理
在阿里云数据管理DMS(Data Management Service)中,您可以按照以下步骤来创建和管理数据库
【2月更文挑战第33天】在阿里云数据管理DMS(Data Management Service)中,您可以按照以下步骤来创建和管理数据库
28 7
|
3月前
|
SQL 关系型数据库 MySQL
MySQL | 数据库的管理和操作【表的增删改查】(一)
MySQL | 数据库的管理和操作【表的增删改查】
|
3月前
|
SQL 关系型数据库 MySQL
MySQL | 数据库的管理和操作【表的增删改查】(二)
MySQL | 数据库的管理和操作【表的增删改查】(二)
|
2月前
|
存储 监控 安全
内网屏幕监控软件的数据存储与管理:使用SQLite数据库保存监控记录和配置信息
在当今数字化时代,安全和监控在企业和组织中变得至关重要。内网屏幕监控软件作为一种关键工具,帮助组织监视员工的活动并确保信息安全。这种软件不仅需要高效地记录和管理监控数据,还需要能够方便地进行配置和调整。本文将讨论如何使用SQLite数据库来保存监控记录和配置信息,并介绍如何通过自动化机制将监控到的数据提交到指定网站。
150 2
|
1月前
|
NoSQL 关系型数据库 Linux
Star 1.6k!当Web遇上Linux和数据库!一站式管理平台的开源之旅!
Star 1.6k!当Web遇上Linux和数据库!一站式管理平台的开源之旅!