SQL快速入门

一、数据库和SQL的关系?

数据库是保存有组织数据的容器(通常是一个或者是一组文件),SQL(structured  query  language)是结构化查询语言,是用来与数据库通信的语言。数据的所有的存储、检索、管理都是由数据库管理软件(DBMS)完成的。MYSQL就是其中的一种数据库软件。

二、什么是主键和外键,

主键是可以唯一标识表中这个列(或者组列)称为主键。表的外键是另一表的主键, 外键可以有重复的, 可以是空值,主要起表之间的关联作用的。

例子:比如你的身份证号就是可以作为你的身份相关表的主键,而名字、收入可以作为外键。这样通过索引就可以在数据库中查到需要的和你相关的信息。

主键满足的条件:

a、任意两行都不具有相同的主键值

b、每个行都必须有一个主键值

主键的最好习惯

a、不更新主键的值

b、不重用主键的值

c、不在主键列使用可能会更改的值

四、主键、外键和索引的区别

 

名称主键外键索引
定义唯一识别行或组列一个表的外键是另一个表的主键,可以多个为空没有重复值,可以为空
作用保证数据的完整性用于与其它的表建立联系用来提高查询速率的
个数一个多个可以有多个唯一索引

 

五、SQL从功能上可以分为3部分:数据定义、数据操纵和数据控制,但是从结构上可以分为六种

1、数据查询语言(DQL:Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用。 [4] 

2、数据操作语言(DML:Data Manipulation Language):其语句包括动词INSERTUPDATEDELETE。它们分别用于添加、修改和删除。 [4] 

3、事务控制语言(TCL):它的语句能确保被DML语句影响的表的所有行及时得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROLLBACK(回滚)命令。

4、数据控制语言(DCL):它的语句通过GRANT或REVOKE实现权限控制,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。 [4] 

5、数据定义语言(DDL):其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。 [4] 

6、指针控制语言(CCL):它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。

六、数据库的模式

(1)模式:关于数据库和表的布局及特性的信息

         模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。

(2)外模式 :数据视图

        外模式也称用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 外模式通常是模式的子集。一个数据库可以有多个外模式。应用程序都是和外模式打交道的。外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据对他们是不可见的。

(3)内模式 :内部的存储结构

         内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序结构存储还是B树结构存储;索引按什么方式组织;数据是否压缩,是否加密;数据的存储记录结构有何规定等。

七、聚集索引和非聚集索引

聚集索引:它是唯一的,划分依据是物理内存

作用:可以帮助你把很大的范围迅速缩小到很小的范围,但记录数目未定。

非集索引:主要是从表种找再到数据库中取数据

作用:把一个很大的范围,转换成一个小的地图。你需要在这个小地图中找你要寻找的信息的位置。然后通过这个位置,再去找你所需要的记录。

八、主键和索引的区别

主键和索引没有关系。他们的用途相近。如果聚集索引加上唯一性约束之后,他们的作用就一样了。

         以上主要是对于数据库基础概念的梳理,接下来就可以进行数据库的操作了。在这里推荐一本适合入门的书籍《MYSQL必知必会》,书比平时的书面积小,适合放在手边,随时查阅。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值