数据库MYSQL

本文深入讲解了数据库的基本概念,包括表、字段、记录及各种约束,如主键的设置、外键的引用完整性和自定义完整性。还将介绍定长与不定长字符串,日期时间类型,以及创建主键的不同方法。此外,涵盖了事务处理、Python连接数据库和SQL查询技巧,适合数据库初学者和开发者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库

数据库就是‘数据’的‘仓库’,数据库由表、关系以及操作对象组成 数据都存放在表中,表由列(字段)和行(记录)组成,在mysql中,表又被称为关系

字段

记录

约束 约束就是管理 管理数据的完整性 可靠性+准确性=数据完整性

主键和外键

实体完整性 参照完整性 自定义完整性

主键 表中有一列或几列组合的值能用来唯一地标识表中的每一行,这样的一列或者多列的组合叫做表的主键

主键必须是非空且不重复的

一个表只能有一个主键,主键约束确保了表中的行是唯一的

表中可以没有主键,但通常情况下应当为表设置一个主键

最少性 尽量选择单个字段作为主键

稳定性 尽量选择数值更新少的列作为主键

外键 就是‘子表’中对应于‘主表’的列,在子表中称为外键或者引用键

它的值要求与主表的主键或者唯一键相对应,外键用来强制引用完整性。一个表可以有多个外键

自定义完整性:自定义完整性指根据具体的业务要求所设置的约束,跟之前介绍的主键和外键不同,自定义完整性需要单独进行设置之后,数据库才会进行检查

 

 

 

定长字符串:字符串长度是一定的,如果实际的字符串长度不足,将以空格来补齐,比如char(10),那么如果实际存储的字符是hello,将存储hello+5个空格

不定长字符串:字符串的最长长度是一定的,但实际的字符串长度是根据实际存储值来决定的,如果长度不足不会用空格补齐,varchar(10),如果实际存储的是hello,则存储的字符长度为5

日期和时间类型 

 

 

创建主键的几种方式 

联合主键

外键

指定外键删除或更新的行为

 通过constraint添加外键

创建自增长

 

 

 

 

 

 

 

delete 手动提交事务

truncate 自动提交事务

查询

查询产生一个虚拟表 看到的是表形式显示的结果,但结果并不真正存储 每次执行查询只是现从数据表中提取数据,并按照表的形式显示出来

 

 

聚合函数

聚会函数会针对进行运算的所有记录返回唯一一个结果

分组函数group by可以对记录进行分组 

 

 where子句:从数据源中去除不符合其搜索条件的数据

group by子句:搜索数据行到各个组中,统计函数为每个组计算统计值,每个值输出一行结果

having子句:从分组计算结果中进行过滤,去掉不符合其组搜索条件的各组数据行

子查询

 

多表查询

内连接(inner join) 左外连接(left join) 右外连接(right join) 

Mysql高级特性

 存储过程的概念

存储过程是存储在数据库目录中的一段声明性sql语句,存储过程写好后,可以被其他编程语言直接调用,非常方便

1.通常存储过程有助于提高应用程序的性能

2.存储过程中有助于减少应用程序和数据库服务器之间的流量,不必发生冗长的sql语句到数据库,只需要传递存储过程名称和参数

3.存储的程序对任何应用程序都是可重用的和透明的

4.存储的程序是安全的,支持权限控制

 

 

 

 

 

 

 

 

触发器

 

 

 

事务

 

通过Python连接数据库 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值