MySQL从入门到精通

概念

数据库由一批数据构成有序的集合,这些数据被存放在结构化的数据表里。数据表之间相互关联,反映了客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。

数据库的发展阶段----

数据库的发展大致划分为如下几个阶段:
人工管理阶段文件系统阶段数据库系统阶段高级数据库阶段

数据库的种类----

其种类大概有3种:层次式数据库、网络式数据库和关系式数据库

数据库的特点----

数据库的特点是:
实现数据共享,减少数据冗余
采用特定的数据类型;
具有较高的数据独立性

具有统一的数据控制功能。

数据库快速入门----

每个数据库都是一系列二维数组的集合-----表组成,就像我们经常用的办公软件 excel,

**行被称为记录,列被称为字段,**所以每个表就长这样子----
在这里插入图片描述
理解了这个就非常容易理解数据库了;

数据库的操作比excel要稍微复杂一下,(这里是指通过cmd来操作数据库而不借助相关软件),建议初学者通过cmd来操作数据库,熟练了之后再借助软件提高效率;

数据库基础

数据库系统的组成----

**数据库------用于存储数据的(物理设备)

数据库管理系统------数据库软件

数据库管理系统(DataBase Management
System,DBMS)是用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理

数据库应用程序—辅助数据库的软件**

数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除DB中的数据。

底层结构逻辑如下图

在这里插入图片描述

表的字段的数据类型—

数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有整数数据类型浮点数数据类型精确小数类型二进制数据类型日期/时间数据类型字符串数据类型
每一个字段是某种指定数据类型,比上图中的“编号”字段为整数数据,“性别”字段为字符型数据。

这一点跟excel表中的数据很像;

表的主键----

主键又称作关键key,用于表示表中的唯一标识的记录(即主键位置不能重复,而且不能为空,)

主键存在的意义,想象一下,加入在一个班级里面,碰巧有两个男生都叫张三的男生,而且今天又穿了一样的衣服,怎么区分他俩呢?------可以通过外貌,身份证号码等信息来确认,
所以为了区分不同的数据,主键应运而生,被声明为主键的字段内容不能为NULL(空)也不能重复;

SQL语言----操作数据库的语言

对数据库进行数据操作的语言(增删查改)的结构化语言-----像其他语言一样都有一定的格式标准,但是由于数据库种类和软件众多,sql语言并没有完全统一,但是基本的语言标准还是有的,各家数据库软件之间有些差别;

sql语言主要分为以下部分:

1)数据定义语言(DDL):DROP(删除表)、CREATE(创建表)、ALTER(选择表)等语句。

(2)数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。

(3)数据查询语言(DQL):SELECT(选择/查询数据)语句(where(查询/选择的条件))。

(4)数据控制语言(DCL):GRANT(授权)、REVOKE(回收权限)、COMMIT(确认操作)、ROLLBACK(回滚)等语句。

由于数据库的主要功能是存储数据,各大语言要处理海量数据就需要从数据库里找数据,于是就有了数据库与各大语言之间的访问问题,如何与各大语言兼容???

数据库访问接口

ODBC----开放数据库连接接口

可以协助访问Oracle数据库\mysql数据库以及微软的acess数据库

JDBC-----java数据库连接接口

由一组java语言编写的类和接口组成.可以在java中直接访问数据库(要有不同的数据库接口我在使用的有mysql,postgresql驱动)

当然还有其他的数据库访问接口----如ADO.NET(微软.NET框架开发),PDO(针对PHP访问数据库开发的)这里不一一介绍;

数据库系统概念深入------数据库部署

且看下图-----
在这里插入图片描述

在部署数据库的时候一般是有主从服务器,以防止主服务器哪天坏了从服务器能够转正成为主服务器(介于此,主从数据库数据要及时同步)

上面只是开胃菜,下面来到数据库----MySQL的世界

MySQL数据库

为什么那么多企业偏爱MySQL数据库???

尤其是中小型企业,MySQL有如下优势-----

1,速度快,支持多线程处理;

2,容易使用,跨平台的特性使它可以移植;

3,接口丰富----C,C++,JAVA,php,python等都有较好的支持;

4,mysql支持标准的sql语言, 支持存储过程;

5,mysql底层支持数据加密处理,能够一定程度上保证数据安全 5,最重要的是mysql是开源的,有免费的社区版供企业使用;

MySQL的安装与配置

MySQL的官网下载链接----
在这里插入图片描述根据自己的操作系统下在对应版本即可-----
详细教程网上有很多,这里给出一篇仅供参考

超级详细的mysql数据库安装指南

核心点-----端口号要记住,数据库密码要记住,其他的没啥太多要求;一路next即可

验证数据库是否安装成功-----

第一步----打开-----服务-----看MySQL80是否已经运行了,
在这里插入图片描述

第二部---- 配置MySQL为全局运行----
跟配置java运行环境的原理一样,只不过只需要配置一个—

在这里插入图片描述

MySQL的登录

登录的命令:mysql -hlocalhost -uroot –p
mysql代表bin目录下的文件mysql.exe。
-h代表host主机名。 后面跟要访问的数据库服务器的地址;如果是登录本机,可以省略,也可以写localhost

-u代表user 用户名。后面跟登录数据的用户名,第一次安装后以root用户来登录,是MySQL的管理员用户

-p代表 password 密码。一般不直接输入,而是回车后以保密方式输入。

在这里插入图片描述登录之后的数据库----
在这里插入图片描述win10登陆以后是由5个基本数据库组成,不同的系统可能不一样,

主要的三个数据库--------
information_schema
mysql
performance_schema

MySQL数据库的基本数据类型

跟学习java一样,也要学习数据类型-----类比学习就好

数值类型

整型数据
tinyint-----很小很小的 占1字节
1字节即 8bits即能表示的最大的无符号数为2^8-1=255
无符号数0-255,有符号数为-127到127

smallint----很小的 占2字节
2字节即 8bits即能表示的最大的无符号数为2^16-1=65535
无符号数0-65535,有符号数为-32767到32767

mediumint—中等的 占3字节 同理
int—正常的 占4字节 同理
bigint—较大的 占8字节 同理

现实生活中很多地方都会用到小数

浮点型数据
float(单精度) 占4字节
double(双精度) 占8字节
decimal(定点小数类型)—格式decimal(m,n),dec 占m+2字节
m表示-----精度(总共有多少位),n表示标度,表示小数的位数; decimal在内部是以文本形式存储的

日期和时间类型

datetime时间(年月日时分秒) 占8字节
date 时间(年月日) 占3字节
timestamp ----时间戳 占4字节
time-----记录时间信息 格式HH:MM:SS 占3字节
year----只记录年信息 格式 YYYY 占1字节

每种日期和时间类型表示的范围不一样,

着重说一下year的表示

1,以四位节字符串表示,范围位1901-2155

2,以4位数字表示

3,以两位字符串表示------范围位’00’到’69’表示2000-2069,'70’到’99’表示1970-1999

4,以2位数字表示-----1-69 表示2001-2069,70-99表示1970-1999,其中0被转换为0000而非2000

文本字符串类型

非二进制字符串
Char 定长字符串
varchar 可变字符串
tinytext极小的文本
text文本
mediumtext中等文本
longtext长文本
enum枚举
set一个设置类的文本
文本字符串也有长度限制,

二进制字符串
这种类型主要存储的是图片,视频等特别大的非文本类型数据
bit位字段类型
binary定长二进制文本
varbinary变长二进制文本
tinyblob非常小的
blob小的
mediumblob中等大小的
longblob非常大的

关于数据类型的一些细节,之后会以代码实操的形式给出详细解释;

未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeMartain

祝:生活蒸蒸日上!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值