- 博客(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数据用户管理
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关注的人