关于SqlServer那些事1(回归基础)
即将实习,回归基础总结,希望可以再好好打磨一下基础的一些东西
关于如何在重新修改表结构时该变其权限设置
步骤:
- 点击工具
- 进入选项
- 设计器
- 取消勾选阻止保存要求重新创建表的更改

关于创建创建数据库以及数据库文件(.mdf)和日志文件(.ldf)
创建数据库有“有很笨的”方法就是不写脚本自动创建,右键创建数据库,点击新建数据库,就会出现如下示例图:
讲讲mdf和ldf的理解吧!
mdf也就是数据库主文件,主要是对处理一些业务数据,它是存放在硬盘里的,如你所见你可以去设置它的一个初始化的值(5MB),也可以查看它创建后存储的路径
ldf也就是日志文件,通俗地讲就是会记录用户什么时间,做了什么操作,谁在操作等进行一系列的记录和保存,比如说数据库文件的创建时间或者是用户登录数据库的时间等等
对了,需要注意的一点是,对于mdf和ldf两个文件最好都存储在同一个文件夹路径,本质上来说就算存放在不同文件夹在做数据库附加时也不会受到影响,但是这样想想存储在不同文件夹是极不容易后期维护和查看的!

关于数据库分离
如果你想将数据库文件和日志文件进行打包或者复制到其他盘符,你也可以对它进行数据库的分离操作
步骤:
- 右键准备分离的数据库
- 任务
- 分离
- 确定
为什么要勾选删除连接,可能准备分离的数据库此时处于运行状态也就是和数据库保持连接的状态,需要删除连接操作然后进行分离,不然可能会出现操作失误等报错

分离完成后,可以去存放数据库主文件的文件夹查看已被分离出来的文件,此时已完成数据库分离操作!
关于数据库附加
所谓附加就是将分离出来的数据库文件重新再连接,进而保证数据库业务逻辑和成绩的表结构数据在分离后不会丢失。
步骤:
- 右键数据库
- 附加
- 添加

选择你刚刚分离出来的数据库文件(这里主要是附加mdf文件)

但是在附加的过程中,你可能会出现类似这样的报错信息:“操作系统错误,拒绝访问...”,不要心急这种问题可能是服务器对于附加的数据库文件没有权限
解决方案:
找到对应的准备附加的数据库文件夹,右键属性—》安全—》编辑—》添加(添加你自己命名的即可)—》勾选完全控制即可

其实还有一种办法就是在不分离数据库的情况下进行mdf的拷贝操作,那就是进行脱机处理。其实脱机原理也就是脱离数据库的连接,等完成之后进行联机即可


关于创建新的数据库用户
- 安全性
- 登录名
- 右键新建登录名
- 选择SqlServer身份验证
- 取消勾选强制密码实施策略



注意:切勿对系统数据库进行修改或者是其他违规操作,不然很可能会导致数据库系统奔溃的

关于采用自写脚本创建数据库
以上第一创建数据库的方式,作为小白初次可以这样去创建,但是个人觉得最好一次都不要尝试,个人觉得也比较low,知道有这种创建方式就好了!
go:你可以理解成分批次执行SQL
--首先判断数据库是否已经存在
if exists(select * from Sysdatabases where name ='mydb')
--存在就删除
drop database mydb
--执行完毕
go
--创建数据库
create database mydb
go
--使用数据库
use mydb
go
对了,使用以上脚本创建数据库仅仅限于开发环境下使用!!!不然可能会导致不明所以的数据库丢失,等同于删库!!!
关于数据的三种完整性约束
域完整性:某个字段的数据合法性约束(check约束、限制数据类型)
实体完整性:某一数据列的数据合法性约束
引用完整性:表与表之间引用是否合法的合法性约束(主键约束、唯一约束、主外键,一对一、一对多、多对多、分清楚谁是主表谁是从表!)
唯一约束(可null,null也是数据)、主键约束(唯一,不为null)、标识列(这一列的数据可自增、可设置起始的数值)
标识列:现有10条数据,删除后7条,存在1,2,3工3条数据,这样再去重新自增,这个时候标识列的起始值就从10开始一直加,假设自增值为1,这样就不会出现重复!
以上就是对SqlServer基础的一些总结,希望今年的实习阶段能够顺利,加油!!!
关于SqlServer那些事1(回归基础)的更多相关文章
- 回归基础: JavaScript 变量提升
from me: javascript的变量声明具有hoisting机制,它是JavaScript一个基础的知识点,也是一个比较容易犯错的点,平时在开发中,大大小小的项目都会遇到. 它是JavaScr ...
- 关于SqlServer表结构 2(回归基础)
关于SqlServer表结构的问题.先来了解一下SqlServer中的数据类型以及它们的用法 整型: 短整型 smallint 整型 int 长整型 bitint 标识列:identity(它是只读的 ...
- SqlServer 查询的几种方式以及数字函数、时间函数的应用总结(回归基础)
--语法:select * from 表名 *表示查询所有字段数据 select * from Class select * from Student select * from RankingLis ...
- SqlServer 多表连接、聚合函数、模糊查询、分组查询应用总结(回归基础)
--exists 结合 if else 以及 where 条件来使用判断是否有数据满足条件 select * from Class where Name like '%[1-3]班' if (not ...
- 准备.Net转前端开发-WPF界面框架那些事,搭建基础框架
题外话 最近都没怎么写博客,主要是最近在看WPF方面的书<wpf-4-unleashed.pdf>,挑了比较重要的几个章节学习了下WPF基础技术.另外,也把这本书推荐给目前正在从事WPF开 ...
- 回归基础从新认识——HTML+CSS
前言 这段时间工作没那么繁杂,索性就想说来套系统的学习,之前去面试的时候,有被问及些基础的知识,居然回答不上来,也不能说是回答不上吧,回答的不全面.前端群上问了那个机构比较好,选择了慕课网.看了一段时 ...
- Logistic回归基础篇之梯度上升算法
代码示例: import numpy as np import matplotlib.pyplot as plt def loadDataSet(): dataMat = [];labelMat = ...
- 在Sqlserver下巧用行列转换日期的数据统计
在Sqlserver下巧用行列转换日期的数据统计 前言 在SQLSERVER 中有很多统计函数的基础语法,有使用Group By 或 partition by 后配合Sum,Count(*) 等用法. ...
- DeepLearning之路(一)逻辑回归
逻辑回归 1. 总述 逻辑回归来源于回归分析,用来解决分类问题,即预测值变为较少数量的离散值. 2. 基本概念 回归分析(Regression Analysis):存在一堆观测资料,希望获得数据内 ...
随机推荐
- MRCTF 2020-“TiKi小组”
题目状态: OPEN - 正在试图解这道题CLOSED - 这道题还没有打开SOLVED - 解决了!鼓掌撒花! 赛事信息 Flag格式:MRCTF{}起止时间:2020-03-27 18:00:00 ...
- MySQL分库分表的原则
一.分表 当一个表的数据达到几千万条的时候,每一次查询都会花费更长的时间,如果这时候在使用链表查询,那么我想应该会实在那里,那么我们应该如何解决这个问题呢? 1.为什么要分表: 分表的目的就是为了解决 ...
- [系列] Go - json.Unmarshal 遇到的小坑
1.问题现象描述 使用 json.Unmarshal(),反序列化时,出现了科学计数法,参考代码如下: jsonStr := `{"number":1234567}` result ...
- CTF_show平台 web题解 part3
web13 题目显示文件上传,各类型上传均提示错误,在使用ctf-scan扫描的时候,发现upload.php.bak. 查看源码: <?php header("content-typ ...
- linux专题(七):账号管理
http://dwz.date/UDf 简介 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账 ...
- Python面向对象01 /面向对象初识、面向对象结构、类、self、实例化对象
Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 目录 Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 1. 面向对象初识 2. 面向 ...
- 02-Python运算符
一.简介 以10 - 5为例,‘10 - 5’叫做表达式,表达式可以分解成运算符和操作数.整数10和5被称为操作数.‘-’称为运算符. 二.算术运算符 运算符 描述 示例 结果 + 加 - 两个对象相 ...
- PHP 反序列化漏洞入门学习笔记
参考文章: PHP反序列化漏洞入门 easy_serialize_php wp 实战经验丨PHP反序列化漏洞总结 PHP Session 序列化及反序列化处理器设置使用不当带来的安全隐患 利用 pha ...
- 数据结构C语言实现----清空、销毁一个栈
代码如下: #include<stdio.h> #include<stdlib.h> typedef struct { char *base; char *top; int s ...
- C++语法小记---少见的语法之一
很少用,列出来,便于理解和熟悉!!! // 1.单独使用位域限定符 ::xxx() //调用全局函数xxx // 2.全局重载new和delete T* tmp = (T*)(::operator n ...