一、存储引擎
1.含义
存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。
2.常用存储引擎
(1)InnoDB(MySQL5.1版本之后的版本默认的是InnoDB):优势在于提供了良好的事务处理,崩溃修复能力和并发控制,缺点是读写效率较差,占用数据空间较大。
1.事务处理、回滚、崩溃修复能力和多版本并发控制
2.自增长(可以思考索引的数据结构)
3.外键(多张表之间的关联,如主表和从表)
(2)MyISAM(MySQL5.1版本之前默认):优势在于占用空间小,处理速度快,缺点是不支持事物完整性和并发性
(3)Memory:数据全部放在内存中,采用哈希索引;但如果内存出现异常就会影响数据,重启或关机所有数据都会消失,因此其生命周期很短,一般是一次性的。
 
二、数据类型
主要为数值型、字符串、和日期时间类型
(1)数值型:
整数型:
int:正常大小的整数,可以带正负号,范围为-2147483648-2147483647;约-21亿到+21亿
tinyint(非常小的整数,可以带正负号,范围为-128-127;不带符号的话为0-255),
bigint(非常大的整数,可以带正负号)
小数型:
float(m,d):m参数为显示长度,d参数为小数位数,默认为10,2
double(m,d):m参数为显示长度,d参数为小数位数,默认为16,4。双精度浮点小数(比float范围更广);
 
 
(2)字符串类型:
普通类型:
char(m):m表示字符串的固定长度:例如:sex char(1) , 表示的是性别这列的字符串只能为1个,如男/女
varchar(m):m表示字符串的可变长度,例如:cname varchar(5), 表示的则是cname列的字符串的长度最长不能超过5
###注意:
char:如果固定长度为5,但是只输入了一个字符,会浪费空间,整体匹配时查询效率高。适合于有固定长度的字符串
vchar:可以节省空间,但是逐个字符匹配,查询效率较低。所以适合在一定范围内有变化长度的字符串。
 
可变类型:字段的最大长度约为6万5千
text:存储较大的文本数据。
blob:用来存储较大的二进制数据,例如图像等数据,不用指定长度或大小
###两者的区别:在排序或比较上存储的数据时,blob大小写敏感,而text不用区分大小写。
特俗类型:set,enmu
 
(3)日期和时间类型:
date:日期 yyyy-mm--dd 如:2021-01-01;
datetime:具体时间 yyyyy-mm-dd hh:mm:ss 如:2021-01-01 12:00:00
timestamp:时间戳 yyyymmddhhmmss 如: 20210101120000
year(m): m表示显示长度,默认为4,
 
 
三、常见的数据操作方式:
(1)CRUD:增删改查
C:create
R:retrieve --获取/查询
U:update
D:delete
(2)按照功能分类:
新建数据库——新建表——插入数据/更新数据/删除数据
下面的几类SQL语句就是帮组我们完成上面个的流程
DDL:(data definition languate:数据定语言)
创建库
创建表
修改表结构
DML:(data Manipulation languate:数据操纵言)
DQL:(data Query languate:数据查询言)
DCL:(data Controll languate:数据控制言)
 
四、SQL语句操作
1.SQL通用语法:
(1)SQL可以单行或者多行书写,以分号结尾(Sqlyog中可以不用写分号);
(2)可以使用空格和缩进来增加语句的可读性
(3)MySQL中不区分大小写,一般是关键字大写,数据库名、表名、列名小写。有代码美化功能
2.注释方式
(1)单行注释:
--注释内容
或者: #注释内容 (#为MySQL数据库中特有的单行注释方式)
(2)多行注释:
/*
注释内容
*/
 
3.对数据库的常见操作
(1)创建数据库
create database 数据库名称;
create database 数据库名称 character set utf8; (大写的字符虽然运行稍微快一点,但小写清晰。)
 
(2)切换数据库:
use 数据库名称;
 
(3)查看当前所使用的数据库
select database();
 
查看mysql中所有的数据库
show databases;
 
查看数据库定义信息(创建时的信息)
show create database 数据库名称;
 
(4)删除数据库和表
drop database 数据库名称;
 
(5)修改数据库
alter databse 数据库名称 character set utf8;
 
 
4.对表的常见操作
一个数据库中可以有多个表,表中又有字段,在建表的时候需要定义好字段(指定字段属性——字段类型+字段长度)
 
(1)创建表:
create table 表名(
字段名称1 字段类型(长度),
字段名称1 字段类型(长度) 注意最后一列不要加逗号
);
 
快速创建一个类似表(只复制表结构:字段,结构一样)
cteate table 新表名 like 旧表名;
 
(2)删除表
drop table 表名称;
drop table if exists 表名称;
 
(3)查看表结构
desc 表名称;
 
(4)修改表:
修改表名:
rename table 旧表名 to 新表名
添加字段:
alter table 表名 add 字段名称 字段类型(长度)
修改字段类型或长度
alter table 表名 modify 字段名称 字段类型(长度)
修改字段名称及类型
alter table 表名 change 旧字段名称 新字段名称 新字段类型(长度)
删除字段
alter table 表名 drop 字段名称;
 
5.DML进行数据的增删改操作
(1)插入数据
insert into 表名(字段名1,字段名2...) values(字段值1,字段值2...);
<1>插入部分字段需要加字段名,且值得部分按照字段名得顺序(对应);
<2>插入全部字段时,可以不用写字段名
 
(2)修改数据:
update 表名 set 字段1(列)=‘修改后的数据’ where 字段二(定位到具体行)=‘’
update 表名 set 字段1(列)=‘修改后的数据’ (将这一列全部进行修改)
 
(3)删除数据
delete from 表名 (删除整个表格,效率较低)
delete from 表名 where 字段名 =(<,>) 条件
truncate table 表名 当一个表中条数较多,又要做删除动作时delete会比较慢,可以选择这个方法。
 
6.DQL查询语句
select *(表示所有字段) from 表名;
select 字段名 from 表名;
select 字段名1 as 指定别名1,字段名2 as 指定别名2 from 表名;(as可以省略)
 
去重操作
select distinct 字段名 from 表名
 
select 字段名*2 from 表名 (对字段直接进行操作)
 
条件查询
select 字段名 from 表名 where 条件表达式
先取出表中的每条数据,满足条件的返回,不满足的就过滤掉。
7.运算符:
(1)逻辑运算符:
and: 同时成立
or: 成立一个即可
not: 不成立
 
(2)通配符:
%:代表所有字符
-:代表一个字符
select * from mytable where ename like '%张%';
select * from mytable where ename like '-张%'; 表示第二个字为张的
 
(3)比较运算符:
大于、小于、等于、大于等于等。其中不等于为:!= 或则可以写<>
beteween A and B :在A和B之间
in(集合):只要判定在里面就会显示
is null: 查询某一列为null
like '%张%':模糊查询
例如:
where age>=18;
where age between 18 and 30;
where name in('张三','李四')
where name like '%王%' name中有王这个字
where name like '王%' name中有王字开头
where name like '%王' name中有王字结尾
where name is nul;
where name is not nul; 不是空值
例如:
select * from mytable m where m.age>=18;
 

大数据学习之路——MySQL基础(一)——MySQL的基础知识与常见操作的更多相关文章

  1. 大数据学习之路又之从小白到用sqoop导出数据

    写这篇文章的目的是总结自己学习大数据的经验,以为自己走了很多弯路,从迷茫到清晰,真的花费了很多时间,希望这篇文章能帮助到后面学习的人. 一.配置思路 安装linux虚拟机--->创建三台虚拟机- ...

  2. 大数据学习之路(1)Hadoop生态体系结构

    Hadoop的核心是HDFS和MapReduce,hadoop2.0还包括YARN. Hadoop1.x的生态系统: Hadoop2.x引入YARN: HDFS(Hadoop分布式文件系统)源自于Go ...

  3. 大数据学习之路------借助HDP SANDBOX开始学习

    一开始... 一开始知道大数据这个概念的时候,只是感觉很高大上,引起了我的兴趣.当时也不知道,这个东西是做什么的,有什么用,当然现在看来也是很模糊的样子,但是的确比一开始强了不少. 所以学习的过程可能 ...

  4. 大数据学习之路之Hadoop

    Hadoop介绍 一.简介 Hadoop是一个开源的分布式计算平台,用于存储大数据,并使用MapReduce来处理.Hadoop擅长于存储各种格式的庞大的数据,任意的格式甚至非结构化的处理.两个核心: ...

  5. 大数据学习之路之HBASE

    Hadoop之HBASE 一.HBASE简介 HBase是一个开源的.分布式的,多版本的,面向列的,半结构化的NoSql数据库,提供高性能的随机读写结构化数据的能力.它可以直接使用本地文件系统,也可以 ...

  6. 大数据学习之路——环境配置(2)——mysql 在linux 系统上安装配置

    1.安装参考网址: https://blog.csdn.net/IronWring_Fly/article/details/103637801   设置新秘密: mysqladmin -u root ...

  7. 大数据学习之路-hdfs

    1.什么是hadoop hadoop中有3个核心组件: 分布式文件系统:HDFS —— 实现将文件分布式存储在很多的服务器上 分布式运算编程框架:MAPREDUCE —— 实现在很多机器上分布式并行运 ...

  8. 大数据学习之路又之从csv文件到sql文件的操作过程

    根据前几天的测试,简单的做个总结 csv文件的字段说明: 1.将csv文件上传到虚拟机中 在SecureCRT中点击,创建目录,直接把文件从本地拖拽进去 我放在了/linmob/data的路径下,所以 ...

  9. 大数据学习之路—环境配置——IP设置(虚拟机修改Ip的内在原因及实现)

    一.IP原理 关于IP我的理解, (1)主要去理解IP地址的作用,IP地址包括网络相关部分和主机的相关部分.即:用一段特殊的数据,来标识网络特征和主机的特征. 至于具体的技术实现,日后可以慢慢体会和了 ...

随机推荐

  1. Django 模板(Template)

    1. 模板简介 2. 模板语言 DTL 3. 模板继承 4. HTML 转义 5. CSRF 1. 模板简介 作为 Web 开发框架,Django 提供了模板,可以很便利的动态生成 HTML.模版系统 ...

  2. SpringBoot的旅游项目——day01(学习记录附赠源码)

    前言 学完SpringBoot的项目,Github地址,欢迎start,一起学习! 第一天 一.技术选型 基于SpringBoot+VUE的前后端分离的仿照马蜂窝的项目. 后端选用的技术为: Spri ...

  3. SQL 查询的执行顺序

    SELECT语句的完整语法如下 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN & ...

  4. Shell-日志按天切割

    1.创建shell脚本: #!/bin/bash apphome=/apppath if [ ! -d $apphome ]; then exit 0 fi cp $apphome/app.log $ ...

  5. Thinkphp5之laypage分页插件的实现

    //一下是laypage所用到的 js <script type="text/javascript" src="__STATIC__/lib/laypage/1.2 ...

  6. Windows系统之间文件互传

    1)利用Windows自带的文件共享服务 本次试验以Win7为服务器端,win10为客户端 1.确保Win7服务端开启对应的服务及开放相应的端口号 进入命令行界面,输入netstat -an,查看44 ...

  7. POJ1201基础差分约束

    题意:       有一条直线,直线上做多有50000个点,然后给你组关系 a b c表明a-b之间最少有c个点,问直线上最少多少个点. 思路:        a-b最少有c个点可以想象a到b+1的距 ...

  8. SEO优化技术的简介

    严格来讲,seo技术没有所谓的严格的黑帽与白帽之分.即使是正常的301重定向,在某些情况下也能作用于黑帽seo技术.我们能判定一个人是真正的好人还是坏人么?答案是否定的.之所以解密所谓的黑帽seo,是 ...

  9. Python 爬虫与HTTP协议简介

    爬虫的实际例子: 搜索引擎(百度.谷歌.360搜索等). 伯乐在线. 惠惠购物助手. 数据分析与研究(数据冰山知乎专栏). 抢票软件等. 什么是网络爬虫: 通俗理解:爬虫是一个模拟人类请求网站行为的程 ...

  10. [CTF]跳舞的小人

    [CTF]跳舞的小人 来自夏洛克福尔摩斯在<归来记>中侦探案件使用的一种加密方式. 对应的明文是 AT ELRIGES (住在埃尔里奇) COME ELSIE (来吧 埃尔茜) NEVER ...