作者简介:大家好,我是未央;

博客首页:未央.303

系列专栏:Mysql系列

每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!文章目录

文章目录

前言

一、数据库的介绍

1.1什么是数据库

1.2数据库的分类

二、数据库的结构

2.1数据库的客户端和服务器

2.2数据库的服务器是如何组织数据的?

2.3MySQL服务器把数据存储在硬盘上

三、数据库的操作

3.1创建当前数据库

3.2显示当前数据库

3.3使用数据库

3.4删除数据库

四、数据库的常用数据类型

4.1数值类型

4.2字符串类型

4.3日期类型

五、表的操作

5.1创建表

5.2查看有哪些表

5.3查看表的结构

5.4删除表

总结:


前言

今天我们进入到MySQL的学习当中,MySQL是我们Java学习以及成为一名优秀的程序员所必须具备的技能,所以必须要学好这一门课程。

主要学习内容:

1.数据库基础操作.(以SQL语句为核心)SQL是一门编程语言,但是用起来还比较简单

2.数据库的底层原理.(不做过多介绍,主要是围绕常见面试题)

3.3.数据库编程.(使用Java代码来操作数据库)

接下来就让我们一起走进MySQL的基础吧!!!!!

​​​​​​​

一、数据库的介绍

1.1什么是数据库

定义:数据库,就是一类软件专门负责管理数据(增删改查,后面内容会讲到

数据结构和数据库他俩有啥关系?

 数据结构,是一个"抽象的学科"

 数据库,是一类"具体的软件"

实现数据库的时候,背后也要应用到很多的数据结构

1.2数据库的分类

分类:

1.MySQL(课堂上使用的)

MySQL数据库就是本专栏介绍的内容

开源、免费

现在已经被Oracle收购了


2.Oracle数据库

Oracle数据库 是世界上最强的数据库

但是,它是收费的,而且收费还是挺贵的

厂商也叫做Oracle

现在也是由Oracle来负责维护Java


3.SQL Server数​​​​​​​据库

SQL Server数据库,由 微软(搞Windows,office的公司) 研发的数据库


4.SQLite数据库

SQLite数据库,是世界上"装机量"最大的数据库

即使有很多人没有听说过

其实,各种安卓上机器自带的内置数据库就是SQLite数据库

主要的特点就是 小巧轻量

其他数据库 一不小心 就达到 以G为单位,而它仅仅不到几百K

ps:

虽然 有这么多的数据库

但是 不管哪一个数据库

其实最核心的东西

都是 SQL(编程语言)

掌握了SQL,未来无论去使用哪个数据库,都可以快速的上手

虽然 不同的数据库,支持的SQL语法都略有差异

但是,90%以上的都是相同的

二、数据库的结构

2.1数据库的客户端和服务器

MySQL是一个"客户端-服务器"结构的程序

定义;

客户端:主动的一方就是客户端

服务器:被动的一方就是服务器

两者间的关系:

一个服务器同─时刻可能要给多个客户端提供服务

因为服务器不确定客户端啥时候来,服务器往往要长时间运行,甚至7*24小时运行

客户端给服务器发送的数据,称为"请求"(来一份蛋炒饭)

服务器给客户端返回的数据,称为"响应"(端上来一碗蛋炒饭)

客户端:

 服务器:

换句话说,安装了MySQL,就是 既安装了客户端(黑框框),也安装了服务器

关系图示;

MySQL客户端和MySQL服务器,可以在同一个主机上,也可以在不同的主机上

实际工作中,更常见的是 客户端和服务器 在不同主机上

在当前的学习阶段,就直接安装在一个主机上了

虽然是同一个主机,但是仍然是通过网络进行通信的

对于MySQL来说,存储和管理数据,都是由 MySQL服务器 来负责的

 ps:

当然,如果把客户端和服务器都部署在一个主机上了,但是电脑没有联网。这个时候客户端依然能访问服务器

如果插上网线,连接wifi,网络是通畅的,此时电脑可以通过网络访问其他的主机

如果电脑没有插网线,连不上网,那么此时电脑只是访问不了别的主机,但是自己还是能访问自己的;


2.2数据库的服务器是如何组织数据的?

一个MySQL服务器上面可以包含多个"数据库",

此处的"数据库"其实是"数据集合",这里面就放了 一些有关联关系的数据

举例说明:

可以理解成,一栋楼 里面有好几家餐厅,餐厅之间并不影响;

餐厅里面的菜品 就类似于 数据库里面存的数据表;

 数据表:

​​

每一个表里有很多行,每一行称为"一条记录"; 

每一行里有很多列,每一列表示不同的含义,每一列称为一个"字段"(field)

ps:

数据库 整体的一个结构:

数据库—>数据表—>行—>列

MySQL也好,Oracle也罢,只要是关系型数据库,都是按照上述的结构来组织数据的


2.3MySQL服务器把数据存储在硬盘上

重点:内存和外存(硬盘)区别!!

1.内存存储空间相对较小,硬盘存储空间较大

2.CPU读取内存速度快,读取硬盘速度慢.(一般会差3-4个数量级)

(硬盘也有机械硬盘和SSD,SSD 会比机械硬盘读写速度快很多,但是仍然比内存要慢上很多)

3.内存比硬盘贵!!!(如果你想要一个大内存,也可以,只要充钱!!)

4.内存上的数据,断电后丢失.硬盘的数据,断电后不丢失!持久化

三、数据库的操作

3.1创建当前数据库

语法格式;

create database 数据库名;

例如:创建一个名为mysql1的数据库;

注意:

1.create,database都是MySQL中的关键字,单词间有空格

2.关键字不区分大小写

3.分号不要遗忘,是英文分号!编程里面基本没有中文符号

ps:

当然,有的时候也会有创建错误,或者啥啥错误的情况,不要慌,下面也会有错误的提示

大部分的错误提示 都是非常清楚的,已经告诉过哪里有问题了


3.2显示当前数据库

语法格式;

show  databases;

例如:显示MySQL中创建了的数据库;

注意:

databases是复数形式,不要搞错了;(此处显示数据库有多个,所以是复数)


3.3使用数据库

想要 针对某一个数据库进行具体的操作,如 各种增删改查 数据库,就需要先选中数据库:

语法格式;

use  数据库名;

例如:选中刚刚创建的数据库mysql1;

ps:

在对某一个数据库 进行操作时,必须得要选中这个数据库

类似于 RTS游戏

需要先选中某个单位,再释放技能


3.4删除数据库

数据库删除非常危险!!!

数据库删除非常危险!!!

数据库删除非常危险!!!

数据库删除非常危险!!!

重要事情说几遍!!!!!

语法格式;

drop database 数据库名;

例如:

删除刚创建的数据库mysql1;

此时再查看剩余的数据库:

现在就只有系统自带的数据库了

注意:

删除数据库操作十分危险

删库其实是把库里的数据都删除了

千万不要在公司的服务器上删除数据库,尤其是不要在生产环境上进行删除

四、数据库的常用数据类型

介绍:

MySQL是一据个"关系型数据库",典型特点就是 通过表的形式来组织数据

即 每一行,其列数都是一样的;每一列,其数据类型都是相同的

数据类型一方面 一方面能够使我们对数据进行处理,一方面也能够对数据进行校验和检查

4.1数值类型

数值类型 包含了 整型和浮点型:

 ps:

decimal就出现了相比于float和double,decimal相当于通过字符串的方式来表示浮点数,

其优势是可以更加精确的表示浮点数、精确计算

但是劣势就是 计算时消耗的时间更多,存储空间也更多

除非是特别需要,才考虑使用decimal;


4.2字符串类型

ps:

varchar(50),这个字段最多存50个字符,也可能是更短的

这个是动态的,根据存入的数据长度来自适应空间;

注意:

字符,不是字节!!!

一个字节,就固定是8bit

一个字符,就不一定了(取决于具体的字符编码)

前三个数据类型存的文本数据;最后一个blob储存的是二进制数据;

4.3日期类型

ps:

timestamp翻译过来就是 时间戳

时间戳以 1970 年 1 月 1 日 0 时 0 分 0 秒 作为基准时刻,计算当前时刻和基准时刻的秒数之差

计算机中表示时间 都是用时间戳来表示的

timestamp的范围是从1970年到2038年,那么到了2038年以后,很多程序估计要失效了

所以为了防患于未然,一般都用datetime

注意:

虽然 有这么多的数据类型,但是并不是每一个都是需要记住的:

所需要记住的类型有:

int      bigint      double      decimal      varchar      datetime

五、表的操作

5.1创建表

语法格式:

create table 表名(列名 类型,列名 类型......)

例子:在student数据库中创建一个学生表classmates有id和name;

注意:

1.要想创建表,就需要先有一个数据库,并且选中数据库!!!!!! 

2.创建表的时候,必须要明确表结构,

即 有哪些列,每个列是啥类型,叫啥名字

3.同一个数据库中,不能有两个表 名字相同,否则会出错

4.创建表的时候,表名或列名,不能和SQL的关键字冲突

但是,如果非要拿关键字作为表名,也不是不可以

可以使用 反引号` 来引起来


5.2查看有哪些表

语法格式:

在选中数据库的前提下,可以使用:

show  tables;

例如;查看在student数据库的表。

5.3查看表的结构

语法格式:

desc 表名;

例如:查看表classmates的结构;通过这个命令行,可以查看这个表里面的列和类型

 ps:​​​​​​​

1.fleld 列数,表示这张表有 id 和 name 两列

2.int(11)的意思不是说占11个比特位,int就是固定4个字节,32个比特位;11表示的是打印数字的时候,显示数据的宽度最大是11位数;11只影响在客户端中的显示,不影响数据的存储和计算

3.varchar(20)表示 约束存储的时候最多存20个字符

4.NULL表示 这一列是否可以为空(YES,允许为空;NO,不允许为空)

5.Default指的是 默认值

6.desc是descible的缩写;


5.4删除表

语法格式:

drop   table  表名;

例子;删除创建了的classmates表;

注意:

删表的操作十分危险,后果还要严重!!! 

删表的操作十分危险,后果还要严重!!! 

删表的操作十分危险,后果还要严重!!! 

表面上来看,一个库里包含很多表;删库,就会把所有的表都带走

但是,如果真的删库了,程序在运行的时候 只要涉及到数据库操作,100%报错

就会第一时间发现问题

但是,如果是删表(如100个表,删除1个表),程序也不一定是第一时间报错

虽然程序可能跑起来,但是最终跑的结果肯定是错的

总结:

今天我们学习有关MySQL的基础内容,对MySQL有了初步的认识,能够进行一些简单的MySQL的操作,这是一门很重要的技能,希望在接下来的学习中大家能够好好学习。也希望能得到各位兄弟的关注与支持,让我们一起加油!!!!!

【MySQL系列】第一节.MySQL数据库基础相关推荐

  1. 焱老师带你学习MYSQL系列 第二篇 (MYSQL 数据结构)

    相关系列链接 焱老师带你学习MYSQL系列 第六篇 (MYSQL是如何实现锁的) 焱老师带你学习MYSQL系列 第五篇 (MYSQL事务隔离级别是如何实现的) 焱老师带你学习MYSQL系列 第四篇 ( ...

  2. centos mysql 实战 第一节课 安全加固 mysql安装

    centos mysql  实战  第一节课   安全加固  mysql安装 percona名字的由来=consultation 顾问+performance 性能=per  con  a mysql ...

  3. 经济法基础——第一章第一节、法律基础

    第一节.法律基础 1.法和法律 法的本质:1.法是统治阶级的意志 [注意]法体现统治阶级的意志,并不等于"完全不顾及"被统治阶级的意愿2.法是国家意志(1)法由统治阶级" ...

  4. 第一章 第一节:Python基础_认识Python

    Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...

  5. 第一节 MySQL 数据库(一)

    数据库 1. 前言 1.1 什么是数据库? 怎么理解数据库呢? 可以把数据库比作 "账本"+"仓库" 的结合体. 它的作用就是: "管理和存储&quo ...

  6. MySQL入门教程系列-1.1 数据库基础

    数据库基础 共同编辑,修正错误,这里点击进去 数据库(Database,DB)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 简单来说是本身可视为电子化的文件柜--存储电子文件的 ...

  7. mysql 导出dmp文件_MySQL数据库基础讲解

    # 简介 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言(SQL)进行数据库管理. MySQL是开放源代码的,因此任何人都可以在General Publi ...

  8. Cisco系列第一节-----前提基础知识

    Cisco系列文章目录 第一章:前提基础知识链接 文章目录 Cisco系列文章目录 一.DTE与DCE 1.DTE 2.DCE 二.连接线缆的种类 三.思科模拟器的使用 四 基础实验过程体验 1.添加 ...

  9. 分布式数据库实战第一节 分布式数据库的前世今生

    开篇词 吃透分布式数据库,提升职场竞争力 你好,我是高洪涛,前华为云技术专家.前当当网系统架构师和 Oracle DBA,也是 Apache ShardingSphere PMC 成员.作为创始团队核 ...

最新文章

  1. Oracle恢复删除的数据
  2. PHP中trait的特性
  3. 电脑速度太慢 重装系统不如换个帐户
  4. Docker安装并配置阿里云镜像加速
  5. .NET利用委托实现动态查询
  6. 基于jQuery或Zepto实现实时监控用户浏览信息
  7. iOS中的Runloop
  8. 摩西十诫 摩西简介 世界宗教图谱
  9. 冬瓜哥送你元宵大礼盒啦!!
  10. Alook浏览器获取Cookie教程
  11. Mac本地账号开机密码破解
  12. F22.YOLO深入理解(V1-V3)个人感觉非常详细
  13. http响应码code含义
  14. Java工程师简历范文大学生,最全Java知识总结
  15. java 字节替换_java 替换四个字节的字符 apos;\xF0\x9F\x98\x84\xF0\x9F)的解决方案 - 好库文摘...
  16. facsum (线性筛 积性函数)
  17. 洛谷P1875 佳佳的魔法药水
  18. augment()图像增强库
  19. Saltstack安装LAMP
  20. 计算机网络的super super easy 教程 | IP协议 及 arp协议

热门文章

  1. Selenium2——profile设置、启动Firefox浏览器
  2. Python学习记录-判断字符串为空
  3. JavaScript 函数 arguments
  4. 过来人(江苏)专转本考试后的感悟和经验,真的很受用
  5. 江南爱软装十大品牌 窗帘和户型挑选对会更加舒适
  6. 华为交换机链路聚合与静态路由 ,三层交换机代替单臂路由实验
  7. 18款iPad绘画软件推荐!iPad必备生产力工具
  8. ​​​​​​​Oracle学习详解02版
  9. warmp启动图标黄色
  10. 【HMS Core】定位地图服务常见问题,穿戴设备支持、比例尺支持、在非华为手机上逆地理编码的支持?