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学习(未完)

mysql客户端登录及参数

mysql -uroot -p -P3306
-p接端口号
mysql -uroot -p -h
-h代表主机,不写默认登录本机,登录别的电脑需要配置远程登录
客户端退出:exit,\q,(windows下ctrl+c可以退出)

密码相关操作

如何修改账户密码?
从5.7开始mysql强制要求修改密码再操作!!!
在这里插入图片描述

mysql数据库和表的操作

sql(结构化查询语言)
分为三大类

DDL(数据定义语言)

create
drop

DML(数据库 操作语言)

CRUD(增删改查)
	DQL(数据查询语言)
		select语言

DCL(数据控制语言)

grant
revoke

数据库对象(DB):

show databases; # 显示当前数据关系系统中所有的数据库
在这里插入图片描述
这4个数据库时官方内置的数据库,他们有特殊作用的,不要随意的修改

创建数据库

create	指令的使用
create	[user|database|table......][其他条件]
创建数据库:cretae database 数据库名称		创建一个属性全部默认的数据库MYSQL默认编码时Latin1编码
cretae database 数据库名称	default charset=utf8mb4;创建数据库确定编码
数据库里面有表,存储真正的数据-->
use 数据库名 进入数据库
show table	查看表

删除数据库

drop{[user|database|table…} option
drop datebase 数据库名称

表(table)

创建表:
create table 表名称(

			字段一 类型 [约束条件.....],	
			字段二 类型 [约束条件.....]					

);

表的约束

约束条件:
主键约束:用来做唯一标识符 primary key 一般不关心主键的值,建议主键自增id int primary key auto_increment,用来区分每一条记录。关系型数据库必须有主键。
外键约束:指定和约束多张表的关联关系
非空约束:not null
唯一约束:不能重复,可以为空
默认值约束:如果在插入数据时没有给值,则默认为空,如果给了默认值则为给的值。
检查约束:8.0之前不生效,可以用枚举enum范围用触发器
desc 表名---->描述表
select * from表名 —>查询表的所有数据
插入数据
insert into 表名称[字段一…字段n] values (值1…值n);

删除表

drop table 表名

查看表

show columns from 表名称
show tables|from 数据库名][like wild];
显示当前数据库已有的数据表的信息【结构和创建信息】

修改表的结构

以及存在了一张表,只是这表不能满足我们的需求
在这里插入图片描述

alter table 表名称 add|drop|modify|change 条件
add 添加字段
drop 删除字段
modif 更改字段的条件【主键条件,是否为空,默认值】
change 旧名字 新名字 条件 修改列的名字
rename 旧名字 新名字修改表的名字

复制表

复制表结构 creat table name like name
插入数据:
单个数据插入

INSERT INTO table_name (att_1, att_2, ..., att_n)

把查出来的数据插入到另一张表里去(结构需要相同)

insert	into	目标name	select	*	from		工具表

create table 目标name select * from 工具表name
结构内容一起复制(*可以换成name,id等指定复制列)


### 远程登录
MYSQL默认拒绝远程登录!!!!
#### 如何开启远程登录
MYSQL.user表下的host字段时用来规定客户端登录的
	10.10.10.10			固定客户端ip
	%							任意ip地址
	10.30.40.%			规定了某一范围内的ip地址
	

```sql
user mysql;
	update user set host='%' where user='root';
刷新权限或重启mysql服务
flush	privileges;

mysql的数据类型

数值型:
整数:smallint ,int,bigint
浮点数:float,double,decimal(num1(共多少位),num2(小数展示几位))
位(bit):二进制的位,只有0,1现在以及不怎么用了
字符串: char(长度) 定长 没有得补上
varchar(长度) 定长 智能
sql server中还有nchar(长度),nvarchar(长度)n表示Unicode编码
Oracle中有varchar2(长度)本质和varchar一样
文本字符串(大文本):
text
日期:再数据库中,数字,字符串,日期可以自己完成转换。

在这里插入图片描述

自带数据库

在这里插入图片描述
在这里插入图片描述

授权和撤销授权

在这里插入图片描述
移除权限在这里插入图片描述

DML语句

CRUD,增删改查

  • 增加(INSERT)
insert into	table_name[(字段一,字段n)]	values(值一,值n)

replace
是insert和update 的结合体,如果替换的数据不存在该表中,则使用insert如果存在则使用update(如果重复就相当于删除后再添加)

  • 删除(DELETE)
delete	from	table_name	全部清空
delete	from	table_name	where条件		建议通过主键删除

delete删除是经过数据字典的。ID不会清除
truncate删除
truncate 表名字 ----非常具有风险的操作不经过数据字典,删除后自增的ID会从新开始

  • 更新(update)

update table_name set 字段1=新值1 where条件

  • 查询(select)

select * from table_name 查询全表,很有风险因为不确定表内容多少,
select 字段1,字段2… from table_name
select 字段1,字段2… from table_name where 条件查询
运算符(面试可能会问)
在这里插入图片描述

简单的条件查询

  • 等值匹配
where id=1<=>(该符号,1.等价于=2.可以当作is可以判断null)
	不等值匹配		
	where	id!=1;where	id<>1
  • 范围匹配

    <> >= <=…等等

  • 空置判断:

    sql中空值判断不能用=要用is
    is null;
    is not null
    <=>

  • 逻辑运算符

    and
    or
    not

  • 范围查询:

select		*	from	t_name	where	age	between	15	and	30			[num1,num2]闭区间
	
  • 多个值的列举

    可以通过or进行列举

select		*	from	t_name	where id	(也可以加NOT不在值内)in13567
  • 查询时去重
select 	distinct	age	from	t_name
  • 别名(alias)
 select 	age	as	别名,gender	as	别名		from
  • 模糊查询
    like 不是等于
    % 任意匹配
    _ 匹配一个位—第几位是什么
    在这里插入图片描述

复杂的条件查询

分组:
分组时指值相同的值当作一个组
分组统计
分组统计时参与查询的字段必须时分组的字段
count()函数完成统计

count(column):null数据不统计在这里插入图片描述
group by----分组配合聚合函数有很多作用
在这里插入图片描述
通过性别分组,查询人数大于三人的组—where和(过滤)Having筛选
在这里插入图片描述
排序:要求按照年龄从小到大排序
ORDER BY默认升序—asc升序,DESC降序
在这里插入图片描述
分页:将大量的数据,分批次展示—limit(截取) 关键字
limit num —截取多少数据
limit num1,num2 ----num1起始位置,num2长度(每页的数据)
在分页的时候,存在四个变量
当前页:pageNow 默认都是第一个页面
每页数量:pageSize 由程序员决定
总页数:allCount 查询出来,select count(*)
总页数:pageCount 算出来
在这里插入图片描述

查询语句,复杂时候,可能存在,where条件,分组,过滤,排序,分页
在这里插入图片描述
为什么需要将数据存在多张表:
如果将数据直接存在一张表中,字段如果部署于同一类信息就会产生大量数据冗余(重复)
外键:用来描述多张表之间关联关系

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

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