admin管理员组文章数量:1794759
SQL注入学习日记基础篇之SQL数据库学习日记(二)
SQL数据库学习日记(二) 为什么需要数据库? 对于应用而言,应用需要保存数据,例如你LOL账号上所解锁的皮肤数据,便于远程查找,编辑或者转移到其他设备上。对于保存数据而言,最简单的方式是写入文件中,类似建立类似文件夹的架构。 但是随着数据数量的增多,类比电脑,文件夹数目增多以及文件个数增多会导致磁盘变卡,运行速度过慢,其根本原因如下: 读写文件并解析出数据需要大量重复代码; 从成千上万的数据中快速查询出指定数据需要复杂的逻辑。 而且拓展到每个应用而言,每个应用需要独立创建一个库,而且库与库之间的访问接口并不互通,数据无法共通,造成很大程度的浪费 而数据库软件的出现很大程度解决的这个问题。 数据库的主要功能是将数据分类,存储。对于数据库与应用的交互,应用只需要上传数据即可,数据分类存放的功能是由数据库软件实现的。 数据库的数据模型一共有三种结构: 一、层次结构(树状图) 二、网状结构(交通路网) 三、关系模型(二维表格) 经过时间推移,关系模型最终最为广泛运用,因为它足够简洁,易于理解 而关系模型的结构可以用映射(函数)解释,一个id对应一组数据,类似函数
数据类型: 对于一个关系表,除了名称还要定义类型,以下列举几个常用类型
名称 类型 说明 INT 整型 4字节整数类型,范围约+/-21亿 BIGINT 长整型 8字节整数类型,范围约+/-922亿亿 REAL 浮点型 4字节浮点数,范围约+/-1038 DOUBLE 浮点型 8字节浮点数,范围约+/-10308 DECIMAL(M,N) 高精度小数 由用户指定精度的小数,例如,DECIMAL(20,10)表示一共20位,其中小数10位,通常用于财务计算 CHAR(N) 定长字符串 存储指定长度的字符串,例如,CHAR(100)总是存储100个字符的字符串 VARCHAR(N) 变长字符串 存储可变长度的字符串,例如,VARCHAR(100)可以存储0~100个字符的字符串 BOOLEAN 布尔类型 存储True或者False DATE 日期类型 存储日期,例如,2018-06-22 TIME 时间类型 存储时间,例如,12:20:59 DATETIME 日期和时间类型 存储日期+时间,例如,2018-06-22 12:20:59
在选择数据类型时,要根据需求来选择,尽可能节约存储空间,高效利用,优化库结构
什么是SQL SQL是结构化查询语言,用于访问和操作数据库。 虽然sql是标准语句,但是不同厂商的数据库往往添加了不同的扩展,使得有些数据库不能互通,但是最核心的基本功能还是通用的 总而言之,SQL操作数据库的能力为以下几种: DDL 允许用户定义数据(创建表,删除表,修改表结构等)通常由数据库管理员执行 DML 为用户提供增删改的能力,是应用程序对于数据库的日常操作,数据库与应用程序交互的基本方式 DQL 允许用户查询数据,最频繁的日常操作
语法特点 SQL语言关键字不区分大小写!!!但是,针对不同的数据库,对于表名和列名,有的数据库区分大小写,有的数据库不区分大小写。同一个数据库,有的在Linux上区分大小写,有的在Windows上不区分大小写。
为养成良好习惯:SQL关键字总是大写,以示突出,表名和列名均使用小写。
在关系数据库中,每张表的一行称之为一条记录,每条记录由多个字段组成,同一个关系表有相同的若干字段,称为主键 字段定义了数据类型,以及是否为NULL。 NULL表示数据不存在,而不是值为‘0’或者为‘’空串,是不存在,类似集合空集 通常情况下尽量避免字段为NULL,可以简化查询 与excel表不同的是,关系数据库的表与表之间要建立类似函数的映射关系(一对多,多对一,一对一)才能遵循程序逻辑来组织和存储数据 例如成绩表中排列班级平均分中 一行对应一个班级,而一个班级对应多个学生,所以 班级表 与 学生表 的关系就是一对多 相反,若先确定学生,反过来可知 学生表 与 班级表 是 多对一 而对于 班主任表 和 班级表 则是 一对一
在关系数据库中,关系是通过主键和外键来维护的
资料来源于廖雪峰老师的网站,详细资料建议去廖老师网站学习
SQL教程 - 廖雪峰的官方网站 (liaoxuefeng)
版权声明:本文标题:SQL注入学习日记基础篇之SQL数据库学习日记(二) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1687070953a131143.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论