MySQl数据库第五课 --------在SQl的简单命令--------学习学习

作者前言

 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com

————————————————————————————

目录

数据库的简单介绍
        1.数据储存
        2.数据库类型
                (1).关系型数据库
                 (2).非关系型数据库
        3.数据类型
        4.约束
        5.SQL

————————————————————————————

作者小废话

        在前面几章的博客中我简单介绍了linux的简单命令,这些命令可以让我们在终端中进行简单的操作,如修改文件 创建文件夹、文件、复制文件或者文件夹  。移动文件或者文件夹,文件名搜素、文件内容搜素  文件的打包和压缩(包括解压)、权限的赋予、管理员权限的获取、用户的查看,还有一些下载mysql的命令等,下面我们就将步入数据库的环境中进行操作

插播小知识

1.在进入/etc/my.cnf中不要设计mysql免密码登入,这样可能会让我们无法链接图形化界面

数据库的简单介绍

数据储存

     从远古时期的结绳记事,一直到现在的现代化数据储存。数据在日常生活中,一直都是是非重要的 存在。小到买完早餐的记账,大到战争时期的数据收集与整理。即使是现在的机器学习或是AI ,都是需 要海量的数据作为运算的基底

日常生活中,我们看京东和淘宝,数据大都是以这样的形式展现,图文并茂。这是方便客户观看商品的 特点
作为一名合格的程序员,从数据库查看数据是最基本的操作,通过 SQL 语句,调出满足逻辑的数据, 供自己和同事使用。

 数据库本身只是一种文件

我们可以看看mysql是怎样的一个样子

 可以看到mysql文件里面的布局

 当我们进入mysql环境中查看里面的库(可以理解为数据库)显示出来的就是库的名称

Linux 的终端里,我们可以在 /var/lib/mysql 中找到对应的数据目录。同时也可以在数据库中找到对 应的库名。对应到具体的表中,数据的展现形式同Excel 文件十分相似
1.选择一个库进入,查看表 的数量

2. 选择一个表格进入,查看表的结构,

 3.查看表的内容

 数据库类型

    1.关系型数据库:

         数据库中,允许数据之间的关联。即为把数据放入表格中,这些表格可以相互关联。核心 是其 结构 化的查询语言 (SQL )。其中 oracle mysql sqlite 作为关系型数据库的典型,被大规模使用。为了应 对不同的场景和计算要求,不同的企业也会根据自己的需求,优化并制造自己的数据库,例如便于大数 据计算的hive ,阿里云的泛用型数据库 ADB
      MySQL
       优点:免费。MySQL支持多种操作系统,使用场景广泛,能够被绝大多数图形化界面接受。使用标准的 SQL 语言形式。可以运行于多个系统上,并且支持多种语言。
关系型数据库就是 可以展现在Excel中的数据库  
   2.非关系型数据库:
数据 (不能简单展示在Excel 中的数据库)。非关系型数据库也被解释为 NoSQL NoSQL 数据库虽然种类繁 多,但共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。最长使 用的非关系型数据库有Redis和 MongoDB 。数据的表现形式也不同于关系型数据库,键值对、列、文档 等。
Redis
优点:免费。支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。支持数据的备份。不仅支持键值对key-value 类型的数据,同时还提供列表 list ,集合 set ,有序集合 zset,哈希 hash 等数据结构的存储。

RDBMS(关系型数据库的管理系统)

Relational Database Management System:关系型数据库管理系统,通过表格来表示关系型的数据。

 RDBMS-server可以理解为服务端, RDBMS-ckient可以理解为客户端 

运行原理:

用户用过使用 RDBMS-ckient,把sql语句发送给RDBMS-server, 然后RDBMS-server把符合要求的数据返回给 RDBMS-ckient

通过SQL语句,可以将数据进行关系化、结构化的整理,然后展现在用户的客户端。

数据类型

Python语言的数据类型有int、str、list....等,C语言的数据类型有int、char float double等等

当然mysql也有自己的数据类型

数据型

 其中我们常用的是tinyint 、int(integer)、double而其他的smallint、mediumint、blgint、float、decimal后面用到再来查找

时间型

 date 、time、year、datetime、timestamp(时间戳)我们简单记住date和datetime就可以了,data精度到天,datetime精度到秒(常用于交易时间)

字符类型

char、 varchar 、tinyblob、tinytext、blob、text、medlumblob、medlumtext、longblob、longtext中我们先简单的记住varchar、text(长文本)

注意

例如, char(20) varchar(20) 表示可以存储 20 个字符而不是 20 个字节。 CHAR VARCHAR 类型 类似,但它们保存和检索的方式不同。在存储或检索过程中不进行大小写转换。
BINARY VARBINARY 类似于 CHAR VARCHAR ,不同的是它们包含二进制字符串而不要非二进 制字符串。它们包含字节字符串 而不是 字符字符串 。这说明它们没有字符集,并且排序和比较基于列值 字节的数值值。
BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 BLOB 类型: TINYBLOB BLOB 、 MEDIUMBLOB 和 LONGBLOB 。它们区别在于可容纳存储范围不同。
4 TEXT 类型: TINYTEXT TEXT MEDIUMTEXT LONGTEXT 。对应的这 4 BLOB 类 型,可存储的最大长度不同,可根据实际情况选择
处理数据的时候不是用最正确的方式,而是最适用的方式

SQL

结构化查询语言,是一种用来操作 RDBMS 的数据库语言。在例如 oracle 中,会存在个别的语法差别之 外,当前关系型数据库都支持使用SQL 语言进行操作( SQL 语句不区分大小写)。
SQL 语句主要分为:
DQL :数据查询语言,用于对数据进行查询
DML :数据操作语言,对数据进行增加、修改、删除
DDL :数据定义语言,进行数据库、表的管理等
DCL :数据控制语言,进行授权与权限回收
CCL :指针控制语言,通过控制指针完成表的操作
对于一名程序员而言,数据库的增删改查是必须要掌握的。即为 insert delete update select
在处理数据的时候查(select)最重要

数据库操作

进入数据库

mysql -u root -p

查看所有的库

database:数据库  

加个s   databases:所有数据库

show databases;

选择数据库
use 数据库的名称;

创建数据库

create database  库名;或者CREATE DATABASE 库名;
create database 库名  charset=utf8;

 一般默认为utf-8编码格式

删除库

drop database 库名;或者DROP DATABASE 库名;

查看当前所在库的位置

select database();或者SELECT DATABASE();

如果忘记了这个命令我们可以再选择一次库 (USE 库名)

USE 库名

数据表的操作

选择库

use 库名 或者USE 库名

 查看当前库里所有的表

show tables;或者SHOW TABLES;

查看当前表的结构

desc 表名;或者 DESC 表名;

 field下的内容是表头名称 可以看出这个表里面有三个表头 id  name  pid

其中id 里面的数据类型为int   不能留空    主键      默认值空  

约束
主键 primary key :物理上存储的顺序(存在真实排序),主键都是非空、惟一的
非空 not null :此字段不允许为空
惟一 unique :此字段的值不允许重复
默认 default :当不填写此字段时,会使用默认值
外键 foreign key :对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否
存在,如果存在则填写成功,如果不存在则填写失败并抛出异常。
虽然外键约束可以保证数据的有效性,但在进行数据的增、改、删、查时,都会降低数据库的性
能,所以不推荐使用。
查看表内容
select  * from 表名;
select *  from 表名 limit  20; //查看表内容的前20行

 总结:

这里简单的介绍了数据库的一些数值和名称,及一些简单命令,后面还会进一步介绍更多的命令

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第四章 网络层【计算机网络】

第四章 网络层【计算机网络】 前言推荐第四章 网络层4.1 网络层的几个重要概念4.1.1 网络层提供的两种服务4.1.2 网络层的两个层面例-路由表的建立 4.2网际协议IP4.2.1 虚拟互连网络4.2.2 IP地址例-分类地址练习例-子网划分例-聚合超网4.2.3IP地址与MAC地址4.2.4地址解析协议AR…

elk高并发架构

1.前言 普通的elk架构只适合数据量小的情景,而且也不安全,在瞬时数据量大的情况下可能会导致logstash崩溃,从而导致数据的丢失,对于数据安全有较高要求,可以在架构中加入消息队列,既可以防止瞬时的大流量并…

软件UI工程师的职责模板

软件UI工程师的职责模板1 职责: 1.负责产品的UI视觉设计(手机软件界面 网站界面 图标设计产品广告及 企业文化的创意设计等); 2.负责公司各种客户端软件客户端的UI界面及相关图标制作; 3.设定产品界面的整体视觉风格; 4.为开发工程师创建详细的界面说明文档&…

TiDB(6):数据迁移-TiDB Lightning

1 TiDB Lightning介绍 TiDB Lightning 是一个将全量数据高速导入到 TiDB 集群的工具,目前支持 Mydumper 或 CSV 输出格式的数据源。你可以在以下两种场景下使用 Lightning: 迅速导入大量新数据。 备份恢复所有数据。 TiDB Lightning 主要包含两个部分…

路由的介绍

目录 路由器的转发原理:路由表 路由——指示路由器去往未知网段的方法 路由器的转发原理:路由表 当一个数据包来到路由器,路由器将基于数据包中的目标IP地址查询自身的路由表,如果路由表中有相应的记录,则无条件根据…

VMware16.0安装教程和创建

许可证: ZF3R0-FHED2-M80TY-8QYGC-NPKYFYF390-0HF8P-M81RQ-2DXQE-M2UT6ZF71R-DMX85-08DQY-8YMNC-PPHV8设置网络 添加镜像 下载centos7镜像网址https://mirrors.aliyun.com/centos/7/isos/x86_64/?spma2c6h.25603864.0.0.d7724511YPrZpg win10镜像地址https://ww…

【Spring boot+VUE2+Android 7.1】智慧校园源码

一、智慧校园实现了智慧校园基础数据的统一管理,通过此平台提供教师基础信息管理、学生基础信息管理、用户认证管理、权限管理、资源管理、应用管理、第三方应用接入等基础功能与服务。 二、源码包含:电子班牌管理系统、成绩管理系统、考勤人脸刷卡管理系…

总结STM32嵌入式面试知识点

一、STM32F1和F4的区别? 内核不同:F1是Cortex-M3内核,F4是Cortex-M4内核;主频不同:F1主频72MHz,F4主频168MHz;浮点运算:F1无浮点运算单位,F4有;功能性能&…

MySQL之数据库引擎详解(内附面试题:InnoDB和MyISAM的联系与区别)

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于MySQL数据库引擎的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一. 数据库引擎是什么&#xff…

LinuxCP插件virtio与内核vhost

以下为LCP创建的接口对,VPP侧为物理接口port7,映射到Linux侧的为虚拟接口hostap1,接口hostap1作为vhost的后端存在。VPP侧接口tap1为前端的virtio接口。 vpp# show lcp itf-pair: [0] port7 tap1 hostap1 24 type tap vdp# vdp# show interf…

【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 3 日论文合集)

文章目录 一、分割|语义相关(4篇)1.1 SPAE: Semantic Pyramid AutoEncoder for Multimodal Generation with Frozen LLMs1.2 Achieving RGB-D level Segmentation Performance from a Single ToF Camera1.3 Topological Data Analysis Guided Segment Anything Model Prompt Op…

双非本大二上岸大厂——念念不忘,必有回响

⭐️前言⭐️ 博主就读于一所普通的学校(双非本),在大二下学期3月份开始网上投递简历,历时近百余天,投递简历500,面试近40余场,最终在6月份学期末,斩获了两个大厂offer(北…

开发框架前后端分离的好处是什么

关于将前端和后端保持在一起或分开,存在广泛的意见分歧。唯一重要的是,这两个组件对于开发成熟的应用程序都是必需的。 考虑:紧密耦合的前端和后端 许多人认为后端和前端的分离是一个坏主意,这两个角色之间没有太大区别。 以下…

MySQL-SQL存储过程/触发器详解(下)

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏&#xf…

计算机体系结构基础知识介绍之缓存性能的十大进阶优化之编译器优化和硬件预取(六)

优化七:编译器优化,降低miss率 处理器和主内存之间不断扩大的性能差距促使编译器编写者仔细检查内存层次结构,看看编译时优化是否可以提高性能。再次,研究分为指令缺失的改进和数据缺失的改进。接下来介绍的优化可以在许多现代编…

【图像识别】openCV基础知识

图像处理基础 一、使用OpenCV前要准备的工作1.先导入需要用到的库2.自定义,图片展示函数 二、开始学习常用函数1.生成随机整数①. 函数说明②.代码a. 二维灰度图b. 三维彩色图 ③.代码现象a. 二维灰度图b. 三维彩色图 2.通道的分离与合并①先导入一张图片② 将其RGB…

Python获取指定路径下所有文件的绝对路径

import osdef get_file_path_by_name(file_dir, format.JPG):获取指定路径下所有文件的绝对路径:param file_dir::return:L []for root, dirs, files in os.walk(file_dir): # 获取所有文件for file in files: # 遍历所有文件名if os.path.splitext(file)[1] format: L.ap…

typeScript(持续吐血版)

typeScript-02-进阶(TSVue3) 结合vue3来使用TypeScript 使用vite来创建vue3TS的项目 使用vite创建项目,并选择带ts的版本 npm create vitelatest my-vue-ts-app – --template vue-ts 参考链接:https://vuejs.org/guide/typescript/composition-api…

深度学习基础

1 机器学习、深度学习、人工智能 1.1 机器学习 机器学习是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身性能的学科。 基本步骤:获取数据、数据预处理、特征提取、特征选择…

FFmpeg5.0源码阅读—— avcodec_send_packetavcodec_receive_frame

摘要:本文主要描述了FFmpeg中用于解码的接口的具体调用流程,详细描述了该接口被调用时所作的具体工作。   关键字:ffmpeg、avcodec_send_packet、avcodec_receive_frame   读者须知:读者需要了解FFmpeg的基本使用流程&#xf…