【MySQL系列】第一节.MySQL数据库基础
作者简介:大家好,我是未央;
博客首页:未央.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数据库基础相关推荐
- 焱老师带你学习MYSQL系列 第二篇 (MYSQL 数据结构)
相关系列链接 焱老师带你学习MYSQL系列 第六篇 (MYSQL是如何实现锁的) 焱老师带你学习MYSQL系列 第五篇 (MYSQL事务隔离级别是如何实现的) 焱老师带你学习MYSQL系列 第四篇 ( ...
- centos mysql 实战 第一节课 安全加固 mysql安装
centos mysql 实战 第一节课 安全加固 mysql安装 percona名字的由来=consultation 顾问+performance 性能=per con a mysql ...
- 经济法基础——第一章第一节、法律基础
第一节.法律基础 1.法和法律 法的本质:1.法是统治阶级的意志 [注意]法体现统治阶级的意志,并不等于"完全不顾及"被统治阶级的意愿2.法是国家意志(1)法由统治阶级" ...
- 第一章 第一节:Python基础_认识Python
Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...
- 第一节 MySQL 数据库(一)
数据库 1. 前言 1.1 什么是数据库? 怎么理解数据库呢? 可以把数据库比作 "账本"+"仓库" 的结合体. 它的作用就是: "管理和存储&quo ...
- MySQL入门教程系列-1.1 数据库基础
数据库基础 共同编辑,修正错误,这里点击进去 数据库(Database,DB)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 简单来说是本身可视为电子化的文件柜--存储电子文件的 ...
- mysql 导出dmp文件_MySQL数据库基础讲解
# 简介 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言(SQL)进行数据库管理. MySQL是开放源代码的,因此任何人都可以在General Publi ...
- Cisco系列第一节-----前提基础知识
Cisco系列文章目录 第一章:前提基础知识链接 文章目录 Cisco系列文章目录 一.DTE与DCE 1.DTE 2.DCE 二.连接线缆的种类 三.思科模拟器的使用 四 基础实验过程体验 1.添加 ...
- 分布式数据库实战第一节 分布式数据库的前世今生
开篇词 吃透分布式数据库,提升职场竞争力 你好,我是高洪涛,前华为云技术专家.前当当网系统架构师和 Oracle DBA,也是 Apache ShardingSphere PMC 成员.作为创始团队核 ...
最新文章
- Oracle恢复删除的数据
- PHP中trait的特性
- 电脑速度太慢 重装系统不如换个帐户
- Docker安装并配置阿里云镜像加速
- .NET利用委托实现动态查询
- 基于jQuery或Zepto实现实时监控用户浏览信息
- iOS中的Runloop
- 摩西十诫 摩西简介 世界宗教图谱
- 冬瓜哥送你元宵大礼盒啦!!
- Alook浏览器获取Cookie教程
- Mac本地账号开机密码破解
- F22.YOLO深入理解(V1-V3)个人感觉非常详细
- http响应码code含义
- Java工程师简历范文大学生,最全Java知识总结
- java 字节替换_java 替换四个字节的字符 apos;\xF0\x9F\x98\x84\xF0\x9F)的解决方案 - 好库文摘...
- facsum (线性筛 积性函数)
- 洛谷P1875 佳佳的魔法药水
- augment()图像增强库
- Saltstack安装LAMP
- 计算机网络的super super easy 教程 | IP协议 及 arp协议
热门文章
- Selenium2——profile设置、启动Firefox浏览器
- Python学习记录-判断字符串为空
- JavaScript 函数 arguments
- 过来人(江苏)专转本考试后的感悟和经验,真的很受用
- 江南爱软装十大品牌 窗帘和户型挑选对会更加舒适
- 华为交换机链路聚合与静态路由 ,三层交换机代替单臂路由实验
- 18款iPad绘画软件推荐!iPad必备生产力工具
- ​​​​​​​Oracle学习详解02版
- warmp启动图标黄色
- 【HMS Core】定位地图服务常见问题,穿戴设备支持、比例尺支持、在非华为手机上逆地理编码的支持?