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复习

目录

一、sql语句

创建数据库?

查看、删除数据库

创建表

修改表

二、CRUD语句

Insert(添加)语句

upadate(更新)语句

delete(删除)语句

select(查找)语句

where子句中经常使用的运算符

三、合计/统计函数

count:返回行的总数

sum:返回满足where条件的行的和,一般用在数值列

avg:返回满足where条件的一列平均值

max/min:返回满足where条件的一列的最大/最小值

使用group by子句对列进行分组

使用having子句对分组后的结果进行过滤

like操作符

分页查询

四、Mysql常用数据类型(列类型)

五、字符串、数学、时间日期相关函数

六、MySQL表外连接

七、MySQL约束

7.1 primary key(主键)

7.2 not null(非空)

7.3 unique(唯一)

7.4 foreign key(外键)

7.5 check

八、自增长

九、索引

9.1 索引的类型? ? ??

9.2 索引使用

十、MySQL事务

10.1?事务和锁

十一、Mysql管理

11.1 创建用户

11.2?删除用户

11.3 用户修改密码

11.4 给用户授权

11.5 权限生效指令


一、sql语句

创建数据库?

create database 数据库名 character set utf8 collate utf8_bin

character:指定数据库采用的字符集,不指定默认utf8

collate:指定数据库字符集的校对规则(utf8_bin[区分大小写]、utf8_general_ci[不区分大小写),默认是utf8_general_ci

查看、删除数据库

显示当前数据库的所有数据库语句:show databases

显示数据库创建时定义信息语句:show create database 数据库名

删除数据库:drop database 数据库名

创建表

create table 表名(

? ? ? ? field1 datatype not null default xx,

? ? ? ? .......................)

character set 字符集 collate 校对规则 engine 存储引擎

field:指定列名

datatype:指定列类型(字段类型)

not null default:给个默认值

character set:如不指定则为所在数据库字符集

collate:如不指定则为所在数据库校对规则

修改表

使用alter table语句追加,修改或删除列的用法

二、CRUD语句

Insert(添加)语句

insert into 表名 列名(属性)?values(值);

upadate(更新)语句

update 表名 set 列名 where ......

set子句:要修改哪些列和要给予哪些值

where子句:应更新哪些行。如果没用where子句则更新所有的行

delete(删除)语句

delete from 表名 where ......

where子句:应更新哪些行。

select(查找)语句

select [distinct]?* from 表名 where name = '字段'

*:表示所有列

from:表示指定查询哪张表

distinct可选,指显示结果时,是否去掉重复数据

使用表达式对查询的列进行运算

select * 列名 from 表名

在select语句中可使用as语句

select 列名 as 表名 from 表名

where子句中经常使用的运算符

使用order by子句排序查询结果

select 列名1,列名2

????????from 表名;?

? ? ? ? order by 列名 asc/desc

orderby指定排序的列,排序的列既可以是表中的列名,也可以是select语句后指定的列名

asc:升序[默认];desc:降序

三、合计/统计函数

count:返回行的总数

select count(*)?from 表名

? ? ? ? where .......

sum:返回满足where条件的行的和,一般用在数值列

select sum(列名) from 表名

? ? ? ? where......

avg:返回满足where条件的一列平均值

select avg(列名) from 表名

? ? ? ? where ......

max/min:返回满足where条件的一列的最大/最小值

select max(列名) from 表名

? ? ? ? where ......

使用group by子句对列进行分组

select 列名1,列名2...from 表名

? ? ? ? group by 列名

使用having子句对分组后的结果进行过滤

select 列名1,列名2 from 表名

? ? ? ? group by 列名

? ? ? ? having ......

like操作符

select * from 表名

? ? ? ? where ..... like ' XX%?'

like:%表示0到多个任意字符

? ? ? ? _表示单个任意字符

分页查询

select * from 表名

? ? ? ? order by 列名

? ? ? ? limit 每页显示记录数*(第几页-1),每页显示记录数

  • union all:该操作符用于取得两个结果集的并集。当使用该操作符时,不会取消重复
  • union:该操作符与union all相似,但是会自动去掉结果集中重复行

四、Mysql常用数据类型(列类型)

详细查看Mysql攻略(一)

五、字符串、数学、时间日期相关函数

详细查看Mysql攻略(二)

六、MySQL表外连接

SELECT .....

? ? ? ? FROM 表1?left / right?join 表2

? ? ? ??on?条件

【表1就是左表,表2就是右表】

?左外连接(如果左侧的表完全显示我们就说是左外连接)

?右外连接(如果右侧的表完全显示我们就说是右外连接)

七、MySQL约束

7.1 primary key(主键)

字段名? 字段类型??primary key

用于唯一的标识表行的数据,当定义主键约束后,该类不能重复

  • 细节说明

? ? ? ? 1. primary key不能重复而且不能为null

? ? ? ? 2. 一张表最多只能有一个主键,但可以是复合主键

? ? ? ? 3. 主键的指定方式有两种

? ? ? ? ? ? ①直接在字段后面指定:字段名 primary key

? ? ? ? ? ? ②在表定义最后写 primary key(列名)

? ? ? ? 4. 使用desc 表名,可以看到primary key的情况

7.2 not null(非空)

字段名 字段类型?not null

如果在列上定义了not null,那么当插入数据时,必须为列提供数据

7.3 unique(唯一)

字段名 字段类型?unique

当定义了唯一约束后,该列值是不能重复的

  • 细节说明

? ? ? ? 1. 如果没有指定not null,则unique字段可以有多个null

? ? ? ? 2. 一张表可以有多个unique字段

7.4 foreign key(外键)

用于定义主表和从表之间的关系:外键约束要定义在表上,主表则必须具有主键约束或是unique约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或是为null

foreign key(本表字段名) ?references

主表名(主键名或unique字段名)

  • 细节说明

? ? ? ? 1. 外键指向的表的字段,要求是primary key或者是unique

? ? ? ? 2. 表的类型是innodb,这样的表才支持外键

? ? ? ? 3. 外键字段的类型要和主键字段的类型一致(长度可以不同)

? ? ? ? 4. 外键字段的值,必须在主键字段中出现过,或者为null【前提是外键字段允许为null】

? ? ? ? 5. 一旦建立主外键的关系,数据不能随意删除了

7.5 check

用于强制行数据必须满足的条件,假定在sal列上定义了check约束,并要求sal列值在1000~2000之间,如果不再1000~2000之间就会提示出错

提示:oracle和sql server均支持check,但是mysql5.7目前还不支持check,只做语法校验,但不会生效

列名? 类型 check?(check条件)

user 表

八、自增长

字段名 ?整型 ?primary key auto_increment

添加 自增长的字段方式

inser into xxx(字段1,字段2.....)values(null,'值' ....);

inser into xxx(字段2.....)values('值1','值2' ....);

inser into xxx values(null,'值1',....);

  • 使用细节

1. 一般来说自增长是和primary key配合使用的

2. 自增长也可以单独使用【但是需要配合一个unique】

3. 自增长修饰的字段为整数型的(虽然小数也可以但是非常非常少这样使用)

4. 自增长默认从1开始,可以通过如下命令修改:alter table 表名 auto_increment = 新的开始值

5. 如果添加数据时,给自增长字段(列)指定的有值,则以指定的值为准,如果指定了自增长,一般来说就按照自增长的规则来添加数据
?

九、索引

9.1 索引的类型? ? ??

????????1. 主键索引,主键自动的为主索引(类型Primary key)

? ? ? ? 2. 唯一索引(UNIQUE)

? ? ? ? 3. 普通索引(INDEX)

? ? ? ? 4. 全文索引(FULLTEXT),一般开发不适用mysql自带的全文索引,而是使用:全文搜索Solr和ElasticSearch(ES)

9.2 索引使用

  • 添加索引

create [unique] index index_name on table_name (col_name[(length)]) [ASC| DESC],..);

  • 添加主键索引

alter table?表名 add primary key(列名,.....);

  • 删除索引

drop index index_name on table_name;

  • 删除主键索引

alter table table_name drop primary key

  • 查找索引

show index(ex) from table_name;

show keys from table_name;

desc table_name;

十、MySQL事务

10.1?事务和锁

当执行事务操作时(dml语句),mysql会在表上加锁,防止其它用户改表的数据

mysql数据库控制台事务的几个重要操作

1. 开始一个事务:start transaction

2. 设置保存点:savepoint

3. 回退事务:rollback to

4. 回退全部事务:rollback

5. 提交事务,所有的操作生效,不能回退:commit

十一、Mysql管理

11.1 创建用户

create user? '用户名'@'允许登录位置' identified by '密码'

说明:创建用户,同时指定密码

11.2?删除用户

drop user '用户名'@'允许登录位置'

11.3 用户修改密码

①修改自己的密码

set password = password('密码');

②修改他人密码(需要有修改用户密码的权限)

set password for '用户名'@'登陆位置' = password('密码');

11.4 给用户授权

grant 权限列表 on 库.对象名 to?'用户名'@'允许登录位置'【identified by '密码'】

11.5 权限生效指令

如果权限没有生效,可以执行下面命令

FLUSH PRIVILEGES;

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

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