自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 数据库设计的三范式

第一范式:每一个表都有主键,没有一个字段原子性不可再分第二范式:建立在第一范式的基础之上,要求所有非主键字段完全依赖主键,不要产生部份依赖第三范式:建立在第二范式的基础之上,要求所有非主键字段直接以来主键,不要产生传递依赖数据库表设计按照以上的设计,不会产生空间的浪费第二范式:多对多怎么设计?多对多,三张表,两个外键第三范式:一对多,两张表,多的表加外键一对一:一张表太庞大,需要拆分表,外键+一个unique约束...

2020-11-20 20:01:56 238

原创 Mysql 视图

视图:从不同的角度看数据mysql> create view `user3` as select * from user1;-- 创建视图Query OK, 0 rows affected (0.04 sec)mysql> select * from user3;+----+-----------+----------+-----+--------------+----------+-----+| id | user_name | over | age | English

2020-11-20 19:33:16 212

原创 Mysql索引概述

索引索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,多个字段联合起来也可以添加一个索引。索引一本书的目录,是为了缩小扫描范围存在的查询机制。这种查找方式叫做通过索引检索,效率较高。Mysql的两种查找机制:1、全表扫描。2、索引查找。在Mysql数据库中索引也是要进行排序的,结构和TreeSet相同,TreeSet底层是一个自平衡的二叉树。在Mysql中是一个B-Tree的二叉树。遵循左小右大存放,采用中序遍历。在所有的主键以及unique约束

2020-11-20 19:05:37 230 1

原创 Mysql 事务概述

什么是事务?一个事务其实就是一个完整的业务逻辑只有DML才会涉及到事务:insert update delete,只有以上的操作才会对数据进行增删改,要考虑数据的安全问题存在事务的根本原因是平时的事务并不能通过一个语句就能完成,而是需要多条DML共同完成。因此需要事务的存在。说到本质上,一个事务就是多条DML语句同时成功或者同时失败。事务是怎么做到多条DML同时成功或者同时失败的:InnoDB提供了一组用来记录事务性的日志性文件。在事务的执行过程中,可以提交事务也可以回滚事务。提交事务:

2020-11-20 16:20:16 126 1

原创 Mysql约束

为了保证数据的完整性和有效性,Mysql约束包括:1、非空约束:not null2、唯一性约束:unique,单被unique约束是可以为null的,联合唯一:mysql> create table `tbl_unique`( -> id int not null, -> name varchar(16), -> item varchar(16), -> unique(name,item));-- 联合唯一性约束,表级约束Quer

2020-11-20 15:35:06 122

原创 Mysql 数据类型

Mysql数据类型:varchar 可变长度的字符串。比较智能,会根据实际的数据长度动态分配空间。优点是:节省空间。缺点:动态分配空间,速度慢char 定长字符串,不管实际的长度,分配固定长度的空间去存储数据。使用不恰当的时候,可能会导致空间的浪费。优点:不需要动态分配空间,速度快。缺点:使用不当可能会导致空间的浪费int 数字中的整数型bigint 数字中的长整型float 单精度浮点型数据double 双精度浮点型数据data 短日期类型 ,只包括年月日信息datafra

2020-11-20 13:54:00 158

原创 Mysql limit

mysql limitmysql> select * from user1 limit 1,2;+----+-----------+----------+-----+--------------+--------+-----+| id | user_name | over | age | English_name | salary | id2 |+----+-----------+----------+-----+--------------+--------+-----+|

2020-11-19 18:41:20 113

原创 Mysql内连接

mysql> select a.user_name,a.over,b.over from user1 a join user2 b;-- 两张表不加任何限制条件进行连接的时候,会出现笛卡尔积现象+-----------+----------+--------+| user_name | over | over |+-----------+----------+--------+| 孙悟空 | 齐天大圣 | 成佛 || 沙僧 | 金身罗汉 | 成佛 ||.

2020-11-19 18:20:56 443

原创 Mysql分组函数:having子句优化问题

按照age分组然后选择公司数量最大为800000之上的元组,则我们得到mysql> select age,max(salary) from user1 group by age having max(salary)>800000;-- having子句可以对过滤后的数据进行处理,但是having子句不能单独使用,不能代替where,必须和group by子句联合使用+-----+-------------+| age | max(salary) |+-----+-----------

2020-11-19 16:56:38 762

原创 Mysql分组函数/多行处理函数

Mysql分组函数/多行处理函数:输入多行,最终输出一行。count(),sum(),avg(),max(),min()。分组函数必须先进行分组,然后才能用。如果没有对数据分组,整张表默认为一组1、分组函数使用的注意事项:分组函数自动忽略null,不需要提前对null进行处理mysql> select sum(salary) as sum from user1;+-------+| sum |+-------+| 19000 |+-------+1 row in set (0

2020-11-19 16:03:55 436

原创 Mysql数据处理函数/单行处理函数

1、数据/单行处理函数mysql> select user_name,over,age,lower(English_name) from user1;-- lower()转换小写+-----------+----------+-----+---------------------+| user_name | over | age | lower(English_name) |+-----------+----------+-----+---------------------+|

2020-11-19 15:28:24 464 1

原创 Mysql排序

数据库SQL操作语言:1、DQL数据查询语言:凡是带有select关键字的都是查询语句2、DML数据操作语言:凡是对数据进行增删改的都是DML:insert delete update3、DDL数据定义语言:凡是带有create drop alter4、TCL事务控制语言:事务提交commit和事务回滚rollback5、DCL数据控制语言:授权grant、撤销权限revoke导入数据source,注意:路径中不要有中文oder by子句:考虑如下的表格:+----+-

2020-11-19 14:04:56 225

原创 影响数据库性能的因素

不像web服务器,数据库为了保持完整性和一致性,是很难进行扩展的。那么影响数据库性能的因素有哪些呢?1、服务器硬件2、操作系统3、数据库存储引擎的选择。MyISAM:不支持事物,表级锁;InnoDB:事务级存储引擎,完美支持行级锁,事物ACID特性。4、数据库服务器的配置参数5、数据库结构设计和SQL查询语句...

2020-11-18 23:02:46 495

原创 使用join来优化子查询

对于如下的两个表user1和user2:+----+-----------+----------+| id | user_name | over |+----+-----------+----------+| 1 | 孙悟空 | 齐天大圣 || 2 | 沙僧 | 金身罗汉 || 3 | 唐僧 | 功德佛 || 4 | 猪八戒 | 净坛使者 |+----+-----------+----------++----+-----------+

2020-11-17 22:02:56 400

原创 利用join来更新表

我们发现update子句无法更新包含在from子句中的表,如这样的两个表user1和user2+----+-----------+----------+| id | user_name | over |+----+-----------+----------+| 1 | 孙悟空 | 斗战胜佛 || 2 | 沙僧 | 金身罗汉 || 3 | 唐僧 | 功德佛 || 4 | 猪八戒 | 净坛使者 |+----+-----------+---

2020-11-17 18:33:03 344

原创 ERROR 1054 (42S22): Unknown column ‘齐天大圣‘ in ‘field list‘ 错误解决过程

这个真的…,大家一定要记住,Mysql,表名、字段名、数据库名用``值一定要用""啊

2020-11-17 18:18:45 3139 2

原创 解决Mysql只显示错误代码不显示错误原因

近期发现我的Mysql只显示错误代码不显示错误的位置和具体原因,这…看着头疼mysql> selec;ERROR 1064 (42000):网上查了一下,找到了解决方法!打开my.ini,发现自己的basedir完全不知道是个啥地址,改成自己现在的mysql安装地址,如下:basedir=C:\Programing\Mysql\mysql-5.7.19-winx64没错,重启一下Mysql,一切都正常了!...

2020-11-17 17:08:11 1794

原创 Mysql-五种join类型

-- join从句可以分为5种:内连接:inner join;全外连接:full outer;左外连接:left outer;右外连接:right outer;交叉连接:cross1、inner join考虑如下的两张表(user1,user2):+----+-----------+----------+| id | user_name | over |+----+-----------+----------+| 1 | 孙悟空 | 斗战胜佛 || 2 | 沙僧

2020-11-17 15:48:31 1016

原创 Mysql解决ERROR 1075 (42000):

如下,通过alter修改表结构使id列自增的时候报出错误:ERROR 1075 (42000):alter table user2 add id int not null auto_increment first;ERROR 1075 (42000):原因:Mysql在定义自增列的时候需要指定表的主键,进行如下修改:alter table user2 add id int not null auto_increment first,add primary key(id);Query OK

2020-11-17 15:09:29 1323

原创 C# GDI+双倍缓冲技术

在C#Windows窗体中开发游戏时,会发现屏幕发生闪烁,那如何进行解决呢?这就用到了GDI+的双倍缓冲技术:导致画面闪烁的原因:随着游戏的进行,窗体内容在不断变化,每次都要调用paint事件来进行窗体重绘。因此,只要是有图元存在的地方,就会有图像的重绘,而由于窗体重绘存在时间间隔,导致闪烁的出现。特别是当图元内容特别多的时候,闪烁更加严重。当鼠标对图元进行操作或者是进行追踪的时候,paint事件会经常被调动。使得窗口刷新的次数大大增加,虽然窗口刷新会使得图元一次性显示到窗体上,但也会有时间延迟

2020-11-14 13:52:36 299

原创 元胞自动机模型—interesting应用

最近回忆起元胞自动机模型,让我们来康一康这个模型的基本原理:元胞自动机是由计算机之父冯·诺伊曼模拟生命系统的自复制功能提出来的。元胞自动机采用离散的空间布局和时间间隔,将元胞分成有限种状态。元胞个体状态的演变,仅与当前状态和某个局部领域状态有关。我们将其应用在“拍照打卡APP”任务模型中,具体描述如下:元胞自动机的基本要素:空间:元胞在空间格局中的格点,可以是一维、二维、多维(对应于整个任务地图,表现为二维)状态集:可以是两种状态,生死、黑白,也可以是多种状态,如颜色表示等(对应于任务的两种

2020-11-14 10:14:14 824

原创 Mysql-必须会的基本操作

create table if not exists `testtable`(-- 创建name为testtable的表 -> `table_title` varchar(100) not null, -> `table_id` int unsigned auto_increment,-- auto_increment设置id自动增长排序 -> `table_author` varchar(40) not null, -> `submission_..

2020-11-13 22:22:25 106

原创 Mysql数据类型

整数类型的存储和范围:日期和时间类型:字符串类型:

2020-11-11 20:42:50 133

原创 Mysql数据用户管理

C:\Programing\Mysql\mysql-5.7.19-winx64\bin>mysql -hlocalhost -uroot -pEnter password: ***********Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 6Server version: 5.7.19 MySQL Community Server (GPL)Copyright (.

2020-11-11 11:28:35 139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除