数据库学习 MySQL
数据/信息:
数字(整数 浮点数)
字符(编码)
图像/视频(像素点)
声音(波形)
程序数据为中心
目前阶段学的数据都是主要存储在内存中
se 数据结构阶段学的的全部都是内存中数据的抽象
控制器 运算器 存储器 输入输出设别
内存存储的特点:易失性 访问速度相对较快 支持O(1)访问
外存存储的特点:持久性 访问速度相对较慢 顺序访问
我们需要持久化存储数据:硬盘上的数据,更多的被操作系统抽象成一个概念 :文件
我们以文件的形式管理数据的存储
数据库管理软件 专业的工具帮助我们去管理数据 mysql oracle
DBMS在管理数据的时候总是存在共性,关于数据的建模与抽的问题,关系型数据库
RDBMS
数据库:
狭义:一系列有关系的数据的综合,数据
广义:DBMS数据管理软件
表现实中具有地共同地一系列数据的综合,类似于java中类的概念
行 row
列 column
一行的数据:记录
具体一行中的具体某列的数据:cell单元格
DBMS软件的功能以对表中记录进行增 删 查 改 操作,对于数据本身都操作
DBMS软件还需要对表的结构进行调整的操作 结构的操作
struct query language SQL
SQL主要有三大类:
DDL:数据定义语言,结构的操作
DML:数据维护语言
DCL:数据控制语言
MySQL架构是一种典型的C/S架构
client 客户端
server 服务器 mysqld mysql服务器程序 提供服务的一种程序 管理来自于unix类
d:daemon精灵的意思 服务器类程序 接受+看懂sql并进行回复提供服务
client如何在网络中确定一个服务器程序呢?
ip+端口
域名+端口
domain最终通过ip地址来体现
网络中任意两台主机,其ip地址不能重复
某台主机上,任意时刻,任意两个程序,其端口不能重复
一个特殊的ip地址 127.0.0.1
一个特殊的域名:localhost 代表自己本主机
//查询已有的所有数据库
SHOW DATABASES
// 数据库
shemas
DBMS管理的数据的数据,以数据库为单位进行组织管理
图书馆管理系统 lib
课程管理系统 shedule
offer管理系统 offer
图形用户界面底层也是sql语句的执行
使用图形用户界面进行创建数据库
数据库名称 字符集编码 utf8mb4
设置默认数据库 set as default database
使用图形用户界面进行创建数据库表
students
图形用户界面看到的是用户视角库表
存储的时候以文件进行存储,最终变为持久化的数据 存储在硬盘上,以文件/文件夹的形式
C:\ProgramData\MySQL\MySQL Server 5.7\Data
SQL语言用分号进行结尾,当只有一条语句的时候,可以不加分号
⚡1:执行光标所在行
⚡:执行选中的所有位置
可以将sql语句进行存储起来,sql文件
-- 开头表示注释
//显示目前有哪些数据库存在
SHOW DATABASES
DDL:关于结构的操作,能看懂,创建的时候可以使用图形化界面创建即可
围绕库本身:创建库结构,扔掉库结构
围绕表本身:创建表结构,扔掉表结构,修改表结构
DML:关于数据记录的操作;学习要求,不经过提示就可以写出
insert delete select update
SQL语言关键字本身不区分大小写
create database 库名称 charset utf8mb4
sql中通过反引号进行,库名 表名 字段名 引起来 为了消除歧义
库名称 表名称 字段名称
1.不推荐使用关键字,一般有用不到反引号
2.最好只出现以下字符,全部统一小写a-z 0-9 _
3.不能以数字 下划线开头
删除库操作 图形用户界面
不要删除掉系统库
初学阶段不删库是最好的操作
//显示目前有哪些数据库存在
SHOW DATABASES;
//创建数据库
create database 库名称 charset utf8mb4
//删除数据库
drop database `database`
//使用数据库,就是设置默认数据库
uses db_11_21;
//查看默认数据库
select database();
//创建表
creat table 表名称{
列名称 列类型 其他约束,
列名称 列类型 其他约束,
列名称 列类型 其他约束
};
//删除库
drop table `db_11_19`.`student`
图形用户界面可以进行相应的操作
能看懂基本的命令就好
//修改表结构
alter 表名;
//显示表信息
desc 表名;
//显示创建表的信息
show create table 表名;
//创建好的表 只有在拥有主键的情况下才可以进行修改
//插入相应的数据
4.使用数据库的主要两个场景
OLTP online trasanction process 在线事务型场景
OLAP online analyisis process 在线分析型场景