![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
关于数据库的知识点
追随光、成为光
这个作者很懒,什么都没留下…
展开
-
Redis导入MySql脚本
# -*- coding:utf-8 -*-#@Time : 2022/1/7 21:17#@Author : dogge#@File :test.py#@software:PyCharm# -*- coding: utf-8 -*-import jsonimport redis # pip install redisimport pymysqldef main(): # 指定redis数据库信息 rediscli = redis.StrictRedis(host.转载 2022-01-08 11:31:05 · 338 阅读 · 0 评论 -
MySQL外键约束OnDelete和OnUpdate的使用
On Delete和On Update都有Restrict,No Action, Cascade,Set Null属性。现在分别对他们的属性含义做个解释。ON DELETErestrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。no action:意思同restrict.即如果存在从数据,不允许删除主数据。cascade(级联):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则也删除外键在...原创 2020-06-09 10:43:06 · 821 阅读 · 0 评论 -
数据库之码、超码、候选码
码是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。 超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。 候选码是从超码中选出的,自然地候选码也是一个或多个属性的集合。因为超码的范围太广,很多是我们并不感兴趣即无用处的。所以候选码是最小超码,它们的任意真子集都不能成为超码。例如,如果K是超码,那么所有包含K的原创 2020-06-08 11:04:40 · 1179 阅读 · 0 评论 -
数据库基本语法复习
一、创建表语法create table 表名(列名 数据类型 约束条件列名 数据类型 约束条件....表级约束条件);如,定义一个学生表create table student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));注意 括号里最后一行不加逗号二、修改基本表1.添加列alter table 表名 add [c原创 2020-06-07 16:17:06 · 559 阅读 · 0 评论 -
Mysql的安全模式
什么是安全模式在mysql中,如果在update和delete没有加上where条件,数据将会全部修改。不只是初识mysql的开发者会遇到这个问题,工作有一定经验的工程师难免也会忘记写入where条件。为了避免失误造成的数据全部修改和删除,可开启mysql的安全模式。安全模式的开启与关闭set sql_safe_updates=1; //安全模式打开状态set sql_safe_updates=0; //安全模式关闭状态在update操作中:当where条件中列(column..原创 2020-05-12 10:39:49 · 285 阅读 · 0 评论 -
Mysql事务控制语言
事务控制语言事务定义:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。在这个单元中,每个sql语句都是相互依赖啊的。整个单独单元作为一个不可分割的整体,如果单元中某条sql语句执行失败,整个单元就会回滚。所有收到影响的数据将返回到事务开始以前的状态;如果单元中所有的sql语句均执行成功,则事务被顺利执行。事务的属性:原子性,事务是一个不可分割的工作...原创 2020-05-07 15:35:19 · 153 阅读 · 0 评论 -
Mysql 标识列
标识列又称为自增长列含义:可以不用手动的插入值,系统提供默认的序列值特点:可以不和主键搭配,但要求是一个key(unique) 一个表中至多有1个标识列 标识列的类型只能是数值型 标识列可以通过 set_increment_increment = 3;设置步长,也可以通过手动插入值,设置初始值 用delete清空表会标识列的当前序列,而truncate则不会一、创建表时设置标...原创 2020-05-07 10:43:41 · 365 阅读 · 0 评论 -
Mysql 常见约束
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性分类:六大约束1.not null 非空,保证该字段的只不能为空2.default 默认,用于保证该字段有默认值3.primary key 主键,用于保证该字段的值唯一,且非空4.unique 唯一,用于保证该字段的值唯一,但可以为空5.check 检查约束(mysql中不支持)6.foreign ke...原创 2020-05-06 17:22:55 · 138 阅读 · 0 评论 -
Mysql 表的创建、修改、删除、复制
一、表的创建create table 表名( 列名 列的类型【(长度) 约束】, 列名 列的类型【(长度) 约束】, 列名 列的类型【(长度) 约束】);二、表的修改1.修改列名alter table 表名 change column 列名 新列名 2.修改列的类型或约束alter table 表名 modify co...原创 2020-05-06 16:32:51 · 123 阅读 · 0 评论 -
Mysql插入语句
DML语言插入:insert 修改:update 删除:delete一、插入语句方式一语法insert into 表名(列名,....)values(值1,...) 值要与列名对应1.插入的值类型要与列的类型一致或兼容insert into beauty(id,name,sex,borndate,phone,photo,boyfriend_id)values(...原创 2020-04-28 15:14:56 · 804 阅读 · 0 评论 -
Mysql各种查询索引
Mysql分组函数以及分组查询Mysql连接查询Mysql 子查询Mysql分页查询和联合查询原创 2020-04-28 09:40:18 · 116 阅读 · 0 评论 -
Mysql分页查询和联合查询
应用场景:要显示的数据,一页显示不全,需要分页提交sql请求特点:要将limit放在查询语句的最后语法select 查询列表from 表【join type】join 表2on 连接条件where 筛选条件group by 分组字段having 分组后的筛选order by 排序的字段limit 【offset】,size;offset要显示的条目的起始索引(起始...原创 2020-04-28 09:38:08 · 328 阅读 · 0 评论 -
Mysql 子查询
子查询含义:出现在其他语句中的select语句,称为子查询或内查询外部查询语句称为主查询或父查询举个例子select first_name from employees wheredepartment_id in(select department_id from departmentswhere location_id = 1700)分类:按子查询出现的位置:...原创 2020-04-25 17:29:37 · 136 阅读 · 0 评论 -
Mysql连接查询
连接查询含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询如果没有有效的连接条件,则会发生笛卡尔积现象:表1 有n行,表2有m行,结果=n*m行正确的方法应该是select name,boyName from boys,beautywhere beauty.boyfriend_id = boys.id;连接查询的分类按年代分类sql92标准(仅仅...原创 2020-04-23 08:40:38 · 384 阅读 · 1 评论 -
Mysql分组函数以及分组查询
分组函数功能:用作统计使用,又称为聚合函数或统计函数或组函数分类:sum 求和函数select sum(属性名)求出该属性的数值和只能求数值的avg 求平均值select sum(属性名)求出该属性的平均值只能求数值的max 求最大值select sum(属性名)求出该属性的最大值可以求字符串的最大值min 求最小值select sum(属性名...原创 2020-04-21 11:49:17 · 201 阅读 · 0 评论 -
Mysql常用函数
1.字符函数1.length()返回字符串的字节数,汉字是三个字节,字母是一个字节。(GBK编码情况下汉字是俩字节,utf8 汉字是三个字节)2.concat()拼接字符串函数,将字符串拼接起来,或者将查询结果拼接起来select concat(firstname,' ',lastname) from customers;查询结果为:3.upper、lower...原创 2020-04-20 21:05:31 · 136 阅读 · 0 评论 -
判断属于第几范式
判断是否是2NF在关系模式中若没有非主属性对码的部分函数依赖即可称为2NF如考虑关系模式R(A,B,C,D),已知函数依赖有{B->D,AB->C},关系模式R的码是( ),R属于( )范式首先找码 码是AB,然后又有D依赖于B,而B属于AB,所以存在D部分函数依赖于AB,所以不是第二范式判断是否是3NF如果存在 {A->B,B->C},这样的非主属...原创 2020-04-07 17:24:41 · 11290 阅读 · 5 评论 -
判断是否为无损连接,保持函数依赖
判断无损连接性:方法一:无损连接定理关系模式R(U,F)的一个分解,ρ={R1<U1,F1>,R2<U2,F2>}具有无损连接的充分必要条件是:U1∩U2→U1-U2 ∈F+ 或U1∩U2→U2 -U1∈F+方法二:算法ρ={R1<U1,F1>,R2<U2,F2>,...,Rk<Uk,Fk>}是...原创 2020-04-07 11:37:07 · 10162 阅读 · 1 评论 -
求候选码
求函数的最小依赖集第一步:F右边单一化得到F1={A→B,A→C,ABD→C,ABD→E,E→D}第二步:逐个去掉X→A依赖后,设剩下函数依赖集为G,求属性集X关于G的闭包,如果闭包包含右边属性A,则去掉该函数依赖。A→B:(A)+=AC,不包含B,保留。A→C:(A)+=AB,不包含C,保留。ABD→C:(ABD)+=ABCDE,包含C,去掉。...原创 2020-04-01 14:00:14 · 2381 阅读 · 2 评论