学习sql,你需要知道这些

这篇具有很好参考价值的文章主要介绍了学习sql,你需要知道这些。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据库的分类

开发式数据库

MySql
Oracle
PostgreSql

非开发式数据库

MogoDB
Redis
DynamoDB
Elaticsearch

事务

什么是事务

事务就是由单独单元的一个或多个sql语句组成,在这个单元中,每个sql语句都是相互依赖的。而整个单独单元是作为一个不可分割的整体存在,类似于物理当中的原子(一种不可分割的最小单位)。

往通俗的讲就是,事务就是一个整体,里面的内容要么都执行成功,要么都不成功。不可能存在部分执行成功而部分执行不成功的情况。

事务的四种特性

  • 原子性:事务是一个不可分割的最小工作单位。所有操作要不全部成功要不全部失败。
  • 一致性:执行前后的状态要保持一致。
  • 隔离性:并发的状况下,事务直接是相互隔离的,一个事务的执行不能受其他事务的干扰。
  • 持久性:事务一旦提交后,数据库中的数据永久保存。接下来的操作或故障对其没有影响。

死锁

什么是死锁

多个进程运行时争夺资源造成的僵局

死锁的四个条件

  • 互斥:进程要求对所占用资源进行排他性控制。
  • 请求和保持:当进程因请求资源而阻塞时,对已获得的资源保持不放。
  • 不剥夺:进程获得的资源在未使用完之前,不能剥夺
  • 循环等待:在发生死锁时,必然形成一个进程-资源环型链

如何处理死锁

预防死锁

破坏死锁的四个条件任意

避免死锁

银行家算法

检测死锁

设置检测机构,发现后里面清除。

解除死锁

资源剥夺
进程回退
撤销进程

什么是navicat

是一套可以建立多个数据库连接的数据库管理工具,支持创建管理维护数据库。

SQL语句

对数据库的操作

  • 查询所有数据库

      show databases
    
  • 创建数据库

      create database 数据库名称
    
  • 删除数据库

      drop database 数据库名称
    

对表的操作

  • 查看表

      show tables
    
  • 创建表

      create table 表名
    
  • 删除表

      drop table 表名
    
  • 查看表结构

      desc表名
    
  • 修改表名

      alter table 表名 rename to 新表名
    
  • 修改数据类型

      alter table 表名 modify 列名 新数据类型
    
  • 修改列名和数据类型

      alter table 表名 change 列名 新列名 新数据类型
    
  • 删除列名

      alter table 表名 drop 列名
    
  • 添加一列

      alter table 表名 add 列名 数据类型
    

对表里数据进行增删改查

  • 增加数据

      insert into 表名(列名,列名)values(列表数据,列表数据)
    
  • 修改数据

      update 表名 set 列名=列名的值 where 条件
    
  • 删除某条数据

      delete from 表名 where 条件
    
  • 基础查询

      selete 字段 from 表名
    
  • 模糊查询

      select from 表名 where 'name' like='_'     #  _任意单个字符   %任意多个字符
    
  • 条件查询

      select from 表名 where 条件
    
  • 排序查询

      select 字段 表名 order by  asc/desc (升序/降序)
    
  • 聚合函数

      select 聚合函数 from 表名 where 
      # 平均数 avg              总和 sum       统计个数 count   最大数 max  最小值 min
    
  • 分组查询

      selete 字段 from 表名 group by 分组条件
    
  • 分页查询

      select * from 表名 limit 1,2(开始索引,查询条数)
    

数据库的内外连接

内连接

inner join on 返回两个表的交集

	select * from 表名 表别名 inner join 表名 表别名 on 表别名.列名=表别名.列名

左外连接

left join on 左表全显示,右表显示交集部分,不足地方显示null

	select *from a_table a left jion b_table b on a.name=b.name

右外连接

right join on
select *from a_table a right jion b_table b on a.name=b.name

表拼接

拼接两个表的数据

  • union 重复去重

      select class from table_a union select class from table_b
    
  • union all 不去重文章来源地址https://www.toymoban.com/news/detail-469609.html

      select class from table_a union all select class from table_b
    

where 和 having的区别

  • where用于过滤数据行,查询条件中不可以使用聚合函数,分组前过滤数据。
  • having用于过滤分组数据,查询可以使用聚合函数,分组后过滤数据。

到了这里,关于学习sql,你需要知道这些的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库:SQL分类之DQL详解

    select            字段列表 from           表名列表 where           条件列表 group by           分组字段列表 having           分组后条件列表 order by           排序字段列表 limit            分页参数 基本查询 条件查询(where) 聚合函数(count、max、min、avg、sum ) 分组

    2024年04月15日
    浏览(36)
  • SQL语言的分类:DDL(数据库、表的增、删、改)、DML(数据的增、删、改)

    数据库管理系统(数据库软件)功能非常多,不仅仅是存储数据,还要包含:数据的管理、表的管理、库的管理、账户管理、权限管理等。 操作数据库的SQL语言,基于功能,划分为4类: 1、数据定义:DDL(Data Definition Language) 2、数据操纵:DML(Data Manipulation Language) 3、数据

    2024年02月09日
    浏览(43)
  • 【数据库·关系数据库标准语言SQL·学习笔记】Microsoft SQL Server数据库的建立和删除

    开发环境:SQL Server Management Studio(SSMS) 利用数据库对象资源管理器创建数据库 (1)右击对象资源管理器中的数据库,选择新建数据库 (2)在新建数据库界面输入数据库名称 ,并选择确定 利用CREAT DATABASE命令在SSM工具的新建查询中创建数据库 1.语法格式 CREATE DATABASE dat

    2024年02月08日
    浏览(56)
  • 数据库学习-常用的SQL语句

    背景: 汇整一下自己学习数据库过程中常见的题目及语句。 一.实例分析题     二.简单SQL查询: 三.复杂SQL查询 有3个表(15分钟):(SQL) Student 学生表 (学号,姓名,性别,年龄,组织部门) Course 课程表 (编号,课程名称) Sc 选课表 (学号,课程编号,成绩) 表结构如下:

    2023年04月21日
    浏览(46)
  • 项目管理工具的必备功能,你需要知道这些

    一个项目有很多事情需要计划、控制和管理,因此需要使用项目管理软件来对项目进行管理,除了制定计划、进度跟踪等之外,项目管理软件还应该有这些功能: 甘特图:帮你规划任务。比如说甘特图就可以设置多级任务、耗时和分配给团队成员。 一个项目要么没有好的计

    2024年02月03日
    浏览(41)
  • SQL学习笔记——创建数据库和表

    一、创建数据库和表 1、创建数据库 打开 SSMS(Microsoft SQL Server Management Studio)→新建查询→输入如下图的sql语句→点击执行 成功后可以看到左侧数据库中成功创建了“CPXS”产品销售数据库。对应路径下新增数据库文件。 说明: 主数据库文件扩展名为.mdf,表示Main Data File;

    2024年02月01日
    浏览(48)
  • 如何在 Blender 中更快地渲染?这些技巧需要知道

    Blender 是一款开源 3D 建模和动画软件,动画艺术家、产品设计师和游戏创作者经常使用。Blender 不仅允许用户创建 2D 对象或角色并对其进行动画处理以获得 3D 模型,而且 Blender 背后还有强大的艺术家和计算机科学家社区,不断改进代码以提供功能强大的软件,而无需高昂的价

    2024年02月15日
    浏览(66)
  • 数据库学习笔记-----SQL查询语句和代码演示

    SQL不区分大小写,本文是邹兆年老师的课件和课堂的部分内容总结,部分比较细的内容请看课件 Db笔记(1).pdf 数值型: 整型:INT/SMALLINT/BIGINT        4个字节/两个字节/八个字节 浮点型:NUMERIC/DECIMAL(p,s):定点数,p位有效数字,小数点后s位                               

    2023年04月12日
    浏览(65)
  • sql_server数据库入门学习(二)

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ ------------------❤️分割线❤️------------------------- —————————

    2024年02月08日
    浏览(50)
  • sql_server数据库入门学习(一)

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ ------------------❤️分割线❤️------------------------- —————————

    2024年02月07日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包