在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨。
阅读目录
基本知识
- 数据库发展史
- 数据库名词
- SQL组成
基本操作
- 登录数据库操作
- 数据库远程连接操作
- 数据库分离操作
- 数据库脱机、联机操作
- 数据库收缩操作
- 数据库备份、还原操作
- 数据库权限设置
基本语法
- 创建数据库
- 创建表
- 增
- 删
- 改
- 查
- 添加约束
- 数据类型
基本知识
数据库到底是有什么作用下图应该就明白了。
数据文件为.mdf或.ndf
日志文件为.ldf
数据的默认路径为:C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData
SQL组成
DML(数据操作语言)
——查询、插入、删除和修改数据库中的数据;
——SELECT、INSERT、 UPDATE 、DELETE等;
DCL(数据控制语言)
——用来控制存取许可、存取权限等;
——GRANT、REVOKE 等;
DDL(数据定义语言)
——用来建立数据库、数据库对象和定义其列
——CREATE TABLE 、DROP TABLE 等
TCL (事务控制语句)
变量说明、流程控制、功能函数
——定义变量、判断、分支、循环结构等
——日期函数、数学函数、字符函数、系统函数等
数据库基本操作
登录数据库
在安装成功后,在开始菜单中会看到如下所示文件夹:
数据库远程连接设置
第一步,打开外围配置器设置
第三步,进行连接操作
完成上述操作,数据库便分离成功,然后就可以做相应的复制等操作了。
分离也可以使用代码实现,如下
再将分离的数据库附加到工作面板:
附加也可以使用代码实现,如下:
数据库的脱机、联机操作
脱机与联机是相对操作,先要有脱机才能执行联机操作,与分离不同的是,脱机后的数据库只是不能被访问了,但还在工作面板中,但分离后的数据库,是不存在工作面板中的。当要再想使用该数据库,脱机状态的数据库只需要联机即可,分离的数据库需要附加才可以。
脱机操作如下:
联机也可使用代码实现,代码如下:
数据库收缩操作
收缩是把数据库以及日志的内存收缩
操作如下
收缩日志文件操作:
还原数据库操作
使用刚创建的登录名登录,去使用由sa用户创建的数据库,发现不可用:
添加好后就可以对sa创建的数据库进行操作了
基本语法
说了这么多,再来看数据库语法怎么操作,数据库四大操作,就是增删改查。在做这些操作的时候,首先得要有个数据库,有张表,这样才可以操作。把问题简单化,想成平时的档案室。数据库就是档案室,可以存放很多档案,表就是档案袋中的文件。
创建数据库
建数据库和建表操作可手动创建,也可以使用代码创建,先看手动创建:
手动创建数据库操作如下:
完成上述两步就已经创建好一个数据库了。
在使用代码操作的时候,需要先做如下所示操作,并连接:
还有一种创建数据库语法,就是指定数据库文件参数和日志文件参数,语法如下:
举例如下:
若一次性要创建多个数据库或多个日志文件,在小括 外加个, 即可
创建表
手动创建表,操作如下:
代码为:
数据库和表已经创建好了
首先来看增
1、插入一条数据:
方法一:安照列名依次给出数据值,不能交换顺序,数据类型不能出错
方法二:
方法三:交换顺序,数值按照列名给就行
方法四:没给数值的列显示null
2、插入多条数据:
使用select,union是指连接的意思
3、插入一列
4、复制demo表中数据到demo1表中:
注意事项
1:每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据是否有效将按照整行的完整性的要求来检验;
2:每个数据值的数据类型、精度和小数位数必须与相应的列匹配;
3:不能为标识列指定值,因为它的数字是自动增长的;
4:如果在设计表的时候就指定了某列不允许为空,则必须插入数据;
5:插入的数据项,要求符合检查约束的要求
6:具有缺省值的列,可以使用default(缺省)关键字来代替插入的数值
其次来看删
删除某一行:
删除某一列:
删除整张表:
清空整张表:
注意:删除整张表操作和清空整张表操作对比
删除是删除了所有,包括表结构
清空只是清空了表中数据,但表结构还在,清空速度快些
删除数据库
还可以先查询是否有该数据库,再做删除操作,代码如下:
做了一个if判断,sys.databases是指整个系统数据库,删除数据库的前提条件是,要删除的这个数据库没有被使用
然后来看改
改某一列数据
set是设置要改的数据
改多列数据:
最后就是查询
查询表中所有数据,*代表所有列:
查询表中某一行所有数据:
查询表中某一行某一列的数据:
查询出来的结果列用as取别名:
查询出来的结果列用=取别名:
注意:wname是新列名,nname是表中已存在的列名
添加约束
约束目的:保证数据的完整性和有效性
约束分为如下几种:
1.主键约束:唯一非空(特点) primary key PK_
一个表里面只能存在一个主键
允许存在把两列作为一个主键
2.默认约束:默认值 default key DK_
当不填数据时默认采用设定好的值
3.唯一约束:数据不重复,允许一行数据为空 Unique Key 唯一允许一个为空
4.检查约束:用来检查填入的数据是否满足要求 Check Key
5.非空约束:不能为空 not null
6.外键约束:外键指的是,表A中的id为主键,但在表B中id不是主键,表A的id就是表B的id外键。
外键语法:
添加约束有三种方式,分别是建表中(在列名中添加和不在列名中添加),建表后
方法一:建表中在列名中添约束,语法为:列名 数据类型 约束条件,代码如下:
方法二:建表中不在列名中添加约束,语法为:constraint 约束名 约束语法,代码如下:
需要注意的是:默认约束只能在 列名 数据类型 后面添加,意思就是默认约束要使用在方法一添加
方法三:建完表后再添加约束,代码如下:
alter是修改表结构
数据类型
数据类型如下表所示:
分类 |
备注和说明 |
数据类型 |
说明 |
二进制数据类型 |
存储非字符和文本的数据 |
Image |
可用来存储图像 |
文本数据类型 |
字符数据包括任意字母、符 或数字字符的组合 |
Char |
固定长度的非 Unicode 字符数据,效率高 |
Varchar |
可变长度非 Unicode 数据,节省空间 |
||
Nchar |
固定长度的 Unicode 数据 |
||
Nvarchar |
可变长度 Unicode 数据 |
||
Text |
存储长文本信息 |
||
Ntext |
存储可变长度的长文本 |
||
日期和时间 |
日期和时间在单引 内输入 |
Datetime |
日期和时间 |
数字数据 |
该数据仅包含数字,包括正数、负数以及分数 |
Bigint、int、smallint、tinyint |
整数 |
float、real |
数字 |
||
货币数据类型 |
用于十进制货币值 |
Money |
|
数值类型 |
例:stuid numeric(18,0),代表18位数字,小数位数为0,属于浮点类型 |
numeric (18,0) |
|
标识列 |
identity(起始值,递增量) |
identity(1,1) |
自动递增 |
Bit数据类型 |
表示是/否的数据 |
Bit |
存储布尔数据类型 |
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览211363 人正在系统学习中 相关资源:不慌不忙小软件-系统安全文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!