mysql的操作

修改mysql的密码

在这里插入图片描述

mysql理论

1,数据库分为

1.1关系型数据库:(RDBMS)

Oracle: 在以前的大型项目中使用,银行,电信等项目
(奥瑞扣)
MySQL: web时代使用最广泛的关系型数据库
SQLite: 轻量级数据库,主要应用在移动平台
Microsoft SQL Server :在微软的项目中使用
1.2关系型数据库管理系统分为:
1.1.1,客户端:客户端通过SQL语句查询服务端的数据。
1.1.2,服务端

非关系型数据库(又称NoSQL):

MongoDB
Redis

2,SQL语言的主要分类

在这里插入图片描述
注:DQL 、DML、 DDL 重点
SQL语言不区分大小写,以分号结尾。

3,关系型数据库中核心元素

数据行(记录)
数据列(字段)
数据表(数据行、数据列的集合)
数据库(数据表的集合)

4,数据库的特点

现代:
持久化储存、读写速度极高、保证数据的有效性、
对程序容易扩展
传统:
不易保存、难以拷贝、查找不易

5,MysQL介绍

MysQL是一个关系型数据库管理系统,由瑞典MysQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品。
注:
在这里插入图片描述

MySQL的默认引擎: Innodb (首字母大写i)
特点:
1,开源,免费。
2,支持大型数据库。
3,为多种语言提供接口。
4,标准的SQL语句。
5, 在这里插入图片描述

mysql命令使用

数据类型

1,数字类型:

int 整数、 decimal 小数、
decimal(4,1) 表示共存4位数,小数占1位。如(300.1)

2,字符串类型:

char() 固定长度, char(3) 如: ‘ab ’还有一个字符的位置会自动补充空格进去
varchar 可变长度 varchar(3) 如:‘ab’ 还有一个位置会被释放
text 大文本类型 超过4000字符

3,日期类型:

在这里插入图片描述
注:插入日期 一定要加 “ ”

4,枚举类型:

 enum(“男” , ”女” , ”人妖”)

5,布尔类型

tinyint

注:一个汉字占多少长度与编码有关:
UTF - 8:一个汉字=3个字节
GBK:一个汉字=2个字节

字段约束

1,主键 primary key
2,自增 auto_increment
3,无符号约束 unsigned
4,非空 not null
5,唯一 unique 字段内容不能重复
6,默认 default (空格,直接写值)
7,外键 foreign key (福瑞针)
8,关联 references

基础操作

1,建立连接: mysql -uroot -ptest (登录操作,-u后面跟用户,-p后面跟密码)
2,创库: create database 库名 charset=utf8; 库名不能是纯数字
3,查库: show databases;
4,删库: drop database 库名; 删表:drop table 表名;
5,退出: quit \ exit
6,使用库: use 库名;
7,查指定的库: show create database 库名;
8,查看当前使用的数据库:select database();
9,查看mysql版本: select version();
10,查看当前时间: select now();

表的操作

基本操作

1,创建表
unsigned 无符号约束
在这里插入图片描述
在这里插入图片描述
外键
作用:保持数据的一致性和完整性
添加 的两种方式:
1,在创建表的时候添加(外键字段类型和要关联的主表一致)

foreign  key(子表的关联主表的字段)  references  主表(主键);

在这里插入图片描述
2,在创建表之后添加

alter  table  子表表名  add  foreign  key(子表的字段)  
references  主表(主键);  

在这里插入图片描述
注意:
1.哪个表里有外键,哪个表就是子表
2.外键关联的必须是主表的主键
3.子表里必须创建一个字段用来存放外键,字段的类型必须和主表的主键类型一致
4.在两张表创建成功后再添加数据
删除外键
1,要知道外键名称
如何查看外键名称
show create table 表名;
2,删除语句
alter table 子表名 drop foreign key 外键字段名称;
在这里插入图片描述:删除表之前必须删除外键

2,查看表的创建语句:show create table 表名;
3,查看表结构: desc 数据表的名字;
4,查表: show tables;
5,查表的所有数据:select * from 表名;
6,起别名:selelct name as '姓名',high as ‘身高’ from students;
7,给表插入数据:insert into 表名 values(...);
在这里插入图片描述

修改表–字段的修改

在这里插入图片描述

对表名重命名

alter  table  旧表名  rename  to  新表名;

排序

select  *  from  表名  order  by  字段名  asc/desc;

在这里插入图片描述

表数据的增,删,改,查

1,增
全列插入:insert into 表名 values(),(),();
(#为空的数据可以写null)
在这里插入图片描述
部分插入:insert into 表名(列名,列名) values(z,z),(z,z);
2,删
在这里插入图片描述
在这里插入图片描述
3,改

update  表名  set  列名=新值  where  条件;

在这里插入图片描述
注:无条件默认全部修改。

4,查

select  *  from  表名

比较运算符:
例:> , >= , < , <= , = , !=
逻辑运算符:
and :两个条件同时成立
or :两份条件满足一个就可以
not : 呈现相反的数据

模糊查询:

select  *  from  表名  where  列名  like  条件;

在这里插入图片描述

范围查询

连续范围: between…and…
在这里插入图片描述

非连续范围: in
在这里插入图片描述
空判断查询
判断为空使用:is null
判断非空使用:is not null
在这里插入图片描述
相反的 :not
在这里插入图片描述

条件优先级

1,小括号 > not > 比较运算符 > 逻辑运算符
2,and > or 如果希望or比and优先 加()

聚合函数

在这里插入图片描述

  1. count() 计算总行数
  2. max(列名) 计算最大值
  3. min() 计算最小值
  4. avg() 计算平均值
  5. round(avg(),2) 平均值保留2位小数
  6. sum() 求和

消除重复行 diatinct 字段(迪斯in克特)

在这里插入图片描述

分组

1.把内容一样的放到一起
group by·

select 字段名 from 表名 group by 要分组的字段名;

在这里插入图片描述
2,group _concat (name) 统计每个分组指定字段的信息集合,每个信息之间使用逗号进行分割
在这里插入图片描述
3,having
在这里插入图片描述

分页查询

limit 放在代码最后面写
语法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:n是第几页,m是每页多少行,

连接查询(连接多张表)

内连接
在这里插入图片描述
左连接
在这里插入图片描述
右连接
在这里插入图片描述
from前面的字段(可以是*,字段)

三表联查

select * from a inner join b on a.字段=b.字段 inner join c on a.字段=c.字段;

自连接
1,自连接查询必须起别名。
2,自连接查询就是把一张表模拟成左右两张表,然后进行连表查询。
在这里插入图片描述

注:自连接必须取别名

子查询

在一个select语句中,嵌套了另外一个select语句,那么被嵌套的select语句称为子查询语句,那么外部那个select语句则称之为主查询。
在这里插入图片描述
在这里插入图片描述
例:
在这里插入图片描述

视图

1,一个select 查询数据后返回的结果集,
是一张虚拟的表,会随着基本的数据改变而变化,
适用于经常查询的表。
创建语句:
在这里插入图片描述
2,查看视图的语句
show tables;
3,使用视图语句
select * from 视图名;
4,删除语句
drop view 视图名;
5,作用:
1,方便查询,让数据更加清晰
2,提高重用性,像一个函数一样
3,提高安全性,可以针对不同用户
4,对数据库重构,却不影响数据的执行

事务

事务是一个操作序列,要么不执行,要么一起执行。
四大特性:
1,一致性
2,原子性
3,持久性
4,隔离性

事务的开启:
begin / start transaction
事务的提交:
commit
回滚:
rollback

索引

目的:提高查询速率
创建索引:
create index 索引名称 on 表名(字段名称);
删除索引:
drop index 索引名称 on 表名;
查看索引
show index from 表名;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值