企业数据存储面临的问题
- 数据量较大,如何保证检索和访问效率
- 如何保证数据的一致性和完整性
- 如何解决数据的共享和安全问题
什么是数据库
是长期存储在计算机内的,有特定组织结构的,数据冗余小,可共享的数据集合
数据库管理系统(database managerment system 简称DBMS)
数据库管理系统是管理数据库的软件,数据库管理系统不仅能够实现对数据的快速检索和维护,还为数据的安全性、完整性、并发控制和数据恢复提供了保证。数据库是通过DBMS创建和操作的容器,DBMS拥有一个数据字典(也称为系统表),用来存储它所管理的所有对象的信息,例如对象名称、结构、位置和类型,这种关于类型的数据也被称为元数据。
几种常见的数据库管理系统
ORACLE:安装要钱,维护也要钱
DB2:IBM推出的,稳定性不错,但是比较适合海量数据,小型企业用不到
sqlsever:是微软推出的,只能安装在windows操作系统中
mysql:最流行的关系型数据库之一,并且mysql是开源的
SQL
结构化查询语言(struct query language):专门用来与数据库通信的语言
SQL的优点
1) 不是某个特定数据库供应商专用的语言,几乎所有的DBMS都支持SQL
2) 简单易学、强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作
数据库和数据库管理软件之间的关系
数据库的特点
- 将数据放在表中,表在放到库中
- 一个数据库中可以有多个表,每个表都有一个名字用来标识自己。表名具有唯一性。
- 表具有一些特性,这些特性定义了数据在表中是如何存储的,类似C++中类的设计
- 表由列组成,我们也称为字段,每一列类似C++中的一个属性。
- 表中的数据是按行存储的,每一行类似C++中的一个对象。
MySQL的背景
monty和两个好友一起写出来的Mysql,前身属于瑞典的MySQL AB公司,08年被sun公司收购,09年sun被oracle收购
MYSQL的优点
1) 成本低,开放源代码,可以免费使用
2) 性能高,执行很快,移植性好
3) 简单:很容易安装和使用,体积小
DBMS分类
基于共享文件系统的DBMS(Access)
基于客户端-服务器的DBMS(mysql ORACLE SqlServer)
安装过程
路径非中文。
接受->自定义->路径不要更改(只更改盘符)->安装->完成
配置实例(安装目录下有)->精确配置->开发机往下,占用的内存越来越多->多功能事务引擎->next->同一时刻允许的并发(20,500,手动设置),选择20的->设置端口号,实际开发中需要改,避免别人的更改,不选防火墙,开启严格的语法模式->设置字符集,选择第三个,utf8字符集->设置服务名,默认就好了,允许开机自启,下面的对勾一定勾上,添加环境变量->设置root用户命令,允许远程访问,不创建新用户->不用打对勾,然后执行。
存储引擎是分为事务型和非事务型
配置文件修改
打开my.ini->
数据库其实也就是管理文件,只不过是高手写的代码来管理文件
语法模式,最大连接数,更改完成之后记得重启。
MYSQL卸载
先正常卸载,然后删除安装目录,然后删除programDate(隐藏文件)中的相关数据
win+r ->regedit
MYSQL的启动和停止
1) 计算机右击管理,服务,找到MYSQL,然后就更改了。就可以停止或者更改启动方式。
2) win+r(管理员身份),
a) 停止 net stop mysql(服务名)
b) 开启 net start mysql(服务名)
MYSQL程序结构
配置环境变量
1) 打开安装目录,复制路径
2) 计算机,属性,高级,环境变量,PATH,编辑,将目录添加到最前面的一条。英文分号分开(因为环境变量默认是从前往后找,手动配置)
3) 关闭dos重新打开
MYSQL的登录和退出
登录之前先保证服务是启动状态,否则哪怕有权限和身份,都无法访问。
1) 找到mysql自带的客户端,直接输入root密码,退出:exit或者ctrl+c(只适合root用户)
2) win+r管理员:mysql(命令) -h(主机) localhost -P(端口) 3306 -u(用户) root -p(密码)(如果跟上密码,一定不能有空格,之前其他选项有没有都行),退出 exit或者ctrl+c
a) 连接本机 mysql -u root -pxxx
查看服务器版本
1)登录到mysql服务端select version();
2)在DOS命令行,mysql --version或mysql -V
MYSQL的语法规范
- 不区分大小写,但建议关键字大写,表名、列名小写
- 每条命令最好用分号结尾,虽然 \g也能结尾以及图形化界面没有结尾也行
- 每条命令根据需要,可以进行缩进或换行
- 建议每个关键字单独占一行。
- 使用F12进行格式化
注释
- 单行注释:#注释文字
- 单行注释:–注释文字
- 多行注释:/* 注释文字* /
SQL分类
1、DML(Data Manipulation Language):数据操纵语句,用于添加、删除、修改、查询数据库记录,并检查数据完整性
2、DDL(Data Definition Language):数据定义语句,用于库和表的创建、修改、删除。
3、DCL(Data Control Language):数据控制语句,用于定义用户的访问权限和安全级别。