文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL基础篇-MySQL 命令大全

2023-09-17 19:25

关注

当然是为我的第一位粉丝->怡宝 准备的一篇MySQL咯
在这里插入图片描述
要看进阶篇的小伙伴点着哦!!!!
MySQL进阶篇 - 索引篇

1.启动MySQL,备份数据:

1.1启动MySQL服务:

1.2 登录MySQL客户端

1.2.1 登录本地MySQL服务
1.2.2 远程登录别人的MySQL服务(需要设置配置文件)

1.3 退出MySQL客户端

1.4 备份与执行数据库文件

在这里插入图片描述

2.数据库术语及操作

2.1.DDL 操作数据库和表

(Create,Retrieve(查询),update,Delete)操作数据库和表

2.1.1 操作数据库

2.1.2 操作数据表

创建表:
create table tablename(字段1 数据类型 约束1 约束2    字段2 数据类型 约束…);如 :create table employee(id int primary key auto_increment, #id主键且自增name varchar(10) not null,sex varchar(5) not null,department varchar(30) not null)auto_increment=2; set @@ auto_increment_increment=3
  1. 设置自增 auto_increment=n ,从n开始。
  2. 设置自增 set @@ auto_increment_increment=m ,步长为m。

2.1.3 操作数据列

2.2 DDL 数据进行增删改查

DML(增删改查表中的数据)对数据进行增删改查

2.3 DQL 查询数据

2.3.1 基本语法语法:

select 字段1,字段2....(字段列表)from 表一,表二....(表名列表) where 条件1,条件2...(条件列表) group by 分组字段 having 分组之后的条件 order by  按什么字段排序 limit 6 分页限定
1.select sex,avg(math) from stu where math>70 group by sex;(分数>70分(分组之前))2.select sex,avg(math),count(id) from stu where math>70 group by sex having count(id);(分数>70分 人数>2(分组之后))

2.3.2 连接查询

外连接:

外连接查询中参与连接的表有主从之分,已主表的每行数据匹配从表的数据列,将符合连接条件的数据直接返回到结果集中,对不符合连接条件的列,将被填上null值再返回到结果集中。

2.4 DCL 授权,权限和安全访问

在这里插入图片描述

3. 约束:

对表中的数据进行限定,保证数据的正确性,有效性,完整性

基本语法:
  1. 表创建好了: alter table 表名 modify 列名 类型 约束;
  2. 表还没创建好,对于字段的约束: id int 约束(可以是 primary key auto_increment)

在这里插入图片描述

4.事务

如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败

例:

start transaction....(业务逻辑)commit

若成功,则提交到数据库(commit)
失败,就回滚回去(rollback)

事务4大特征:

  1. 原子性(不可分割的最小操作单位)
  2. 持久性(事务提交或回滚,数据库持久化保存数据)
  3. 隔离性(事务之间相互独立)
  4. 一致性(事务操作前后总量不变)

隔离:多个事务之间是隔离的,相互独立的,但如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决问题

多线程读取同一数据存在问题:

  1. 读脏:一个事务,读取到另一个事务没有提交的数据
  2. 不可重复读(虚读):在同一个事务中,两次读取到的数据不一样
  3. 幻读:一个事务操作(DML)数据表中的所有记录,另一个书屋添加一条数据。则第一个事务查询不到自己的修改

隔离级别 1->4 安全性越高 效率越低:

  1. read uncommitted (读未提交) 产生1,2,3的问题
  2. read committed 产生2,3的问题
  3. repeatable read (可重复度)产生 3的问题
  4. serializable (串行化,把表锁上) 解决所有问题

查询数据库数据隔离级别:select @@transaction_isolation;
设置数据库隔离级别:set global transaction isolation level 隔离级别;(需重新启动mysql)

乐观锁:

它总认为不会出现问题,无论干什么都不去上锁,如果出现问题,再次更新值测试

乐观锁实现方式(底层为CAS)步骤如下:

  1. 取出记录时,获取当前version
  2. 更新时,带上这个version
  3. 执行更新时, set version = newVersion where version = oldVersion
  4. 如果version不对,就更新失败

悲观锁:

它总认为会出现问题,无论干什么都会上锁,再去操作

5. 索引

索引是帮助MySQL高效获取数据数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中) 数据量大时减少查询时间效果明显

索引名命名格式为 :表名 _字段名

5.1索引的操作:

创作不易,看完小伙伴来波3连呗

来源地址:https://blog.csdn.net/The_xiaoke/article/details/124444044

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯