『 MySQL数据库 』之数据库基础

news2024/11/28 3:41:29

文章目录

    • mysql的登陆选项
    • 什么是数据库
      • mysql与mysqld的区别
      • mysql与数据库
      • 为什么存储数据时不用文件而用数据库?
    • 在Linux中如何显式观察数据库?
      • 在Linux中如何使用mysql建立一个数据库,建立一张表结构,插入一些数据;
      • 服务器与数据库、表之间的关系
      • SQL分类

mysql的登陆选项

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

-h 指明登陆部署了mysql服务的主机

-P 指明要访问的端口号

-u 指明用户(以user状态登陆)

-p 密码(-p后可直接跟密码进行登陆)

mysql -u root -p

不指定-h时默认以本地的mysql网络服务

不指定-P时以默认端口号3306进行登陆



什么是数据库

mysql与mysqld的区别

mysql 是数据库服务的客户端

mysqld是数据库服务的服务端(一个可执行程序带d的,一般被称为守护进程)

mysql的本质就是:基于C(mysql), S(mysqld)模式的一种网络服务;

mysql与数据库

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

而数据库一般指的是,在磁盘或者内存当中存储的特定结构组织的数据 – 将来在磁盘上存储的一套数据的方案;

数据库服务 – mysqld

为什么存储数据时不用文件而用数据库?

  • 文件确实对数据的存储起到了一定的作用,但是文件并没有提供十分灵活的数据管理能力(以用户的层面),假设在写项目时数据被存储在文件当中,程序员则需要再次对文件进行操作(二次编码);

  • 数据库的本质就是:对数据内容存储的一套解决方案(一个给要求,一个给结果);

  • 安全问题:对于没有加权限控制的文件可以被大多数人进行访问,而这样反而不安全;

数据库本质就是在磁盘中结构化的数据;



在Linux中如何显式观察数据库?

在Linux中如何使用mysql建立一个数据库,建立一张表结构,插入一些数据;

  1. 建立数据库本质上就是建立一个Linux下的一个目录;

    使用create database XXX;创建数据库(默认该处的XXX为’‘helloworld’),即在对应目录中建立一个名为’'helloworld’的目录(该目录的位置默认为/var/lib/mysql中);

  2. 对数据库进行的基本操作;

    • 建立表

      同时,在对数据库进行增删查改之前,首先应该选中该数据库,可以将该操作比作为在Linux平台下时创建目录->进入目录;

      使用use XXX;命令选中该数据库(注意:在mysql中总是以;分号作为mysql语句的结束);

      mysql> create table /*create database为创建数据库 而create table为创建表*/student( 
          -> name varchar(32),# 名字,varchar为类型,后跟(),()内为字符串大小;
          -> age int, # 年龄,该处可以直接用int进行表示;
          -> gender varchar(2)
          -> );#以;分号进行结尾
      

      而这里实际上是在对应数据库目录中建立了对应的文件;

    • 在表中插入数据

      所建立的表与Excel类似,当Excel表格建立好一个模板之后即可以在这个模板之下添加数据;

      以上面的表结构为例;

      mysql> insert into student(name,age,gender) values("Lihua",18,"男");
      

      插入一个name为"Lihua",age为18,gender为"男";

      也可以使用SELECT * FROM student

      同时从该图可以看出,数据库的数据存储结构为逻辑存储结构;

      在显式时可以看到数据库内的数据是以行列的方式进行显式;

      但是实际在底层中数据库内的数据根据不同的数据库都有不同的存储方式;

所以本质上,数据库也是文件,不过该文件的文件操作并不由用户直接进行;

而是用户通过客户端去访问mysqld网络服务,使得mysqld网络服务根据用户的要求所需去对数据进行操作;



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

安装mysqld(数据库网络服务器)的本质就是在机器上安装了一个数据库的管理系统,这个系统可以管理多个数据库;

而数据库内可以建立多个表,表用来存储实体数据;

用户通过客户端去访问服务端,而服务端根据用户的需求对数据库内的数据进行对应的操作;



SQL分类

  • DDL [data definition language]数据定义语言,用来维护存储数据的结构

    代表指令:create , drop , alter

  • DML [data manipulation language]数据操纵语言,用来对数据进行操作

    代表指令:insert , delete , update

  • DCL [data control language]数据控制语言,负责权限管理等

    代表指令:grant , revoke , commit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1168843.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

httpclient工具类(支持泛型转换)

1、网上搜到的httpclient工具类的问题: 1.1、如下图我们都能够发现这种封装的问题: 代码繁杂、充斥了很多重复性代码返回值单一,无法拿到对应的Java Bean对象及List对象集合实际场景中会对接大量第三方的OPEN API,下述方法的扩展…

最亮那颗星的中年危机 —— 程序员的职场困境与破局

如果说最近的这十年国内市场什么工作是最受瞩目的,那么程序员绝对算得上是夜空中最闪亮的那颗星。 伴随科技的迅猛发展,计算机走进千家万户,智能终端深深融入每个人的生活,程序员这一职业群体也逐渐成为了现代社会中不可或缺的一…

分享一个抖音视频解析神器~

怎么样下载抖音视频?相信很多人都有过这样的困惑。作为一个资深短视频剪辑工作者,常常需要用到各种视频素材,其中不乏需要从抖音上下载的,因此我也尝试过许多下载工具,但是效果都不大满意,直到有一次朋友给…

最近面试者对接口测试的理解真把我给笑拥了~

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

建议收藏《2023华为海思实习笔试-数字芯片真题+解析》(附下载)

华为海思一直以来是从业者想要进入的热门公司。但是岗位就那么多,在面试的时候,很多同学因为准备不充分,与岗位失之交臂,无缘进入该公司。今天为大家带来《2023华为海思实习笔试-数字芯片真题解析》题目来源于众多网友对笔试的记录…

CSS基础知识点速览

1 基础认识 1.1 css的介绍 CSS:层叠样式表(Cascading style sheets) CSS作用&#xff1a; 给页面中的html标签设置样式 css写在style标签里&#xff0c;style标签一般在head标签里&#xff0c;位于head标签下。 <style>p{color: red;background-color: green;font-size…

路由器基础(五): OSPF原理与配置

开放式最短路径优先 (Open Shortest Path First,OSPF) 是一个内部网关协议 (Interior Gateway Protocol,IGP),用于在单一自治系统(Autonomous System,AS) 内决策路由。OSPF 适合小型、中型、较大规模网络。OSPF 采用Dijkstra的最短路径优先算法 (Shortest Pat…

Go Gin中间件

Gin是一个用Go语言编写的Web框架&#xff0c;它提供了一种简单的方式来创建HTTP路由和处理HTTP请求。中间件是Gin框架中的一个重要概念&#xff0c;它可以用来处理HTTP请求和响应&#xff0c;或者在处理请求之前和之后执行一些操作。 以下是关于Gin中间件开发的一些基本信息&am…

【计算机网络 - 自顶向下方法】第一章习题答案

P2 Question&#xff1a;   式 (1-1) 给出了经传输速率为 R 的 N 段链路发送长度为 L 的一个分组的端到端时延。 对于经过 N 段链路一个接一个地发送 P 个这样的分组&#xff0c;一般化地表示出这个公式。 Answer&#xff1a;    N ∗ L R \frac{N*L}{R} RN∗L​ 时&…

【移远QuecPython】EC800M物联网开发板的内置GNSS定位获取(北斗、GPS和GNSS)

【移远QuecPython】EC800M物联网开发板的内置GNSS定位获取&#xff08;北斗、GPS和GNSS&#xff09; 测试视频&#xff08;其中的恶性BUG会在下一篇文章阐述&#xff09;&#xff1a; 【移远QuecPython】EC800M物联网开发板的内置GNSS定位的恶性BUG&#xff08;目前没有完全的…

Python语言:容器操作知识点总结清单

容器通用操作表格&#xff1a; 列表知识点清单&#xff1a; 元组知识点清单&#xff1a; 字典知识点清单&#xff1a; 集合知识点清单&#xff1a; 字符串知识点清单&#xff1a; 说明&#xff1a;本次知识点总结可能会有遗漏&#xff0c;没有做到面面俱到。

联通智网科技正式入选国家级专精特新“小巨人”企业

近日&#xff0c;北京市经济和信息化局发布《第五批专精特新“小巨人”企业公告名单》&#xff0c;根据工业和信息化部发布的《工业和信息化部关于公布第五批专精特新“小巨人”企业和通过复核的第二批专精特新“小巨人”企业名单的通告》&#xff0c;联通智网科技股份有限公司…

Java自学第3课:Java语言流程控制和字符串

1 复合语句 复合语句是以区块为单位的语句&#xff0c;也就是{}内的内容。 2 条件语句 if (布尔表达式){语句序列}else{语句序列} 有个好玩的是&#xff0c;对年龄段的分段&#xff0c;其实以前的思维是有点冗余的&#xff0c;比如a<100 & a>90&#xff0c;在复合…

蛋白质N端测序服务

表达纯化后的蛋白产物&#xff0c;特别是蛋白品的分析过程中&#xff0c;需要对蛋白的末端进行验证&#xff0c;以保证表达纯化产物的N端和C端序列准确。Edman降解法是蛋白的N端序列分析中非常成熟的方法之一&#xff0c;有着广泛的应用。卡梅德生物采用岛津公司Edman测序系统&…

C++定义一个 Student 类,在该类定义中包括:一个数据成员 score(分数)及两个静态数据 成员 total(总分)和学生人数 count

完整代码&#xff1a; /*声明一个Student类&#xff0c;在该类中包括一个数据成员score&#xff08;分数&#xff09;、两个静态数据成员total_score&#xff08;总分&#xff09;和count&#xff08;学生人数&#xff09;&#xff1b;还包括一个成员函数account&#xff08;&…

Redis缓存穿透、击穿、雪崩问题原理和解决方案

目录 一、Redis缓存穿透1.1、缓存穿透原理1.2、缓存穿透代码演示1.3、缓存穿透解决方案解决方案一&#xff08;数据库中查询不到数据也将key进行缓存&#xff09;解决方案二&#xff08;使用布隆过滤器&#xff09; 二、Redis缓存击穿&#xff08;缓存失效&#xff09;三、Redi…

KV STUDIO对plc的读取与电焊机的配料设置

今天又开始了明天的工作总结&#xff0c;希望对于看小编博客的粉丝有所帮助&#xff0c;前程似锦&#xff01;&#xff01;&#xff01; KV STUDIO对plc的读取 一&#xff0c;先将电脑与设备相连接&#xff0c;有许多种发生&#xff0c;小编这使用的是以太网方式 二&#xff0…

倒计时丨距离RestCloud新品发布仅有6天!

6天倒计时&#xff0c;RestCloud零代码集成自动化平台重磅发布 ⏰11月9日14:00&#xff0c;期待您的参与&#xff01; 点击报名&#xff1a;http://c.nxw.so/dfaJ9

【LeetCode刷题-链表】--146.LRU缓存

146.LRU缓存 方法一&#xff1a;哈希表双向链表 使用一个哈希表和一个双向链表维护所有在缓存中的键值对 双向链表按照被使用的顺序存储了这些键值对&#xff0c;靠近头部的键值对是最近使用的&#xff0c;而靠近尾部的键值对是最久使用的哈希表即为普通的哈希映射&#xff0…