数据:描述事物的一种符号数据就是数值,是指对客观事件(客观事物)进行观察的结果是对客观事物的性质、状态以及相互关系等进行记载的符号或这些符号的组合它是可以进行记录并可以鉴别的符号,是对客观事物的逻辑归纳表现形式多样:文本、图形、音视频(都是二进制)数据有很多种,最简单的就是数字数据也可以是文字、图像、声音等数据库(DataBase,简称DB):存放数据的仓库(文件夹)数据按照一定的格式存放在计算机中,可为用户共享方便存储、快速查找数据库管理系统(DataBase Management System 简称DBMS)科学的组织和存储数据是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。有oracle、MySQL、SQL Server等等mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。(官网下载,有些大公司会做二次封装用自己的)oracle主要用于银行、铁路、飞机场等。该数据库功能强大(规避很多风险),软件费用高。也是甲骨文公司的产品。sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等(使用较少)数据库应用程序(DBAS)在数据库管理系统的基础上,使用数据库管理系统的语法,直接面对最终用户的应用程序图书管理系统、人事管理系统等等数据库管理员(DBA)数据库管理系统的操作者最终用户数据库应用程序的使用者数据库系统(DBS)数据库 + 数据库管理系统 + 数据库应用程序 + 数据库管理员 + 最终用户数据库的好处:1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务(备份)2.数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致的现象3.并发 :数据库可以良好的支持并发,所有的程序操作数据库都是通过网络,而数据库本身支持并发的网络操作,不需要我们自己写socket4.效率 :使用数据库对数据进行增删改查的效率要高出我们自己处理文件很多数据库服务器:一台计算机(对内存要求比较高)运行数据库管理软件数据库管理软件:管理-数据库数据库:即文件夹,用来组织文件/表表:即文件,用来存放多行内容/多条记录MySQL:是一个应用广泛、免费、开源的关系型数据库管理系统关系型数据库需要有表结构关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织优点:1、易于维护:都是使用表结构,格式一致2、使用方便:SQL语言通用,可用于复杂查询3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询缺点:1、读写性能比较差,尤其是海量数据的高效率读写2、固定的表结构,灵活度稍欠3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈非关系型数据库是key-value存储的,没有表结构非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等优点:1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等2、速度快,成本低:nosql数据库部署简单,基本都是开源软件缺点:1、不提供sql支持,学习和使用成本较高2、无事务处理3、数据结构相对复杂,复杂查询方面稍欠下载MySQL:登录https://dev.mysql.com/downloads/installer/ (历史版本)选择Microsoft Windows点击Download典型安装:完整安装:自定义安装(选择)产品选择(默认)修改安装路径(中文)配置(选中)设置密码选中后其他电脑可以链接该数据库连接数据库命令操作方式:bin目录中打开终端,运行mysql –uroot –p (quit 或 exit退出)图形界面:navicat1,解压,找到 my-default.ini 文件2,将该文件粘贴到项目文件中,并更名为 my.ini3,修改文件内容(参考my.ini文件),注意一定保证格式(不能有多余空格之类)4,修改安装目录为当前解压后文件的目录(不能有\n等转义,不能有中文,不能有空格)5,保存修改6,将文件粘贴回解压的文件目录(不用管修改前的原文件)7,配置环境变量: 我的电脑-属性-高级系统设置-环境变量-系统变量-Path-新建-粘贴bin目录的地址以管理员身份运行命令提示符(找到cmd,右键管理员身份运行):输入mysqld install出现Service successfully installed.代表安装成功继续输入:net start mysql 启动MySQL服务登陆管理员用户:mysql -uroot -p 登陆MySQL服务器远程登陆MySQL服务器 mysql -uroot -p123 -h192.168.19.200察看当前用户:select user();退出:exit;给当前账户设置密码(必须以管理员登陆):set password = password('123')创建一个其他用户:mysql> create user 'shang'@'192.168.10.%' IDENTIFIED BY '123'; #指定网段密码mysql> create user 'shang'@'192.168.10.5' # 指示某机器可以连接mysql> create user 'shang'@'%' #指示所有机器都可以连接给一个用户授权:grant 权限类型 on 数据库名称 . * (或表名) to 'shang'@'%';all 所有权限select 查select,insert 查和写mysql> flush privileges; # 刷新使授权立即生效(万一没有立即生效)创建账号并授权grant all on 数据库名称 .* to 'alex'@'%' identified by '123'SQL:结构化查询语言,是一种特殊的编程语言(4代)是用于访问和处理数据库的标准的计算机语言用于存取数据以及查询、更新、管理关系数据库系统1986年10月,美国国家标准协会(AESC)对SQL进行规范后,以此作为关系式数据库管理系统的标准语言不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用针对不同的数据库,如hivesql、mysql、sqlserver、oracle等,sql语法会有所不同,但是总体上大同小异SQL的作用:使我们有能力访问数据库,需要在数据库上执行的大部分工作都由 SQL 语句完成SQL 面向数据库执行查询SQL 可从数据库取回数据SQL 可在数据库中插入新的记录SQL 可更新数据库中的数据SQL 可从数据库删除记录SQL 可创建新数据库SQL 可在数据库中创建新表SQL 可在数据库中创建存储过程SQL 可在数据库中创建视图SQL 可以设置表、存储过程和视图的权限SQL语言的5个部分(重要性从高到低):数据查询语言(DQL:Data Query Language):select其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出数据操作语言(DML:Data Manipulation Language):inster,updata,delete其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言数据定义语言(DDL):create,alter,drop在数据库中创建新表或删除表;为表加入索引等数据控制语言(DCL):grant,revoke它的语句确定单个用户和用户组对数据库对象的访问事务处理语言(TPL):它的语句能确保被DML语句影响的表的所有行及时得以更新前三个部分必须掌握,后两个部分可以现用现查同时注意:SQL 对大小写不敏感数据库操作(DDL):创建数据库:删除数据库:切换数据库:查看当前选择的数据库:数据库操作(DDL):创建数据库:CREATE DATABASE 数据库名称;CREATE DATABASE test101 CHARSET=utf8;删除数据库(慎用!):DROP DATABASE 数据库名称;显示所有数据库:SHOW DATABASES;切换数据库:USE 数据库名称 ;-- 代表注释create user "alex"@"%" identified by "234";select user();mysql -uroot -p