IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mysql学习笔记一:认识数据库 -> 正文阅读

[大数据]mysql学习笔记一:认识数据库

什么是关系型和非关系型数据库

关系型数据库:指采用了关系模型来组织数据的数据库。
关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织
关系型数据库主要是Oracle,Microsoft SQL Server,MySQL,PostgreSQL,DB2,
Microsoft Access,SQLite,Teradata,MariaDB(MySQL的一个分支),SAP。
非关系型数据库:指非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。
ACID原则如下图:
在这里插入图片描述

其实就是关系型数据库所遵守的原则。
关系型与非关系型各自的优点缺点可以参考这篇文章:
https://www.jianshu.com/p/fd7b422d5f93

mysql中的字段类型:

主要包括以下五大类:
整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT
浮点数类型:FLOAT、DOUBLE、DECIMAL
字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB
日期类型:Date、DateTime、TimeStamp、Time、Year
其他数据类型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等
创建数据库:
在这里插入图片描述
创建表以及列名
在这里插入图片描述

插入数据:
在这里插入图片描述

创建表时,每一列的数据类型都可以自己设置,比如id上的INT就是整形,NOT NULL意味着如果该列值不允许为空,AUTO_INCREMENT的意思就是递增,即每插入一条数据,id的值自增1,PRIMAPY是主键的意思,表示定义的该列值在表中是唯一的意思,不可以有重复。ENGINE为引擎,这里使用默认的InnoDB,CHARSET字符集设定为utf-8,在mysql5.0版本以上设定varchar(50)即可以放50个汉字,版本低的话一个utf-8的汉字相当于3个字节,只能放16个。
从菜鸟教程得知Mysql的数据类型也可以分为三个大类: 数值、日期/时间和字符串(字符)类型,所以这里的表刚好包含了这三种类型。

数据库的增删查改.

增即INSERT,添加数据时可以规定列添加。
在这里插入图片描述
删即 DELETE FROM table_name WHERE condition;
第一,指定删除数据的表(table_name)。
第二,使用条件来指定要在WHERE子句中删除的行记录。如果行匹配条件,这些行记录将被删除。如果省略WHERE子句,DELETE语句将删除表中的所有行。如果要限制要删除的行数,则配合Order By使用LIMIT子句。
DELETE FROM table_name
ORDER BY c1, c2, …
LIMIT row_count;
例如DELETE FROM sa WHERE sa_id=1即删除了第一行的全部数据,若不加WHERE,则会将整个表都删除干净。更多其他的删除操作参考这篇文章:
点这
查:查的话就用select 如图:
在这里插入图片描述

示例:
在这里插入图片描述
改:就用update语句 UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
如图所示
在这里插入图片描述
这里就将sapphire改为了saaa并且指定是第一行。
这些就是简单的增删查改
LIKE子句的匹配例子:

'%a'     //以a结尾的数据
'a%'     //以a开头的数据
'%a%'    //含有a的数据
'_a_'    //三位且中间字母是a的
'_a'     //两位且结尾字母是a的
'a_'     //两位且开头字母是a的

mysql中自带的系统库和表:

1.information_schema
它提供了访问数据库元数据的方式, 其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
可以看到有很多系统表
在这里插入图片描述
2.performance_schema
这个功能默认是关闭的,需要设置参数才可开启,对于里面部分表的说明如图:
在这里插入图片描述

3.mysql
在这里插入图片描述
尝试看看user表里的内容
在这里插入图片描述
可以看到一些密码的哈希值
4.sys
sys_config是该库中存在的唯一一个表:
在这里插入图片描述
解释:
在这里插入图片描述

Mysql读写文件

Mysql中涉及读写操作时,得看secure_file_priv参数,利用show global variables like “secure%”;查询得到
在这里插入图片描述
并没有显示ON 或者别的,百度了知道要修改my.cnf,在[mysqld]内加入secure_file_priv=
先不修改,尝试一下读取文件。结果为NULL,尝试百度的方法以后并没有能读取任意文件,那么我就在/var/lib/mysql-files里创建了一个1.txt,内容为123123123,。先在sapphire库中创建一个test表,然后用insert into test(cmd) values (load_file(’/var/lib/mysql-files/1.txt’));写入文件内容,select * from test读取文件内容,如图:
在这里插入图片描述
在实际的注入过程中load_file函数一般都会被禁掉,这个时候就得使用load data infile:
在这里插入图片描述

还可以使用system cat命令,但是远程连接时无法使用,只能本地执行
在这里插入图片描述

这些就大概是mysql读写文件的方法

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:17:51  更:2021-10-06 12:19:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:42:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码