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(1) -> 正文阅读

[大数据]MySQL(1)

一、基础

1. 客户端和服务端是通过网络来进行交互的,而数据是存储在服务器上的。

?内存和外存的区别:

? ? ? ? 内存的储存空间小、访问速度快、成本高、且内存上的数据容易丢失(一断电就没有了)

????????外存的储存空间大、访问速度慢、成本低、且内存上的数据不容易丢失,但是一般的硬盘存储时间有限,可能几年到几十年,特别是SSD固态硬盘存储时间更短。

注意:数据库是要把数据存储到外存上的,外存的数据能够持久化保存,而且数据库组织数据会很多。

2. 关系型数据库:

数据库服务器==》包含很多数据库==》包含很多数据表==》包含很多行(记录)==》包含很多列(字段)

?3. 非关系型数据库组织形式会更加灵活,通常是按照文档或者键值对方式来存储的。

二、基本操作

1. 安装

参考博客园https://www.cnblogs.com/gaobo123/articles/13304745.html

视频教程mysql安装视频_哔哩哔哩_bilibili

2. 显示当前所有数据库:show databases;? ?

? ? ? ? 注意:databases是复数形式;末尾是英文的分号“ ; ".

3. 创建数据库?:create database 数据库名称 ;?

? ? ? ? 注意:database是单数形式;create是sql的关键字,所以不能当作名称,如果实在有需要可以写成create database `create`即加上反引号。

create database if not exist 数据库名称 ;

? ? ? ? 正常情况下如果数据库已经存在会出现报错,如果加上 if not exist则不会报错。

create database if not exist 数据库名称 create_specification ;

????????create_specification是指属性,有character set 和collate两个。

????????character set:指定数据库采用的字符集,在表示中文的时候会用到字符集,例如:Unicode、GBK(使用两个字节表示一个汉字)、utf8(是变长编码,其可表示的范围比GBK大得多)。collate:指定数据库字符集的校验规则,即按照什么样的规则来比较字符串之间的大小和相等。

例如:create database if not exist test character set utf8mb4;

4. 选中数据集: use 数据库名称 ;

5. 删除数据库: drop database 数据库名 ;

drop database if exists 数据库名 ;

注意:数据库一旦删除,里面的表和数据将会全部被删除

三、 数据类型

1. 数值类型

注意: 1字节=8bit

? ? ? ? 有符号范围:-2^(类型字节数*8-1) ~??2^(类型字节数*8-1)-1

? ? ? ? 无符号类型:0 ~?2^(类型字节数*8)-1

2. 字符串类型

文本数据:例如? .txt? .java? .c等等结尾的文件

二进制数据:例如? .docx? .ppt? .xlsx? .exe等等用记事本打开看不懂的文件

3. 日期类型

三、表基本操作?

1. 创建表 : creat table 表名(列名 类型, 列名 类型... ... );

????????creat table 表名(列名 类型 comment ’备注‘,

????????????????????????????????? ? ?列名 类型... ... );

注意:创建表需要保证同一个数据库里不能有同名的表,且表名和关键字不能重复

? ? ? ? ? ? comment是用来进行注释的,也可以用”--“来进行注释

2. 查看表 : show tables;

3. 查看指定表结构 : desc 表名 ;?

4. 删除表: drop table 表名;

? ? ? ? ? ? ? ? ? ?drop table if exists 表名;

三、表的增删查改?(CRUD)

1. 新增

insert into 表名 values(值, 值,...);? ?值的类型要与列匹配

指定列插入 : insert into 表名(列名) values(值);? ?

多行插入 :?insert into 表名 values(值 类型),(值 类型),(值 类型)...;

注意:对于数据库来说,内部存储中文是需要指定对应的中文编码方式的,其默认的字符集是拉丁文(Latin1,它不存储中文),所以可以通过修改数据库字符编码。下面是修改默认方式的步骤:

?2. 查询语句

1)全列查找: select * from 表名;

? ? ? ? 注意: select *会让服务器大规模的读取磁盘上的数据,再把数据通过网卡写回客户端。但是如果数据量非常大,则会导致读取磁盘和网卡会很慢甚至卡死。

2)指定列查找:select 列名 from 表名;

3)查询字段为表达式: 即边查询边计算,但只影响临时表的数据展示,对原数据没有任何影响。

select 列名, 表达式??from 表名;

? ? ? ? 例:?select name, english+math? from exam;

4)给查询的列起个别名:select 列名, 表达式 as 别名?from 表名;

5)查询时进行去重:?select distinct 列名? from 表名;

6)查询结果进行排序:

????????升序:? select 列名? from 表名 order by 列名;

????????降序:?select 列名? from 表名 order by 列名 desc;

7)指定多个列进行查询:(哪个列靠前,哪个列优先级就高)

????????select 列名? from 表名 order by 列名,列名...;

????????select 列名? from 表名 order by 列名 desc , 列名 desc , ...;

8)条件查询:使用where子句来表示条件

????????select 列名? from 表名 where 条件;

注意:在条件查询的时候,会先执行where,再执行select前半部分决定显示哪些列。

例:select * Chinese + math as total from exam where total>200;会报错,因为total是在各种条件判定后才定义的。

?
-- 查询语文成绩在 [80, 90] 分的同学及语文成绩:
1.? ?SELECT name, chinese FROM exam_result WHERE chinese BETWEEN 80 AND 90;
2.? ?SELECT name, chinese FROM exam_result WHERE chinese >= 80 AND chinese
<= 90;

9)like, 模糊查询,依赖一些通配符来表示要匹配的值是什么样的

? ? ? ? %代替多个任意字符; _ 代替一个任意字符

例:select * from exam where name like '孙%';即找到名字以孙开头的人

10)NULL:判断空值

例:select * from exam where math <=> null;

11)分页查询:因为数据很多时,会分成几个页来显示

? ? ? ??select 列名 from 表名 limit N;即查询前N条记录

????????select 列名 from 表名 limit N offset M;即从第M条开始查询前N条记录

例:select name,english+math+chinese as total from exam where name != '猪八戒' order by total desc limit 3;即找到名字不是猪八戒的记录,并降序排列,只显示前3条

3. 修改(update)

? ? ? ? update 表名 set 列名 = 值 ,?列名 = 值 ... ... where 条件 ;

例:update exam set math=80, english = 90 where name = '孙悟空';

4. 删除

? ? ? ? delect from 表名 where 条件;

注意:若不写条件,则相当于表中内容全部删除,即空表。

三、表的增删查改?(进阶)

1. 数据库约束

1)not null :指定列非空,写在某一列的类型的后面

例:create table student ( id int not null, name varchar(20));

2)unique : 值唯一,保证其列的每行必须有唯一的值,不能重复,也是写在某一列的类型的后面

? ? ? ? ? ? ? ? 使用unique时,会先查询再遍历

3)default : 修改默认值,本来默认值为null,默认值一般在指定列插入

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:12:48  更:2022-08-19 19:12:54 
 
开发: 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/23 13:20:33-

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