课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了后端开发程序员学习数据库技术入门的时候需要了解的一些基础知识,而今天我们就再来说说数据库的数据存储以及基础语法等内容。
1,数据的存储方式
开门见山的说:数据库是通过“表”来存储数据,根据不同的数据库管理系统,以不同的文件格式终被保存到物理磁盘上(多是硬盘)。
这里的表类似 Excel 表格,表中的数据由不同的行和列组成,每一列在数据库中我们称为一个字段,每一行数据称为一条记录或元组,它算是数据在数据库中的基本单元。
如果用一张表来记录一类事物,那么每一条记录可以看成这类事物单独的个体,而不同的列则是用来记录事物的每个具体的特性。例如一个Person 表,用来记录人员信息,每个人员都可以拥有自己的姓名,年龄,性别,身高等信息,那么这个表应该具有姓名,年龄,性别等这些列。
2,确保数据的有效性
上面的表格有一个问题:不能确保数据的有效性、合法性。为什么这么说呢?
试想一下,这个世界上人那么多,总会有其他人也叫张三,并且年龄正好也是20,正好也是个身高180的大汉,那么在表中岂不是有两条一模一样的记录?那我们怎么来区分到底谁是谁呢?还有,在不加任何限制的情况下,我可以随意录入人员的年龄,比如我错把王五的年龄记录成了250,这世上还没有能活250岁的人吧,显然这样的数据是不合常理的。
那么数据库是怎么解决这个问题的呢?答案是:约束。
约束作用于表的列,约束用于规定表中的数据存储规则。如果我们在录入数据时,不符合约束的规定,那么你将不能把该数据录入数据库中。
3,约束
数据库中主要的约束有以下几种:
NOT NULL - 指示某列不能存储 NULL 值,即空,什么都没有。
UNIQUE - 保证每行的某一列必须具有的值,不能重复。
PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或多个列的结合,即联合主键)有标识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY - 保证表中某一列的数据来自另一个表中的某一列。能使用外键约束的列,其数据在另一个表中必须是主键。数据库正是通过外键来建立表与表之间的联系。
CHECK - 保证列中的值符合指定的条件,确保数据的合理性。
DEFAULT - 规定没有给列赋值时的默认值。
4、基础语法
前面提到,SQL 是命令式语言,所以它的语法其实非常简单,每一条命令就是一条语句,每条语句以“;”结束(非必须)。并且 SQL 语句对大小写不敏感,不过为了方便阅读和维护代码,请尽量统一命令的大小写。
SQL 中的命令总共分为四大类:
A:DDL(Data Definition Language)数据定义语言
主要命令包括:create(创建)、alter(修改)、drop(删除)
B:DQL(Data Query Language)数据查询语言
主要命令包括:select
C:DML(Data Manipulation Language)数据操纵语言
主要命令包括:insert(插入)、update(修改),delete(删除)
很多时候,select 命令也被认为是 DML 语言的一种,所以,如果你在其他地方听到这种说法时,不必感到诧异。
D:DCL(data Control Language)数据控制语言
主要命令包括:grant(授权)、revoke(回收)、commit(提交)、rollback(回滚)等
数据控制语言主要是针对数据库安全性方面的操作,可以简单理解为权限管理,这部分命令 DBA 经常使用,一般数据开发人员用的较少。
5、事务
事务是由一组 SQL 语句组成的执行单元,该执行单元被视为一个不可分割的整体,单元内的语句要么全部执行成功,要么全部失败,不允许某些成功,而另外一些执行失败。如果单元中某一条语句执行失败,则前面所有被成功执行语句将回滚(使其失效),即数据回到那些语句还没执行时的状态。如果所有语句被全部成功执行,那么我们就说该事务被顺利执行了。事务也是一种保证数据完整性的方式。
总结起来,事务具备以下 ACID 特性:
A(Atomicity 原子性):原子性是指事务是一个不可分割的执行单元。里面的操作要么都成功,要么都失败。
C(Consistency 一致性):一致性是指事务必须是数据从一个一致性状态过度到另一个一致性状态。关于一致性,还是那个的转账例子:两个人各有1000元钱,数据库中存储的钱总和是2000元,如果一个事务的操作是:他们两之见转一次账,那么执行完事务之后,数据库中存储的钱总和还应该是2000元。
I(Isolation 隔离性):隔离性是指在被一个事务操作的数据,不应该再被另一个事务所干扰。迸发执行的各个事务之间不能相互干扰。
D(Durability 持久性):持续性是指一个事务被提交以后不可恢复,它对数据的影响是永久性的,如果需要在该事务提交后再恢复到原始状态,只能通过另一个事务。
不同的数据库管理系统对事务的支持存在较大差异。但通常情况下,对于数据的 DML 操作,每一条语句的执行都算一次事务,而且这种事务是隐式的,系统在后台直接开启,并在执行完后关闭,用户是不可见的
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。