MySQL从青铜到王者第一篇:数据库的认识和数据库的操作与数据库表的部分操作
Posted 森明帮大于黑虎帮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL从青铜到王者第一篇:数据库的认识和数据库的操作与数据库表的部分操作相关的知识,希望对你有一定的参考价值。
系列文章目录
文章目录
前言
一、什么是数据库
- 存储数据用文件就可以了,为什么还要弄个数据库?文件保存数据有以下几个缺点:
- 文件的安全性问题。
- 文件不利于数据查询和管理。
- 文件不利于存储海量数据。
- 文件在程序中控制不方便。
- 数据库存储介质:
- 磁盘。
- 内存。
为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。
二、主流数据库
- SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
- Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如mysql。
- MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
- PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
- SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
- H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
三、安装MySQL环境
1.查看当前环境是否安装了mariadb
mariadb是mysql的一个分支版本(free)免费版本。
在root用户下通过 rpm -qa | grep mariadb 命令查看:
2.安装mariadb:
yum install -y mariadb
yum install -y mariadb-server
yum install -y mariadb-devel
3.启动mariadb:
service mariadb start 启动
service mariadb restart 重启
service mariadb stop 停止
4.mysql5.7是付费版本
5.mysql5.7和mariadb用来管理若干数据库的软件
- mariadb启动之后的服务器进程名叫做mysqld
- 启动mysql的时候,是启动mysqld_safe这个守护进程,由该守护进程将mysqld服务端启动起来的
- mysqld_safe:mysql服务端的守护进程
- mysqld:mysql服务端程序
- 当mysql程序异常崩溃(终止)之后,是由mysqld_safe进程快速重新启mysqld服务端进程
6.异常场景:
启动报错:一般情况下,都是/var/lib下的mysql文件夹的内容和启动的服务端程序不匹配
解决方案:将mysql文件夹重命名,再重启
四、连接MySQL服务端
(1)navicat(可视化的数据库连接软件)
(2)mysql(客户端)
① 客户端mysql和服务端mysqld的关系如下图所示:
② 服务端mysqld连接层
Ⅰ. 建立连接
- 客户端和服务端在同一台机器,本地域套接字(AF_UNIX),一台机器当中的两个进程间通信
- 客户端和服务端不在一台机器,TCP协议
Ⅱ. 校验用户名和密码(强校验)
Ⅲ. 校验客户端的IP地址
- 一个mysqld服务端可以管理多个数据库
- 数据库在Linux操作系统当中是一个独立的文件夹,文件夹下的内容是和数据表强相关的内容
③ 常见的mysql服务端分层关系
五、数据库的操作
1.连接数据库服务器的命令
mysql -u [用户名] -p [密码];
2.查看数据库
show databases;
3.进入到具体的数据库
use [数据库名];
4.查看数据库下都有哪些数据表
show tables;
5.创建数据库
create database [数据库名];
6.删除数据库(慎用)
drop database [数据库名];
六、数据库表的操作
1.创建数据库表
create table [表名称](表字段1名称 表字段1类型,表字段2名称 表字段2类型,…);
- CHARACTER SET: 指定数据库采用的字符集
- COLLATE: 指定数据库字符集的校验规则(只会影响是否对大小写敏感)
修改字符集:create database [数据库名] charset=utf8;
collate:只会影响是否对大小写敏感
校验规则:
_ci:对大小写不敏感 eg:create database test1 collate utf8_general_ci;
_bin:对大小写敏感eg:create database test2 collate utf8_bin;
2.查看表结构命令
desc [表名称] —>查看表结构(表妹一列的具体信息 eg:字段名称,字段类型,属性等)
3.查看创建表的命令
show create table [表名称];
或
show create table [表名称]\\G;
字符集:决定数据库保存数据的时候采用什么字符集(决定数据库能够存储什么样的数据 eg:英文、中文…)---->一般选择utf8,latin1 采用一个字节表示字符
存储引擎:决定了数据如何进行存储(一般在公司中存储引擎选InnoDB,因为支持事务)
InnoDB存储引擎:
myISAM存储引擎:
①users.frm:表结构
②users.MYD:表数据
③users.MYI:表索引
数据库中的数据是在ibdata1当中进行存储的
4.删除数据库表命令(慎用)
drop table[数据库表名称]
5.全列插入
insert into [表名] valuse(col1caluse,col2valuse,…);
6.多行插入
insert into [表名称] values(1,‘’),(2,‘’);
7.全列查询
select * from table
总结
以上就是今天要讲的内容,本文详细介绍了在云服务器上mariadb的使用和后续数据库表、数据库的操作,数据库提供了大量的方法供我们使用,非常的便捷,我们务必掌握。希望大家多多支持!另外如果上述有任何问题,请懂哥指教,不过没关系,主要是自己能坚持,更希望有一起学习的同学可以帮我指正,但是如果可以请温柔一点跟我讲,爱与和平是永远的主题,爱各位了。加油啊!
以上是关于MySQL从青铜到王者第一篇:数据库的认识和数据库的操作与数据库表的部分操作的主要内容,如果未能解决你的问题,请参考以下文章