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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: MySQl数据库第五课 --------在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也有自己的数据类型

数据型

d8321b2f50c74cdd91226dac19a6f841.png

其中我们常用的是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

891e97ebfc0345ccadf7cd694543bde5.png

查看所有的库

database:数据库  

加个s   databases:所有数据库

show databases;

1e0176d62c4d40e9abf828b3337d1202.png

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

创建数据库

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

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

删除库

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


4fa02188243e45d0b345d9ca249cc505.png

查看当前所在库的位置

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

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

USE 库名

数据表的操作

选择库

use 库名 或者USE 库名

查看当前库里所有的表

show tables;或者SHOW TABLES;



1f8ff667743246b8b1a30e48f61f3be9.png

查看当前表的结构

desc 表名;或者 DESC 表名;

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

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

约束

主键 primary key :物理上存储的顺序(存在真实排序),主键都是非空、惟一的

非空 not null :此字段不允许为空

惟一 unique :此字段的值不允许重复

默认 default :当不填写此字段时,会使用默认值

外键 foreign key :对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否

存在,如果存在则填写成功,如果不存在则填写失败并抛出异常。

虽然外键约束可以保证数据的有效性,但在进行数据的增、改、删、查时,都会降低数据库的性

能,所以不推荐使用。

查看表内容

select  * from 表名;
select *  from 表名 limit  20; //查看表内容的前20行

15bff61d29374a2fa1b9e14a4b271b77.png

总结:

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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
26 15
|
3天前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
23 11
|
12天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
82 15
|
6天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
13天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
15天前
|
SQL 存储 缓存
MySQL进阶突击系列(02)一条更新SQL执行过程 | 讲透undoLog、redoLog、binLog日志三宝
本文详细介绍了MySQL中update SQL执行过程涉及的undoLog、redoLog和binLog三种日志的作用及其工作原理,包括它们如何确保数据的一致性和完整性,以及在事务提交过程中各自的角色。同时,文章还探讨了这些日志在故障恢复中的重要性,强调了合理配置相关参数对于提高系统稳定性的必要性。
|
14天前
|
SQL 关系型数据库 MySQL
MySQL 高级(进阶) SQL 语句
MySQL 提供了丰富的高级 SQL 语句功能,能够处理复杂的数据查询和管理需求。通过掌握窗口函数、子查询、联合查询、复杂连接操作和事务处理等高级技术,能够大幅提升数据库操作的效率和灵活性。在实际应用中,合理使用这些高级功能,可以更高效地管理和查询数据,满足多样化的业务需求。
49 3
|
17天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
16天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
19天前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。

推荐镜像

更多
下一篇
DataWorks