一.数据库的基本知识
1.为什么需要数据库?
数据库的出现,很好的解决了数据的存储效率和读取效率。
存储成一个文件,不方便操作,也不方便共享,这样,数据库
就应运而生了。
2.数据库的概念
数据库是按照数据结构来组织、存储和管理数据的仓库。
是一个长期存储在计算机内的、有组织的、有共享的、统一
管理的数据的集合。
3.数据库管理系统DBMS
Mysql / Oracle / SQL Server -----其实就是一款软件
DB:数据库
DBS:数据库系统,其实就是安装了Mysql的操作系统
一个数据库管理系统 DBS 可以管理很多的数据库 DB
4.数据库的分类
网状结构数据库:IDS 以节点的形式存储和访问
层次结构数据库:IMS 定向有序的树状结构实现存储和访问
关系型数据库: Oracle / DB2 / Mysql / SQL Server
非关系型数据库:ElastecSearch / MongoDB / Redis
5.注意事项
1.表名在同一个数据库中唯一,列名在同一个表中唯一
2.表(table) 是数据库存储数据的基本单位
3.列:列(colunm)--表中的一个字段。所有的表都是由一个或多个列组成
4.数据类型:每个列都有相应的数据类型,用来限制该列存储的数据
5.行(row)-- 表中的一个(行)记录,表中的数据是按行存储的,所保存的每个记录存储在自己的行内,如果将表格想象网格,网格中垂直的列为表列,水平行为表行
6.主键:主键值能够唯一区分表中的每一行
7.主键的规则:表中的任何一个列都可以作为主键,
主键需满足的条件:
1.任何两行都不具有相同的主键值(每一行的主键值唯一)
2.每个行都必须具有主键值(主键值不允许为null)
3.不更新主键列中的值
4.不重用主键列的值
5.不在主键中使用可能更改的值
6.数据库的数据类型
常用的三类数据:
数值:常用的是 int 和 decimal
时间/日期:datetime
字符串:常用的是 char / varchar /text
decimal:浮点型,不会出现精度的缺失
char:固定长度的字符串类型,最大长度:char(255)
varchar:可变长度的字符串类型,存储超大文本
text(clob):字符串类型,存储超大文本
blob:字节类型,最大4G
date:日期类型: 格式:yyyy-MM-dd
time:时间类型: 格式:hh:mm:ss
timestamp:时间戳
7.数据库三范式
第一范式:1NF 原子性,列或者字段不能再分,要求属性具有原子性,不可再分解
第二范式:2NF 唯一性,一张表只说一件事,是对记录的唯一约束,要求记录有唯一的标识
第三范式:3NF 直接性,数据不能存在传递关系,即每个属性都与主键有直接的关系,而不是间接的关系
8.数据库的六大约束
约束:用于限制数据表中某列的数据的存储内容
主键约束:primary key
非空约束:not null
唯一约束:unique
外键约束:foreign key
子表中设置外键的列,是父表中的主键,那么子表中外键的列的数值就会收到父表中主键的数值的约束
默认约束:default
检查约束:check
二.SQL
1.SQL语法
1.SQL语句可以再单行或者多行书写,以分号结尾
2.可以使用空格或者缩进来增强语句的可读性
3.SQL不区分大小写,但是一般建议大写
2.SQL99标准的四大分类
DDL:数据库定义语言(用于定义数据的表结构)
创建数据表:create table 表名
修改数据表:alter table 表名
删除数据表:drop table 表名
DML:数据库操纵语言(用于操作数据表中的数据)
添加数据:insert
修改数据:update
删除数据:delete
DQL:数据库查询语言(专门用于数据的查询)
查询数据:select
DCL:数据库控制语言
权限控制等