SQL Server详细使用教程(包含启动SQL server服务、建立数据库、建表的详细操作) 非常适合初学者-程序员宅基地

技术标签: sqlserver  学习方法  改行学it  数据库  sql  

文章目录


前言

   本文主要详细介绍SQL server2019的简单使用,以《数据库系统概论(第5版)》的第79页—第80页为例,详细介绍如何使用SQL server2019这款数据库软件,包括启动SQL server服务,建立数据库(学生—课程模式S-T),建立课程表等,内容比较简单,容易理解,适合广大初学者了解SQL server的简单使用。不会涉及到复杂的语法知识,如果有也会详细解释的!(下文标红的字请重点关注一下!

   本文的需要建表的数据如下:

2.Course

课程号

Cno

课程名

Cname

先行课

Cpno

学分

Ccredit

1 数据库 5

4

2 数学 2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 2
7 PASCAL语言 6 4

一、启动SQL server服务的三种方法

1.不启动SQL server服务的影响

       在使用Microsoft SQL Server Management Studio 18r时,必须先启动SQL server服务,如果直接打开Microsoft SQL Server Management Studio 18,输入用户密码后,点击连接,会提示类似下图的错误信息:

        出现上面的错误提示的原因是没有启动SQL server服务,导致无法连接服务器,为了解决上面的出现的错误,需要启动SQL server服务器,关闭Microsoft SQL Server Management Studio,按照下述的三种方法之一,启动SQL server服务即可。

2.方法一:利用cmd启动SQL server服务

(1)在开始里面搜索cmd,如下图所示:

(2)选择命令提示符,鼠标右击,点击以管理员身份运行(一定要注意要以管理员身份运行,否则启动SQL server服务会失败!) 打开后界面如下:

(3)在命令提示符中,输入以下的代码:

net start mssqlserver

         输入完上述的代码之后,按回车键,会自动启动SQL server服务,此时的界面如下图所示:

 此时显示SQL server服务已经启动成功了,SQL server服务启动之后,关闭命令提示符,打开Microsoft SQL Server Management Studio输入用户密码后,点击连接,就可以正常使用了(也可以windows 身份验证登录)

说明:

        如果在命令提示符中,遇到发生系统错误,拒绝访问的提示,很大部分原因是因为没有以管理员身份运行命令提示符

3.方法二:利用SQL Server配置管理器启动SQL server服务

利用SQL Server 2019 配置管理器启动SQL server服务,具体操作步骤如下:

(1)在开始里面搜索SQL server,如下图所示:

(2)在搜索SQL server后,会有SQL server 2019 配置管理器显示(版本不同,显示可能不同,只要是配置管理器就行) ,选中SQL server 2019  配置管理器以管理员身份运行,打开之后,如下图所示:

(3)右击需要启动的服务,点击启动就行(如果对SQL server不够了解的同学,可以尝试启动,SQL server服务下的所有服务,无法启动的服务可以略过,不用管) ,启动之后如下图所示:

      此时显示SQL server服务已经启动成功了,SQL server服务启动之后,关闭SQL server配置管理器,打开Microsoft SQL Server Management Studio输入用户密码后,点击连接,就可以正常使用了(也可以windows 身份验证登录)

4.方法三:在服务管理器中启动SQL server服务

        打开服务管理器有两种方法,这里只详细介绍一种简单打开服务管理器的方法,第二种打开服务管理器的方法再后面会简略的介绍一下。

具体的操作步骤如下所示:

(1)在开始里面搜索服务,如下所示:

(2)选中“服务”,以管理员身份运行“服务” (服务管理器),此时的界面如下图所示:

 (3)用鼠标往下滑,找到SQL server服务,此时如下图所示:

 (4)根据描述,选择要启动的SQL server服务,点击启动此服务中的“启动”,此时选中SQL server服务,会自动启动(如果对SQL server不够了解的同学,可以尝试一个一个启动,SQL server服务下的所有服务,无法启动的服务可以略过,不用管),启动完需要的SQL server服务之后,此时的界面如下图所示:

        此时显示SQL server服务已经启动成功了,SQL server服务启动之后,关闭SQL server配置管理器,打开Microsoft SQL Server Management Studio输入用户密码后,点击连接,就可以正常使用了(也可以windows 身份验证登录)

        在前面介绍启动服务管理器,说过有两种启动方法,我已经介绍一种比较简单的方法,启动服务管理器,下面我将介绍简略的介绍第二种启动“服务”(服务管理器)的方法,该方法虽然比较简单,但比较繁琐。具体步骤如下所示

        选中我的电脑(此电脑)————右击————找到管理————点击管理————双击服务与应用程序————双击服务————此时服务管理器已经打开————接着按照上述的方法二的第(3)步开始就行,就可以启动SQL server服务

        至此,启动SQL server服务的三种方法,我已经介绍完毕,一般我们采用方法一和方法二启动SQL server服务更多一些,介绍比较仔细,非常适合新手,如果有问题和建议可以私信我,或者在评论下面发表意见。

二、建立数据库的方法

(1)成功启动SQL server服务后,打开Microsoft SQL Server Management Studio 18之后,在身份验证这一项中,可以选择SQL server身份验证(需要用户密码)或者Windows 身份验证(不需要用户密码),服务器名称根据自身的需求选择,一般默认就行,如下图所示

 如果SQL server服务启动成功之后,点击连接之后,此时的界面如下图所示:

一般出现上图,说明SQL server服务启动成功。

下面,将介绍不用SQL语句建立数据库的方法。

(1)选中对象资源管理中的数据库,鼠标右击数据库 ,点击新建数据库,如下图所示:


 (2)数据库的名称,根据需求自己决定,这里以《数据库系统概论第(5)版》第79页为例,将数据库的名称设为“学生—课程模式S-T”,如下图所示:

 数据库存储的路径可以自己决定,建议默认就行。输入完数据库的名称之后,点击确定就行。此时的界面如下图所示:

 (3)在对象资源管理器中,在数据库的旁边有一个“加号”,点击这个“+”,此时的界面如下图所示:

此时我们就能发现我们创建的“学生—课程模式S-T”的这个数据库。点击旁边的“+”,就可以看到该数据库下的详细目录 ,如下图所示

 现在可以看出我们的数据库是建立成功的。我们可以通过SQL语句检查我们的数据库是否建立成功,点击新建查询,如下图所示:

 在该窗口下出入以下代码:(SQL语句不区分大小写!一般常用大写。)

select * from sys.databases

 (1)上述代码的作用:查询所有的数据库(在系统数据库master下【初学者可以暂时忽略,后面我会在其他文章里面详细说明】

(2)上述代码的解释:select意思是选择,“*(星号)”在SQL语言里面表示所有的,from表示“来自”,database的意思是数据库,由于我们要查找的是所有的数据库,数据不止一个,还有系统数据库,所以是database的复数形式:databases在"mysql"这款数据库的软件一般是database,但是“sql server”是要在database的前面加上sys.(sys有“计算机系统”含义)。由于我们使用的SQL server这款软件所以是sys.databases。即select * from sys.databases 的含义是选择 所有的 来自 所有的数据库,就是查找所有的数据库的意思。(不懂得可以留言)

输入上面的代码之后,此时的界面如下图所示:

 点击执行按钮,(其他版本的Microsoft SQL Server 会有一个感叹号,点击就行),运行的结果如下图所示:

        此时,我们会看到,它会显示5个数据库,最后一个是我们建立的数据库,前面四个就是我在前面说的系统数据库,此时我们的数据库是建立成功的!

注意:对数据库的操作,最好在我们自己的建立的数据库上操作,建议不用对系统数据库操作 

如果误删除系统数据库或者修改系统数据库的话,后果我不知道,因为我不敢尝试!

后果,大家可以参考其他博主的文章(欢迎在评论区留言)

        至此,创建数据库的简单的方法,我已经详细介绍完了。创建数据库可以使用SQL语句进行创建,具体的语法和代码,我会在另外一篇文章上详细介绍,利用SQL语句对数据库的进行操作,我会在另一篇文章做详细的介绍。

       

三、建表的方法

        我在前面已经介绍了建立数据库一种简单的方法,对数据库来说,最重要的是查询操作,但查询是建立在数据上的,意思就是要想查询,必须要有数据才行,把数据展示出来就是表,所以我接下来介绍一种简单的建表的方法,以《数据库系统概论(第5版)》第79页课程表为例

此时的界面如下图所示


 (1)在前言中已经给出需要建表的数据,建立的是课程表。在对象资源管理器中,选中表,鼠标右击表,选择新建,点击表,如下图所示:

点击后,此时界面如下图所示 

 根据《数据库系统概论(第5版)》给我们提供的数据如下所示:

课程号

Cno

课程名

Cname

先行课

Cpno

学分

Ccredit

1 数据库 5

4

2 数学 2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 2
7 PASCAL语言 6 4

接下来我们需要设置列名,数据类型,是否允许Null值(null表示为空

显然列名就是我们的课程号Sno,课程名Cname,先行课Cpno,学分Ccredit

数据类型,我会再另外一篇文章把我总结的分享给大家,这里只介绍常用的

tinyint       小整型数据,一般是1,2,3这类的数据

bigint        大整型数据,一般表示比较大的数据类型

float(n)      可选精度的浮点数(实数),精度至少为n为数字

char(n)    长度为n的定长字符串

varchar(n) 最大长度为n的变长字符串

由于课程号、先行课、学分由于数值很小,所以我们用tinyint就可以了。(当然也可以用bigint,只不过有点大材小用了),对于课程名显然是字符串,我们可以用char或者varchar,这里选择用varchar(因为varchar可以节省存储空间,虽然节省的这点存储空间没有用),根据上述的分析,我们的数据类型的选择也已经出来了。

对于是否允许null值,也就是是否允许空值的出现,根据具体情况来判断,比如“学号”和“课程号”,这些值必须存在,不然就没有意义了,可以设置不允许空值的出现。对于先行课可有可无,所以设置允许空值,如果设置了允许空值,在插入数据的时候,遇到空值,用null表示

按照上述的分析,我们进行列名、数据类型、空值的设置。结果如下表所示:

 我们的表的框架已经建立好了,接下来需要保存这个表的框架,将鼠标移动到,如下图所示的位置:

 在这个位置,鼠标右击,此时的界面会出现:

点击保存就行,此时就保存这个表的框架(也可以按住快捷键ctrl+s保存) 

根据自己的需求输入表名,这里将表名设置为“课程表” ,点击确定就可以了,此时的界面如下图所示:

 接下来,将数据插入表中,在对象资源管理器中,找到自己创建好的数据库,在自己创建好的数据库下,找到表,点击表前面的加号(+),此时的对象资源管理器如下图所示:

 此时,我们就会发现我们建立的课程表,鼠标右击课程表,此时的界面如下图所示:

 点击“编辑200行”后,此时的界面如下图所示:

 此时我们会发现前面我们设置的列名,按行依次插入你想要插入的数据(注意:在插入数据的时候,我建议一行一行的插入),如果遇到感叹号,可以不用管,继续插入数据的操作,插入完之后,结果如下图所示:

       此时建立课程表的操作已经全部完成了,建立其他表,也是按照同样的方法,建表是可以使用SQL语句,但这篇文章是面向刚开始接触数据库技术和这款sql server的数据库的软件的初学者,所以这篇文章很少提到SQL语句的使用,后面根据情况,把我学到利用SQL语句建库和建表的代码分享给大家。

       查询建立的表的详细的数据,可以通过下面语句实现,新建查询,输入和运行下面语句就可以查看课程表的详细内容。

use [学生—课程模式S-T]
select * from [课程表]

总结

        本文主要详细的介绍启动SQL server服务的三种方法,建立数据库、建立课程表的简单的方法。很多内容是可以用SQL语句直接运行出来,但是面向初学者的文章非常少,所以我想把我学到一些简单的内容分享给大家,同时也是对我自己技术的锻炼,如果能把自己学会的东西讲给别人,别人能听懂,说明讲的那个人真的就会了。后面我会把我学到用SQL语句建立学生—课程的数据库的方法,建立学生表、课程表、选课表的方法,分享给大家,如果大家有什么好的方法和建议,可以分享给我,我想在CSDN写文章,本身就是锻炼自己,学习技术的一种方法。如果大家有任何问题和建议,希望可以在评论区留言,有什么我对数据库的误解和错误,希望大家能指出来,这是我第一次花很长的时间写的文章,希望能够得到大家的支持!如果你觉得这篇文章不错或者对你理解数据库、使用数据库有帮助的话,请帮忙点点赞!谢谢大家!(后续我将介绍保存数据库的方法与生成脚本的方法)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_56187614/article/details/127872574

智能推荐

十六进制与字节数组转换_bytearraytohexstring-程序员宅基地

文章浏览阅读7.2k次。前段时间开发手持机上的软件,因为A8手持机的射频卡可存储的内容太小,并且需要存储16进制数据,因此就写了一个工具类。上代码:package cn.com.szh;import java.io.UnsupportedEncodingException;public class Main { public static void main(String[] args) { Stri..._bytearraytohexstring

对每个边缘求最小外接矩形,通过最小矩形提取每个边缘_边缘的最小外接矩形-程序员宅基地

文章浏览阅读4.9k次。#include #include using namespace std;using namespace cv;int main(){Mat src; //源图像Mat tmp; //临时图像Mat dst_bw; //去掉背景后的目标二值图像Mat dst_contours;//轮廓图像src=imread("E:\\单板图片\\求孔洞数_边缘的最小外接矩形

【设计模式】中介者-程序员宅基地

文章浏览阅读865次。中介者,说白了跟市面上黑中介类似。当然这个中介,开发者是可以控制其行为的。也是在一定的信任关系上建立的。该模式要解决的问题是,一堆对象之间交叉耦合问题。网上看过群聊的例子。如果没有任何一个平台,多人之间的会话会是什么样的呢?不举多人,就三个吧A想把一句话说给BC,那么他首先要知道B和C在哪儿,然后分别告诉对方,自己想说的事情。如果再加一个人呢?问题很明显,此时各种群聊工具应运而生。我写

Mysql列自增是怎么实现的_mysql 自增序列生成原理-程序员宅基地

文章浏览阅读1.8k次。AUTO_INCREMENT两种情况1、在载入语句执行前,已经不确定要插入多少条记录。在执行插入语句时在表级别加一个auto-inc锁,然后为每条待插入记录的auto-increment修饰的列分配递增的值,语句执行结束后,再把auto-inc锁释放掉。一个事务再持有auto-inc锁的过程中,其他事务的插入语句都要被阻塞,可以保证一个语句中分配的递增值是连续的。AUTO-INC锁的..._mysql 自增序列生成原理

半导体器件基础_掺杂半导体的带隙-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏17次。半导体能带结构示意图:上方两条白色带为没有电子填充的带,下面三条灰色带为充满电子的带,其中最高一条灰色带为价带,它与最低一条白色带之间的空隙为能隙空穴又称电洞(Electron hole),在固体物理学中指共价键上流失一个电子,最后在共价键上留下空位的现象导带(英语:conduction band),又名传导带,是指半导体或是绝缘体材料中,一种电子所具有能量的范围。这个能量的范围高..._掺杂半导体的带隙

基于C++和OpenCV的中心线提取算法_图像中心线提取c++-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏26次。基于C++和OpenCV的中心线提取算法加权平方灰度重心法介绍算法演示加权平方灰度重心法介绍详情见 https://blog.csdn.net/u010518385/article/details/101015604算法演示下面展示 函数-输入图像和阈值,输出点。void get_median_line(Mat& src, int thresh, vector<Point2d>& points){ if (src.empty()) return; // 一、_图像中心线提取c++

随便推点

Unity设置物体的自转和公转_unity2d 公转-程序员宅基地

文章浏览阅读2.7w次,点赞4次,收藏18次。正好要做一个天空的场景,想添加上行星和恒星的自转和公转,代码如下1.自转。public float _RotationSpeed; //定义自转的速度transform.Rotate(Vector3.down*_RotationSpeed,Space.World); //物体自转2.公转 public GameObject Axis; //物体需要公转的参_unity2d 公转

C++ string的trim, split方法_c++ string trim-程序员宅基地

文章浏览阅读7.6k次。 很多其他语言的libary都会有去除string类的首尾空格的库函数,但是标准C++的库却不提供这个功能。但是C++string也提供很强大的功能,实现trim这种功能也不难。下面是几种方法: 1.使用string的find_first_not_of,和find_last_not_of方法 /* Filename : StringTrim1...._c++ string trim

JAVA开发(保姆级微服务搭建过程)_java 微服务-程序员宅基地

文章浏览阅读4.4k次,点赞4次,收藏26次。现在的java后端基本都是通过微服务的方式进行搭建。当我们对需求进行分割时,可以通过横向或者纵向对服务进行划分。或者当某一块的业务我们希望通过一个单独的服务进行开发时,就需要新增新的服务,本文通过springtool suite工具介绍,微服务搭建过程。_java 微服务

SQL 性能调优-程序员宅基地

文章浏览阅读94次。[code="sql"]1. 概要说明数据库系统的显著特点需要保存大量历史记录,系统内存在许多历史记录表,因此常常出现系统运行一段时间,表记录数达到一定数量后,系统响应明显变慢的现象。为避免这种情况的出现,在有完备的数据库对象设计下,还在考虑到系统稳定情况下数据的变化情况,针对这种变化,在编写SQL语句必须遵循一定的优化规则,并制定完备的数据管理机制。2. 调优目的利用Or..._sql性能调优,一般读多少次算大

Tomcat源码学习--WebAppClassLoader类加载机制-程序员宅基地

文章浏览阅读1.4w次,点赞6次,收藏21次。上一篇博客JVM-类加载机制中我们已经对JVM的类加载机制有所了解, 这篇博客我们了解一下Tomcat的类加载机制。Tomcat的类加载器可以分为两部分,第一个是Tomcat自身所使用的类加载器,会加载jre的lib包及tomcat的lib包的类,遵循类加载的双亲委派机制;第二个是每个Web应用程序用的,每个web应用程序都有自己专用的WebappClassLoader,优先加载/web-inf_webappclassloader

Idea打包失败|Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.4.RELEASE-程序员宅基地

文章浏览阅读4.4k次,点赞2次,收藏5次。解决idea打包失败问题。_failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3

推荐文章

热门文章

相关标签