大家好,我们今天来一起学习SQL。首先看一下什么是SQL呢?SQL 是用于访问和处理数据库的标准的计算机语言。SQL是种结构化的查询语言,它能够让我们使用数据库。那么SQL能做什么呢?

  • SQL 面向数据库执行查询
  • SQL 可从数据库取回数据
  • SQL 可在数据库中插入新的纪录
  • SQL 可更新数据库中的数据
  • SQL 可从数据库删除记录
  • SQL 可创建新数据库
  • SQL 可在数据库中创建新表
  • SQL 可在数据库中创建存储过程
  • SQL 可在数据库中创建视图
  • SQL 可以设置表、存储过程和视图的权限

SQL主要分为两部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。除此还有数据控制语言(DCL)。我们重点介绍DML和DDL。

查询和更新指令构成了 SQL 的 DML 部分,创建和删除等指令构成了DDL部分。

在具体介绍语言之前,我们先要知道我们的一条SQL语句是由主语句和子语句构成的,子语句是不能独立运行的。

在SQL Server 2005中打开SQL Server Management Studio,然后单击新建查询就可以输入SQL语句了。SQL Server中使用的是Transact-SQL。

还有一点要注意的是,在SQL Server中如果要执行这条语句,要选中它然后点执行。不然的话会执行所有的语句的。

sql server management studio 2022 调试_数据库

废话少说我们就来学习关于数据库操作的语句吧。

--创建数据库 主语句是CREATE DATABASE
--指令是CREATE DATABASE databasename;
CREATE DATABASE testdb01;

--在SQL Server中一个数据库中包含有三种文件:一种是.mdf,一种是.ndf还有.ldf。
--mdf是主数据文件,ndf是次数据文件,ldf是日志文件
--创建一个指定数据文件的数据库
CREATE DATABASE testdb02
ON(
	NAME=学生,					
	--数据文件名
	FILENAME="C:\data\学生.mdf",	
	--数据文件的物理位置
	SIZE=10MB,						
	--初始大小,默认是MB
	--MAXSIZE=20MB,					
	--最大大小
	MAXSIZE=UNLIMITED,				
	--最大大小没有限制
	FILEGROWTH=1MB					
	--文件自增长大小
);
--上面create database是主语句,on是子语句

--指定主数据文件、次数据文件和日志文件
CREATE DATABASE testdb03
ON(
	NAME=Course,
	FILENAME='C:\data\course.mdf',
	SIZE=10MB,
	MAXSIZE=20MB,
	FILEGROWTH=10%
	--以百分之十增长
),
(
	NAME=Teach,
	FILENAME='C:\data\teach.ndf',
	--通过文件的扩展名指定次数据文件
	SIZE=10MB,
	MAXSIZE=20MB,
	FILEGROWTH=10%
)
LOG ON(
	NAME=DB_LOG,
	FILENAME='C:\data\DB_LOG.LDF',
	SIZE=10MB,
	MAXSIZE=20MB,
	FILEGROWTH=10%
);

--删除数据库
--DROP DATABASE database_name
DROP DATABASE testdb01;

--修改数据库
--主语句是alter database databasename
--给testdb02增加一个数据文件
ALTER DATABASE testdb02
ADD FILE(
	NAME=教师,
	FILENAME='C:\data\教师.ndf',
	SIZE=10MB,
	MAXSIZE=20MB,
	FILEGROWTH=10%
);

--修改刚添加的文件教师.ndf
ALTER DATABASE testdb02
MODIFY FILE(
	NAME=教师,
	--这个必须是存在的文件名
	FILENAME='C:\data\教师.ndf',
	SIZE=13MB,
	--更改后的大小必须必之前的大
	MAXSIZE=10MB,
	--这个也是大小只能比之前的大
	FILEGROWTH=3MB
);

--删除刚刚增加的文件
ALTER DATABASE testdb02
REMOVE FILE 教师;

--修改数据库名
ALTER DATABASE testdb02
MODIFY NAME=demodb02;

--使用数据库,在数据库中建表这些操作之前要先使用数据库
--USE databasename;
USE testdb03;