一.通过流操作文件的方式保存数据的弊端:
1.效率低
2.实现过程比较复杂,开发效率低
3.一般只能保存小量数据
4.只能保存文本
二.什么是DB:
DataBase:数据库,数据库是一个文件集合
三.什么是DBMS:
DataBaseManagementSystem:数据库管理系统(软件),用于管理数据库文件,常见的DBMS有:Oracle ,MySQL, DB2, SQLserver,Sqlite
四.数据库的分类
1.关系型数据库:以表为数据库存储数据的单位,关系型数据库是经过数学理论验证可以保存现实生活中任何关系型的数据
2.非关系型数据库:主要应用一些特定场景,解决某些具体问题比如解决高并发访问时的数据缓存,(redis数据库属于非关系型数据库,redis内部以键值对的形式保存数据)name=xxx ,age=xxx
五.主流关系型数据库的介绍
1.MyS0L: Oracle公司产品,08年被Sun公司收购,09年Sun公司被0racle收购,开源产品,MySQL被收购后性能大幅提高,面临闭源风险,原MySQL程序员离开Oracle创建了MariaDB,MariaDB和MyS0L区别不大,市场排名第一
2.0racle:闭源产品价格最贵性能最高市场排名第二,拉里埃里森在32开发。
3.DB2:IBM公司产品,闭源主要应用在IBM公司整套解决方案中
4 SqlServer:微软公司产品,闭源,主要应用在微软公司整套解决方案中
5.Sqlite:轻量级数据库,安装包只有几十k,主要应用在嵌入式设备中或移动设备中
六.数据库相关SOL
1.查询所有 show databases;
2.创建数据库 create database db1 character set utf8/gbk;
3.查看详情 show create database db1;
4删除 drop database db1;
5.使用use db1;
七.表相关SQL
1.创建表create table t1(name varchar(10),age int) engine=myisam/ innodb charset=gbk/utf8;
2.查询所有表show tables;
3.查询表详情 show create table t1;
4.查看表字段 desc t1;
5.修改表名rename tablet1tot2;
6.修改表引擎字符集alter table t1 engine=myisam/innodb charset=gbk/utf8;
7添加表字段alter table t1 add age int first/after xxx;
8.删除表字段alter table t1 drop age;
9.修改表字段名称和类型alter table t1 change age xxx类型;
10.修改表字段的类型和位置alter table t1 modify age 新类型first/ after xxx;
11.删除表 drop table t1;
八.数据相关SQL
1插入数据insert into表名(字段名1,2,3)values(值1,2,3),(值1,2,3);
2.查询数据 select*from表名where条件;
3.修改数据 update表名set xxx=xxx whereid=10;
4. 删除数据 delete from 表名 where 条件;
九.数据库表的引擎
1.innodb:支持数据库的复杂操作,包括外键、事务等
2.myisam:只支持数据基础的增删改查操作
十.字符编码问题
如果使用Windows电脑SQL语句中写中文报错的话通过以下指今解决
set names gbk;