学编程,来源栈;先学习,再交钱
当前系列: SQL 修改讲义

为配合我们ASPhttp://.NET全栈课程的学习,我们使用

Visual Studio和LocalDB

进行教学演示。LocalDB是Visual Studio自带的SQL Server的“精简开发版”,默认在安装Visual Studio-ASP.NET时自动安装,它的特点是:

  • 轻量级:不需要复杂的安装/配置/启动等
  • 专为开发者(developer)设计,让开发者专注于开发

延伸:SQL Server全部版本: Enterprise / Standard / Web / Developer / Express,其中,Developer和Express是免费的。

有兴趣的同学还可以下载安装更强大的MSSM


建库

在Visual Studio的View中打开SQL Server Object Explorer:

根据VS安装时的选择,VS中至少会有一个SQL Server实例。如果默认没有的话,还可以:Add SQL Server(演示:输入用户名/密码等,略

在SQL Server的Databases文件夹上右键:Add New Database

演示:

  1. 输入数据库名(实际上,我们在图形界面上的操作,都会被转换成SQL语句)
  2. 设置数据库文件存放的位置

.mdf和.ldf文件

数据库创建之后,我们能在建库时指定的文件夹下找到两个文件:

按后缀名不同:

  • .mdf(Master Database File): 存储用户录入数据库的数据。
  • .ldf(Log Database File): 存储每一次用户对数据库进行操作的记录,这些记录被称之为“日志(log)”,其内容就好像:
    1. 2019年10月4日 17点37分,用户“大飞哥”新建数据库17bang
    2. 2019年10月4日 17点39分,用户“大飞哥”在数据库17bang中新建表Student,表结构为:列UserName和Password两列……
    3. 2019年10月4日 17点41分,用户“大飞哥”在表Student中添加一行数据
    4. ……

注意,ldf会记录用户在数据库上的所有操作,以及所有操作的所有细节!所以,当mdf文件损坏时,我们可以利用ldf文件进行恢复。请同学们由此体会:数据库的安全性要求


建表

假设我们需要这么一张(学生Student)表:

Id
Name
Age
Enroll
IsMale
SelfDescription
1
阿泰
16
2020年5月25日
1

2
陈元
23
2020年8月11日
1

那么上述,

  • 粗体部分(表头)就是“表结构”,你也可以理解为“列”
  • 非粗体部分就是“表数据”,也被称之为“行”

数据库中“建表(结构)”和“往表里插入数据”这两个步骤是分开的。

设定表结构

在数据库的Tables文件夹上右键:Add New Table即可:

演示建表过程,讲解:
  1. 区分数据库实例((localdb)\MSSQLLocalDB)、数据库(17bang)和表(Student)
  2. 在Add New Table后进行的工作是设置表结构,而不是填充表的内容
  3. 在建表的过程中,我们需要设置数据类型(后文详述)
  4. 点击Update按钮,生成空表Student


插入数据

除了数据类型,建表的时候,还可以指定:

  • Allow NULL:是否允许为空值?在SQL中,NULL表示空,什么都没有。(注意区分空字符串""/空格字符串"    ")
  • Default:如果插入数据的时候,该列没有填写,给一个默认值 

演示:建表成功。

完成表结构之后,在表名Student上右键:View Data,可以在直接往表中填充数据:

  1. 正常插入一行数据(包括NCHAR补足),数据换行时自动保存
  2. 插入一行带Default数据的数据
  3. 因数据类型/长度不符,不允许为NULL等而被拒绝插入的数据


删库删表

数据库连接

不能删除正在使用中的数据库。

可以使用UI界面,右键:Delete,勾选:Close exsiting connections,强制删除数据库。


Query窗口

接下来我们的SQL语句,就需要写在Query窗口中:

演示:

  • 新建一个query,断开/建立和数据库的连接
  • 运行SQL语句

注意

  1. 不同的地方new query,默认连接的数据库不同
  2. 可选择不同的数据库(介绍系统数据库)
  3. 如果在SQL Server Object Explorer中没有发现新建的数据库,可以进行手动刷新

学习笔记
源栈学历
键盘敲烂,月薪过万作业不做,等于没学

作业

觉得很 ,不要忘记分享哟!

任何问题,都可以直接加 QQ群:273534701

在当前系列 SQL 中继续学习:

多快好省!前端后端,线上线下,名师精讲

  • 先学习,后付费;
  • 不满意,不要钱。
  • 编程培训班,我就选源栈

更多了解 加:

QQ群:273534701

答疑解惑,远程debug……

B站 源栈-小九 的直播间

写代码要保持微笑 (๑•̀ㅂ•́)و✧

公众号:源栈一起帮

二维码