SQL 基础(一)创建、查看、修改、删除数据库

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
日志服务 SLS,月写入数据量 50GB 1个月
简介: SQL 基础(一)创建、查看、修改、删除数据库

SQL(Structured Query Language),结构化查询语言

基础理论

T-SQLSQL 的区别:

  • T-SQLSQL 语言的一种版本,且只能在 SQL SERVER 上使用。是 ANSI SQL 的加强版语言、提供了标准的 SQL 命令。另外,T-SQL 还对 SQL 做了许多补允,提供了类似 CBasicPascal 的基本功能,如变量说明、流控制语言、功能函数等
  • SQL 由甲骨文发布,T-SQL 由微软发布
  • SQL 是一种标准,T-SQLSQLSQL SERVER 上的实现

主要功能:

  • 数据查询 Query
  • 数据定义 Definition
  • 数据操纵 Manipulation
  • 数据控制 Control

主要文件:

  • 主数据文件 .mdf
  • 次数据文件 .ndf
  • 事物日志文件 .ldf

数据库创建

使用 Management Studio

SQL 语句创建

CREATE DATABASE db_test
ON
(
NAME=test,
FILENAME='D:\Data\test.mdf', --路径+文件名(加扩展名)
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=5% --最后一句指令后不加逗号
)
LOG ON
(
NAME=test_log,
FILENAME='D:\Data\test_log.ldf',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=2% --具体容量或 UNLIMITED 不限制
)

修改数据库

ALTER DATABASE db_test
ADD FILE
(
NAME=test_file, --在数据库 db_test 中添加次要数据文件                   逻辑名
FILENAME='D:\Data\test_file.ndf', -- 文件名.ndf 注意文件格式
SIZE=100,
MAXSIZE=200,
FILEGROWTH=10 -- 文件自动增量为10MB
)

查看数据库

EXECUTE Sp_helpdb db_test --查看数据库

迁移数据库 分离与附加

EXECUTE Sp_detach_db db_test --分离数据库
EXECUTE Sp_attach_db db_test,物理文件名(.mdf文件位置) --附加数据库

*注:数据库的分离与附加一般发生在数据库在不同机器迁移的情况下使用,当使用 Management Studio 操作时,可能会因权限问题导致附加失败,下面演示如何修改控制权限

本地找到数据库主文件(.mdf)右键修改属性,勾选完全控制

打开 Management Studio 选中数据库节点,进入附加数据库窗口

选择数据库文件位置,添加执行即可

删除数据库

DROP DATABASE db_test

*注:SQL 指令常用大写,减少后台指令转换执行时间,提升速度,影响较小,基本可忽略

练习

题目

实验任务 1

要求设计一个数据库,数据库名为 db_HX(要求利用 SQL Server Management

Studio 平台,T-SQL 语句两种方式创建数据库);数据库名为 db_HX;数据库中包含一

个数据文件,逻辑文件名为 HX_DATA,物理文件名为 HX_DATA.MDF,文件的初始容量为

5MB,最大容量为 15MB,文件容量递增值为 2MB

事务日志文件的逻辑文件名为 HX_LOG,物理文件名为 HX_LOG.LDF,初始容量为

3MB,最大容量为 10MB,文件容量递增值为 1MB;

实验任务 2

利用 SQL Server Management Studio 平台,T-SQL 语句两种方式修改数据库,按

要求对数据库进行修改在数据库 db_HX 中添加一个数据文件,逻辑文件名为 HX_DATA1,

文件的初始容量为 3MB,最大容量为 15MB,文件容量递增值为 2MB;

将事务日志文件的最大容量改为 20MB,文件容量递增值为 2MB;

实验任务 3

利用 SQL Server Management Studio 平台,T-SQL 语句两种方式修改数据库,按

要求对数据库文件进行删除,将数据库 db_HX 中刚添加的 HX_DATA1 数据库文件删除。

实验任务 4

利用 SQL Server Management Studio 平台,T-SQL 语句两种方式,将数据库 db_HX

进行分离和附加操作。

实验任务 5

使用 T-SQL 语句删除数据库 db_HX

任务拓展

创建一个包含多个数据文件和日志文件的数据库 db_MNS,该数据库包含两个初始大小

为 15MB 的数据文件和两个 5MB 的日志文件。

Query.sql

--任务1
create database db_hx
on
(
name=hx_data,
filename='D:\Data\hx_data.mdf',
size=5,
maxsize=15,
filegrowth=2
)
log on
(
name=hx_log,
filename='D:\Data\hx_log.ldf',
size=3,
maxsize=10,
filegrowth=1
)
--任务2
alter database db_hx
add file
(
name=hx_data1,
filename='D:\Data\hx_data1.ndf',
size=3,
maxsize=15,
filegrowth=2
)
alter database db_hx
modify file
(
name=hx_log,
filename='D:\Data\hx_log.ldf',
maxsize=20,
filegrowth=2
)
--任务3
alter database db_hx
remove file hx_data1
--任务4
execute sp_detach_db db_hx
execute sp_attach_db db_hx,'D:\Data\hx_data.mdf'
--任务5
drop database db_hx
--拓展
create database db_mns
on primary --创建多个数据文件(但仅有一个主数据文件)
(
name=mns_data1,
filename='D:\Data\mns_data1.mdf', --主数据文件
size=15
),
(
name=mns_data2,
filename='D:\Data\mns_data2.ndf', --主文件组,次数据库文件
size=15
)
log on
(
name=mns_log1,
filename='D:\Data\mns_log1.ldf',
size=5
),
(
name=mns_log2,
filename='D:\Data\mns_log2.ldf',
size=5
)

Tips:

选中代码,点击执行可以执行 部分指令


相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1天前
|
SQL 存储 Java
SQL数据库学习指南:从基础到高级
SQL数据库学习指南:从基础到高级
|
2天前
|
SQL 弹性计算 数据管理
数据管理DMS产品使用合集之sql server实例,已经创建了数据库,登录时提示实例已存在,该怎么处理
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
14 1
|
7天前
|
SQL XML 数据库
后端数据库开发高级之通过在xml文件中映射实现动态SQL
后端数据库开发高级之通过在xml文件中映射实现动态SQL
14 3
|
7天前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
25 3
|
7天前
|
SQL druid Java
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
12 1
|
9天前
|
SQL 数据库
零基础学习数据库SQL语句之操作表中数据的DML语句
零基础学习数据库SQL语句之操作表中数据的DML语句
12 0
零基础学习数据库SQL语句之操作表中数据的DML语句
|
20小时前
|
SQL 存储 关系型数据库
【SQL注入】 数据库基础
SQL注入 MYSQL数据库结构 数据库操作
6 0
|
3天前
|
关系型数据库 MySQL 数据库
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
|
7天前
|
SQL Java 关系型数据库
Java与数据库连接技术JDBC关键核心之PreparedStatement以及SQL注入演示解决和原理
Java与数据库连接技术JDBC关键核心之PreparedStatement以及SQL注入演示解决和原理
11 0
|
9天前
|
SQL 前端开发 关系型数据库
零基础学习数据库SQL语句之查询表中数据的DQL语句
零基础学习数据库SQL语句之查询表中数据的DQL语句
10 0