当前位置: 首页 > news >正文

【MySQL】数据库基本使用

文章目录

  • 一、数据库介绍
  • 二、数据库使用
    • 2.1 登录MySQL
    • 2.2 基本使用
      • 2.2.1 显示当前 MySQL 实例中所有的数据库列表
      • 2.2.2 创建数据库
      • 2.2.3 创建数据库表
      • 2.2.4 在表中插入数据
      • 2.2.5 在表中查询数据
  • 三、服务器、数据库、表之间的关系
  • 四、SQL语句分类
  • 五、存储引擎

一、数据库介绍

MySQL本质是基于C(mysql)S(mysqld)模式的一种网络服务。
是一套提供数据存取服务的网络程序。

  • mysqld:数据库的服务器端(d表示守护进程)

  • mysql:数据库的客户端

数据库是在磁盘或内存中存储的结构化数据文件。

  • 为什么不用一般文件存储?

文件确实能存储,但是站在用户角度没有提供较好的数据管理能力。(比方说在文件中查找以120开头的ip地址)
而如果是数据库,它对数据内容存储有一套解决方案,我们提交字段或者要求,数据库返回结果。

在这里插入图片描述

二、数据库使用

2.1 登录MySQL

mysql -h 127.0.0.1 -P 3306 -u root -p

-h:指定部署了MySQL的主机名或 IP 地址。在这里,127.0.0.1 表示要连接的主机为本地主机,即连接本机上的 MySQL 数据库。不指明-h,默认连上本地服务器搭建的MySQL。
-P:指定要连接的 MySQL 数据库所在的端口号。在这里,3306 表示 MySQL 数据库的默认端口号。不指明-P,默认使用配置文件指明的端口号连接MySQL。
-u:指定要连接 MySQL 数据库的用户名。在这里,root 表示使用 root 用户名连接 MySQL 数据库。
-p:表示连接 MySQL 数据库时需要输入密码。在这里,-p 后面没有指定密码,所以会提示输入密码。

2.2 基本使用

2.2.1 显示当前 MySQL 实例中所有的数据库列表

show databases;

在这里插入图片描述

2.2.2 创建数据库

create database test;

在这里插入图片描述

数据库存放于/var/lib/mysql目录下。查看:

在这里插入图片描述
创建数据库,本质上就是在创建Linux下创建一个目录。

2.2.3 创建数据库表

可以看到有很多数据库,所以先选择其中一个数据库:

use test;

在这里插入图片描述
接下来就可以创建数据库表了:

mysql> create table person(-> name varchar(32),-> age int,-> gender varchar(2)-> );

在这里插入图片描述
在数据库中建立表,本质上就是在Linux中创建对应的文件。
在这里插入图片描述

2.2.4 在表中插入数据

insert into person (name, age, gender) values ('张三', '20', '男');

在这里插入图片描述

2.2.5 在表中查询数据

select* from person;

在这里插入图片描述
数据库本质其实也是文件,只不过这些文件并不由程序员直接操作,而是由数据库服务帮我们进行操作

三、服务器、数据库、表之间的关系

其实安装数据库服务器(mysqld)就是在linux上安装了一个数据库管理的应用程序,在后台以守护进程的方式运行。这个程序就可以一次管理多个数据库(表):

在这里插入图片描述

四、SQL语句分类

SQL语句分为三种:

DDL数据定义语言,自然是用来维护存储数据的结构,代表指令:create,drop,alter,操作表
DML数据操纵语言,用来对数据进行操作,代表指令:insert,delete,updata,操作数据
DML中又单独分了一个DQL,数据查询语言,代表指令:select
DCL数据控制语言,主要负责权限管理和事务,代表指令:grant,revoke,commit

五、存储引擎

存储引擎:
数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。也就是真正和操作系统打交道的程序。

查找引擎:

show engines;

在这里插入图片描述
MySQL的核心就是插件式存储引擎,支持多种存储引擎
最常用的存储引擎就是InnoDB,MyISAM
默认的存储引擎是InnoDB

http://www.lryc.cn/news/105645.html

相关文章:

  • 计算shell脚本执行的时间
  • 无网络环境下,如何部署Docker镜像
  • 瑞吉外卖项目----(2)缓存优化
  • c++ http url encode decode
  • @vue/composition-api功能介绍
  • WebSocket整合直播
  • 【Linux】IO 篇:文件调用原理,文件描述符,FILE的内涵,解析重定向,理解缓冲区
  • 力扣:47. 全排列 II(Python3)
  • Android uart-修改串口节点名
  • 【HarmonyOS】键盘遮挡输入框时,实现输入框显示在键盘上方
  • day19-二叉树的最大最小深度
  • Ansible-roles
  • NullPointerException导致手机重启案例分析
  • JAVA 反编译工具
  • (AcWing)分组背包问题
  • JSP项目国际化词条统计
  • Java课题笔记~ MyBatis缓存
  • 数据结构--循环队列、链队
  • hbuilderx主题色分享-github风格
  • 【C++】类与对象(1)
  • Java课题笔记~ MyBatis核心配置
  • 从0开始自学网络安全(黑客)
  • kotlin 编写一个简单的天气预报app(四)增加界面显示
  • 英语不好能学好Python吗?Python常用英文单词汇总
  • Counting Stars 2023“钉耙编程”中国大学生算法设计超级联赛(5)hdu7335
  • 浅谈document.write()输出样式
  • AIGC(Artificial Intelligence and Graph Computing)职业发展路径和前景如何?
  • MySql006——基本的SELECT查询语句
  • 【啥都生】分类项目中的模型搭建代码解析
  • Ubuntu出现了内部错误