【MySQL】数据库基本使用

文章目录

一、数据库介绍

MySQL本质是基于C(mysql)S(mysqld)模式的一种网络服务。

是一套提供数据存取服务的网络程序。

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

  • mysql:数据库的客户端

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

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

文件确实能存储,但是站在用户角度没有提供较好的数据管理能力。(比方说在文件中查找以120开头的ip地址)

而如果是数据库,它对数据内容存储有一套解决方案,我们提交字段或者要求,数据库返回结果。

二、数据库使用

2.1 登录MySQL

sql 复制代码
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 实例中所有的数据库列表

sql 复制代码
show databases;

2.2.2 创建数据库

sql 复制代码
create database test;

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


创建数据库,本质上就是在创建Linux下创建一个目录。

2.2.3 创建数据库表

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

sql 复制代码
use test;

接下来就可以创建数据库表了:

sql 复制代码
mysql> create table person(
    -> name varchar(32),
    -> age int,
    -> gender varchar(2)
    -> );


在数据库中建立表,本质上就是在Linux中创建对应的文件。

2.2.4 在表中插入数据

sql 复制代码
insert into person (name, age, gender) values ('张三', '20', '男');

2.2.5 在表中查询数据

sql 复制代码
select* from person;


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

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

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

四、SQL语句分类

SQL语句分为三种:

DDL 数据定义语言,自然是用来维护存储数据的结构 ,代表指令:create,drop,alter,操作表
DML 数据操纵语言,用来对数据进行操作 ,代表指令:insert,delete,updata,操作数据

DML中又单独分了一个DQL,数据查询语言,代表指令:select
DCL 数据控制语言,主要负责权限管理和事务 ,代表指令:grant,revoke,commit

五、存储引擎

存储引擎:

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

查找引擎:

sql 复制代码
show engines;


MySQL的核心就是插件式存储引擎,支持多种存储引擎

最常用的存储引擎就是InnoDB,MyISAM

默认的存储引擎是InnoDB

相关推荐
郑重其事,鹏程万里2 分钟前
关系型数据库(derby)
数据库
Elastic 中国社区官方博客4 分钟前
使用 A2A 协议和 MCP 在 Elasticsearch 中创建一个 LLM agent 新闻室:第二部分
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
秋邱14 分钟前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker
前端木偶人之神17 分钟前
mysql基础学习
mysql
Three~stone19 分钟前
Matlab2025b的安装教程(附安装包和密钥破解文件)
学习·mysql·持续部署
郑重其事,鹏程万里22 分钟前
关系型数据库(h2)
数据库
空空kkk33 分钟前
MyBatis——代理Dao方式的增删改查操作
java·数据库·mybatis
4***571 小时前
数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(一).创建基础表
数据库·mysql·oracle
啊吧怪不啊吧1 小时前
SQL之表的字符串内置函数详解
大数据·数据库·sql
F***74171 小时前
数据库课设---酒店管理系统(MySQL、VBNet)
android·数据库·mysql