一、存取数据的演变史——自身角度
文本文件
文件路径不一致:C:\a.txt D:\aaa\b.txt
数据格式不一致 :jason|123 tony$123 kevin@123
软件开发目录规范
规定了数据文件的大致存储位置:db文件
针对数据格式还是没有完全统一:比如统一json 文件但是内部键值对不同
数据服务
统一了存取位置 也统一了数据格式(完全统一)
二、现在的数据保存形式
数据库服务集群:
为了防止单一个服务器烧毁、故障造成数据丢失,让多台服务器运行相同的数据库服务
三、数据库的本质
**数据库三字在不同角度下描述的意思不一样 **
-
站在底层原理角度
数据库指的是专用用于操作数据的进程
代码 -
站在现实应用的角度
数据库指的是拥有操作界面的应用程序
软件
本质也是CS架构的程序,也就是开店与消费的关系·
四、数据库的分类
1、关系型数据库
数据的组织方式有明确的表结构
id name password
关系型数据库存取数据的方式可以看成是表格
表与表之间可以建立数据库层面的关系
eg:用户表 房屋表
只要获取到用户表的一条数据 就可以获取到与之相关的其他表数据
# MySQL、PostgreSQL、MariaDB、Oracle、sqlite、db2、sql、server
MySQL: 开源 使用最为广泛 数据库学习必学
PostgreSQL: 开源 支持二次开发
MariaDB: 开锁 与MySQL 是同一个作者 用法也极其相似
Oracle: 收费 安全性极高 主要用于银行及各大重要机关
sqlite: 小型数据库 主要用于本地测试(django框架自带该数据库)
2、非关系型数据库
数据的组织方式没有明确的表结构
是以k:v键值对的形式组织的
{'name':'jason'}
{'username':'kevin','pwd':'123'}
数据之间无法直接建立数据库层面关系
# redis、mongoDB、memcache
redis: 目前最火 使用频率最高的缓存型数据库
mongoDB: 稳定型数据库 最像关系型的非关系型 主要用于爬虫、大数据
memcache:已经被redis淘汰
五、MySQL
1.mysql安装版本选择
直接去官网下,一般安装最新的版本或者5.7(5.7为大多公司在用),如果是为了更好的搞懂如何使用,建议开发者选较老一点的版本,比如5.6
2.初次使用环境搭建
- PS:我们目前下的是将服务端和客户端都一起放在了本地,后期公司服务端我们物理层面上肯定是碰不到的,是基于网络去连接的
下载后只要解压到想要的盘的根目录,然后进入管理员模式的cmd命令行,切换到mysql的bin文件路径,启动客户端 mysql
管理员模式是 mysql -uroot -p 进入,管理员密码默认空,可以手动修改,记得去把bin的路径添加到环境变量中去哦~还有去把mysql添加到系统服务中去
3.修改密码
1.mysqladmin -uroot -p 原密码 password 新密码
2.偏门方式(有些版本无法使用):#需要先登录
set password=password('新密码')
SQL语句结束是英文分号 ;
取消SQL 语句的执行 \C
六、SQL与NoSQL
SQL:操作关系型数据库的语言
指的是将数据之间建立结构化的关系模型,并将其存储的数据库。
在关系型数据库当中一个表就是一个关系,一个关系数据库可以包含多个表
代表:Oracle,MySQL
NoSQL:操作非关系型数据库的语言
不只仅是SQL,泛指非关系型的数据库,为了解决大数据应用难题而产生的,存储方式可以省是JSON文档、哈希表或者其他方式
代表:MongoDB,Redis
七、基本SQL语句——基于库
1.创建库
create database 库名; 一定注意分号!
2.查看库
show databases; ——查看所有库
show create database 库名; ——查看指定库信息
3.改某库的编码
alter database 库名 charset='编码名';
4.删除库
drop database 库名;
八、基本SQL语句——基于表
1.选择库(指定操作库)
use 库名
2.创建表
create table mybiao(id int, name varchar(16));
创的时候得在括号内添加字段名字,字段类型
3.查看表
show tables;——查看所有表
show create table 表名;——查看指定表信息
desc 表名;——查看表的内容(结构)
补充:如果想跨库去看其他表,在表名前加上库名即可
4.编辑表
alter table 旧表名 rename 新表名; ——改表名
alter table 表名 change 旧字段 新字段 新字段数据类型; ——改字段
alter table 表名 add 新字段 新字段数据类型 after 某个字段 ——指定位置添加字段
alter table 表名 modify 某字段 某字段数据类型 after 另一个字段 ———调整某字段位置到某字段后面
alter table 表名 drop 字段 ——删除指定字段
5.删除表
drop table 表名;
九、基本SQL语句——基于记录
1.增数据
insert into 表名 values(数据,数据);
insert into 表名 values(数据,数据),(数据,数据),(数据,数据);
- 注意,插入数据得位置匹配,不能多不能少,不然会报错
2.查数据
select * from 表名; # * 表示查看所有字段
select 字段1,字段2 from 表名; #查看表中数据
如果 表中字段 出现错乱 可以结尾写 \G
3.改数据
update 表名 set 字段=新数据 where 筛选条件;
or 可以选多个
- 你可以同时更新一个或多个字段。
- 你可以在 WHERE 子句中指定任何条件。
- 你可以在一个单独表中同时更新数据。
4.删数据
delete from 表名; #删除 表中所有数据
delete from 表名 where 筛选条件; 按照筛选条件 删除数据