一 数据库基础
1 什么是数据库。
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有多个不同的API用于创建、访问、管理、搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对比较慢。
数据库分关系型数据库管理系统(RDBMS)和非关系型数据管理系统。
关系型数据库:采用关系模型来组织数据的数据库。简单来说,关系模型指的就是二位表格模型,而一个关系型数据库就是由二维表以及之间的联系所组成的一个数据组织。
特点:a 数据以表格的形式出现、b 每行为记录名称所对应的数据域、c 每行为各种记录名称、d 许多的行和列组成一张表单、e 若干的表单组成database
非关系型数据库:指代那些非关系型的,分布式的,且一般不保证遵守ACID原则的数据存储系统。
2 RDBMS 术语
数据库:数据库是一些关联表的集合。
数据表:表就是数据的矩阵。在一个数据库中的表看起来就像一个简单的电子表格。
列:一列(数据元素)包含了相同的数据,例如邮政编号的数据。
行:一行 是一组相关的数据,例如一条用户订阅的数据。
冗余:存储两倍数据、冗余可以使系统速度更快。表的规范化程序越高,表与表之间的关系就越多;查询时可能经常需要在多个表之间进行连接查询,而进行连接操作会降低查询速度。
主键:主键是唯一的。一个数据表中只能包含一个主键。可以使用主键来查询数据。
外键:外键用于关联连个表。
复合建:又名组合键,将多个列作为一个索引建,一般用于复合索引。
索引:使用索引可以快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性:参照的完整性要求关系中不能引用不存在的实体。与实体完整性是关系型模型必须满足的完整性约束条件。目的是保证数据的一致性。
3 mysql 数据库
msyql是最流行的关系型数据库管理系统,在web应用方面MySQL算比较好的RDBMS应用软件之一。
mysql是开源的。它支持大型的数据库,可以处理拥有上千万条记录的大型数据库。
mysql使用标准的SQL数据语言形式。
mysql可以支持多个系统上,并支持多种语言。它对php有很好的支持。
mysql可以定制,采用GPL协议。
4 数据库字段的类型
支持三类:数值、日期/时间、字符串。
数值所包含的数据类型有:INTEGER、SMALLINT、DECIMAL、NUMERIC、以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
5 数据库的基本操作(大小写都能识别)
A 创建数据库 CREATE DATABASE 数据库名;
命名规范:由字母、数字、下划线、@、#、$组成,首写字母不能是数字和$,标识符不能是mysql的保留字,不允许有空格和特殊字符,长度小于128位
B 查询数据库 SHOW 数据库名;
C 选择数据库 USE 数据库名;
D 删除数据库 DROP DATABASE 数据库名
E 往表中插入数据 insert into 表名 (a,b,c)values (e,f,g) 如果表中所有数据都插入可以 insert into 表名 values(所有值)
数字不用加单引号,字符必须加单引号
F 更新update
update 表名 set 列1=新值1,列2=新值2 where expr(哪一行生效)
G 删除delete
delete from 表名 where exper;
H 查select
select * from 表名; 查找表中所有字段
select * from 表名 where 过滤条件(例如age = 20)查询该表下,所有age = 20 的数据
select 列1、列2 from 表名 where 过滤条件(例如 age=1)查询该表下,所有age=1 行中列1、列2的值
select 查询模型: 列是变量、变量可以计算、where是表达式,值为真假
select 常用运算符:
6 执行sql文件
进入到指定数据库下,执行 source sql绝对路径(不用打引号)