数据:data,凡是能携带信息的媒介都是数据
硬盘数据:保存在磁盘中,以二进制形式保存
内存数据:运行在内存中
数据库:Database,高效存储和处理数据的媒介(凡是存放数据的地方都可以称之为数据库),数据库分为两大阵营:关系型数据库,非关系型数据库。
数据库系统:Database System = DBMS +DB,DBMS(Database Management System)管理数据库
DBA:Database Administrator,DBA待遇非常好。
定义:建立在关系模型上的数据库。
关系模型:通过各种关系来体现数据与数据之间的联系的模型。
关系型数据库:大型(ORACLE,DB2),中型(mysql,SqlServer),小型(access)
mysql:最高并发量千万级,免费
ORACLE:收费
通俗:关系型数据库就是一张二维表(具有行和列,还有表头),用来管理表内的数据关系和表与表之间的关系。
定义:所有不是关系型数据库的数据库都是非关系型数据库
NOSQL:Not Only SQL。
非关系型数据库保存数据的方式:键值对
特点:
1. 运行在内存
2. 使用键值对来保存和表示数据
3. 运行之后,会进行数据同步(将内存的数据写入到磁盘)
关系型数据库和非关系型数据对比
1. 保存数据的介质不同(关系型在磁盘,非关系型在内存)
2. 非关系型数据库效率比关系型数据库高得多
3. 关系型数据库比非关系型数据库安全
SQL:Structured Query Language,结构化查询语言。
SQL包含三个部分:
DDL:Data Definition Language,数据定义语言,库和表的维护create,drop,alter
DML:Data manipulation Language,数据操作语言(DQL:Data Query Language),数据的查询,select
DCL:Data Control Language,数据控制语言,用于数据库的权限管理,grant,revoke
SQL的基本操作
CRUD:create(创建:增),read/retrieve(读取:查),update(更新:改),delete(删除:删)
mysql是一种c/s软件结构。在运行之前,必须保证服务端和客户端同时运行才能正常工作。
工作流程
1. 客户端发送连接请求,建立连接:mysql –h –P –u –p
a) h:host,ip地址或者域名,默认可以没有代表localhost
b) P:大写,端口默认为3306
c) u:username,用户名
d) p:password,用户密码
登录成功
2. 准备SQL语句:逐行执行,以分号为结束符
3.发送SQL语句:发送给服务器
4.服务器接收SQL并执行
5.服务器发送执行结果给客户端
6.客户端解析结果
7. 关闭连接
a) exit
b) quit
c) q
数据库基本操作包含三个部分:库操作,表操作(字段操作),数据操作
库操作
SQL语句是以行为执行单位,每行结束都应该有结束符号分号(有特例:建议每行语句都有分号)
新增数据库:create database 数据库名字 [库选项];
库选项:
字符集设置(charset):表示以后在当前数据库存储的数据,默认采用utf-8的字符集存储
校对集设置(collate):如何比较大小
执行以上语句,数据库管理系统做了哪些事情?
1. 创建了一个叫做mydatabase的数据库(默认使用utf8来存储数据)
2. 会在磁盘里开辟一块空间来存储数据(对应外部体现就是创建一个文件夹,文件夹的名字叫做mydatabase)
文件夹的路径可以通过my.ini查看
新建的数据库
库选项在数据库文件夹下有一个对应的文件db.opt
数据库命名规范
1. 使用字母,下划线和数字构成
2. 不能是关键字,如果是关键字,需要使用反引号将名字包裹
a) 反引号:esc下面的波浪线按键对应的英文状态下的输出
可以使用中文作为数据库名字,但是也需要使用反引号(强烈建议:不用使用中文)
查看数据库:
查看数据库基本信息:show databases;||模糊查询:show databases like ‘pattern’
查看所有
模糊匹配:%匹配任何内容,_表示匹配一个字符
修改数据库:
数据库名称不可修改,只能修改数据库的库选项
语法:alter database 数据库名字 [库选项]
删除数据库:drop Database 数据库名字;
为了避免篇幅过长,这里先介绍了库的操作,后续文章介绍表和数据的CRUD操作,还是那句,都看到这里了就点下关注吧!
领取专属 10元无门槛券
私享最新 技术干货