数据库

一、数据库介绍

  1. 在python基础班,想要把数据做到永久储存,使用的是文件;数据库也是做永久存储的。
  2. 数据库分类:关系型数据库(以二维表格形式存储数据);非关系行数据库即nosql(以key-value的方式存储)
    数据库是用来管理和存储数据的。读写速度比文件快。
  3. 如果想使用数据库,就需要安装数据库管理系统(就是一个应用软件)。例如想要使用mysql数据库,就要安装mysql数据库管理系统
    关系型数据库管理系统分为:
    关系型数据库服务端软件:用来管理多个数据库,各个数据库都有多个数据文件…
    关系型数据库客户端软件:用来跟服务端软件进行通信,获取服务端的数据
    在这里插入图片描述
    说明:关系型数据库分为服务端和客户端,那么底层通信使用的是TCP协议

二、关系型数据库的语言:SQL

SQL(Structured Query Language)是结构化查询语言,是一种用来操作RDBMS(即关系型数据库)的数据库的语言。用来实现数据库客户端和服务端的通信。
SQL语言主要分为:
DQL:数据查询语言,用于对数据进行查询,如select
DML:数据操作语言,对数据进行增加、修改、删除,如insert、update、delete

TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback-----(事务可以理解为一个团体,这个团体是要么都执行,要么都不执行)
DCL:数据控制语言,进行授权与权限回收,如grant、revoke-----(是对用户权限进行设置,例如该用户对这张表只能查询,对另一张表可以进行增删改等。)
DDL:数据定义语言,进行数据库、表的管理等,如create、drop

三、mysql数据库:

多表关联:多张表通过相同的字段关联
多表关联一定是左表的每条数据都和右表的每条数据进行对比,满足条件的按照要求保留(如inner join 则是两边表都有该字段的才保留,left join则是左边的表内容都表里,右边的表包含坐标中关系字段的才保留)
在这里插入图片描述
需求:学生在生日当天放假,查出考试安排冲突的情况
方法一:
select a.user_id,a.name,b.course,b.test from user a inner join test b on a.user_id=b.user_id where a.birth=b.test_date;
方法二:可以将条件一起写在on条件里
select a.user_id,a.name,b.course,b.test from user a inner join test b on a.user_id=b.user_id and a.birth=b.test_date;
注意
5. on条件一定只能是等于=,如果条件是不等于、大于之类的都不能放在on条件里
6. join … on … 等价于 inner join … on …

MySQL

MySQL是一个关系型数据库管理系统
使用MySQL系统,需要安装服务端和客户端

sudo apt-get install mysql-server     #服务端安装命令(ubantu)
sudo apt-get install mysql-client    #命令行客户端mysql的安装
apt-cache show mysql-server  #显示MySQL服务端安装包信息效果图

在这里插入图片描述
查看MySQL服务效果图:

ps -aux | grep myslq 
	ps 查看当前系统中的进程
	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值