数据库常用查询语句写法(优化)

常用查询写法Likelike本身效率就比较低,应该尽量避免查询条件使用like;原因:对于like ‘%...%’(全模糊)这样的条件,是无法使用索引的,全表扫描自然效率很低;由于匹配算法的关系,模糊查询的字段长度越大,模糊查询效率越低。解决办法:尽量避免模糊查询,如果因为业务需要一定要使用模糊查询,则至少保证不要使用全模糊查询,对于右模糊查询,即like ‘…%’,是会使用索引的;左模糊like
阅读本文

数据库锁表及阻塞的原因和解决办法

问题说明当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁 相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严重影响应用的正常执行。 在数据库中有两种基本的锁类型:排它锁(Exclusiv
阅读本文

数据库表反向生成(二)django ORM inspectdb

在我们说了,mybatis-generator反向生成代码。这里我们开始说如何在django中反向生成mysql model代码。 我们在展示django ORM反向生成之前,我们先说一下怎么样正向生成代码。正向生成,指的是先创建model.py文件,然后通过django内置的编译器,在数据库如mysql中创建出符合model.py的表。反向生成,指的是先在数据库中create table,然后通
阅读本文

Mysql连表之一对多

引言表:part有表如上所示,当成员达到一定数量时,我们需要开启大量的空间存放他们所在的部分,部门名称又长,而且存在大量重复,十分浪费存储空间。我们将表一分为二表1:part表2:person何为一对多呢?在part表中的一条数据对应person表中多条数据表1:part 表2:person设置外键创建关联创建约束:在part表中的一条数据对应person表中多条数据CREATE TABLE pe
阅读本文

Mysql查询优化从入门到跑路(一)数据库与关系代数

1.怎样才算是数据库?    ACID,是指在数据库管理系统中事务所具有的四个特性    1)原子性    2)一致性    3)隔离性    4)持久性     关系数据库,基于关系代数,数据库形式是表格,数据能以不同方式被存取或重新召集。    2.关系代数(简单的来讲就是一种抽象的查询语句)    从数学层面上来讲,关系代数是支持叫做逆反的对合一元运算的剩余布尔代数    从数据库层面上来讲
阅读本文

JavaWeb程序连接SQLserver数据库

声明:一直以来都以为javaweb程序连接数据库是一个很高大上很难的问题,结果今天学习了一下,不到两个小时就解决了,所以总结一篇博客。JavaWeb程序连接SQLserver数据库分为一下步骤:1:在http://www.microsoft.com/en-us/download/details.aspx?id=21599下载sqljdbc.jar的压缩包2:解压之后,将sqljdbc4.jar复制
阅读本文

Shell脚本备份数据库(多库)

#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbinexport PATH#数据库用户名dbuser=‘root‘#数据库用密码dbpasswd=‘password‘#需要备份的数据库,多个数据库用空格分开dbname=(‘dbname1‘ ‘dbname2 ‘dbname3‘ ‘dbname4‘
阅读本文

数据库主从复制配置步骤

主要步骤:  1、确保主数据库与从数据库一模一样。      2、在主数据库上创建同步账号。    GRANT REPLICATION SLAVE,FILE ON *.* TO ‘mstest‘@‘192.168.1.112‘ IDENTIFIED BY ‘123456‘;    192.168.1.112:是运行使用该用户的ip地址    mstest:是新创建的用户名    123456:是新
阅读本文

数据库20170907

GOcreate table Department(Dep_Id CHAR(3) constraint PK_Dep_Id primary key not null,Depname VarChar(40) not null,Telephone char(16) null,Fax char(16) null)GOGOcreate table Employee(Emp_ID Char(6) const
阅读本文

数据库四种模式的一般原则

1.       什么时候用“主扩展模式”?对象的个数不多;各个对象之间的属性有一定差别;各个对象的属性在数据库设计阶段能够完全确定;各个扩展对象有独立的、相对比较复杂的业务处理需求,此时用“主扩展模式”。将各个对象的共有属性抽取出来设计为“主表”,将各个对象的剩余属性分别设计为相应的“扩展表”,“主表”与各个“扩展表”分别建立一对一的关系。主扩展模式主扩展模式,通常用来将几个相似的对象的共有属性
阅读本文

数据库之 表与表之间的关系

表1 foreign key 表2 则表1的多条记录对应表2的一条记录,即多对一 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记录也可以对应表1的一条记录 一对一: 表1的一条记录唯一对应表2的一条记录,反之亦然 分析时,我们先从按照上面的基本原理去套,然后再翻译成真实的意义,就很好理解了
阅读本文

数据库的常用类型

参考网址:http://www.w3school.com.cn/sql/sql_datatypes.aspMicrosoft Access 数据类型MySQL 数据类型在 MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。Text 类型: 数据类型描述 CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。
阅读本文

数据库之完整性约束

一、介绍约束条件与数据类型的宽度一样,都是可选参数作用:用于保证数据的完整性和一致性主要分为:PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) 标识该字段为该表的外键 NOT NULL 标识该字段不能为空 UNIQUE KEY (UK) 标识该字段的值是唯一的 AUTO_INCREMENT 标识该字段的值自
阅读本文

数据库建带有主键的表PostgreSQL

数据库的应用: 最近用到的是以前没有接触过的数据库 PostgreSQL 1.创建带有主键的列的表,因为在ssh里主键自动增长 这个数据库和其他的不一样 基础的: 主键自增长: 主键一般是实际意义不大的列,不能把有实际意义的字段作为主键 2.创建表并且表的字段有自增的 create table jzgl( jzid SERIAL primary key, j
阅读本文

数据库并发操作带来的问题以及解决方案

数据库并发操作带来的数据不一致性主要有, 丢失修改,不可重复读(里面包括幻读),读脏数据其中不可重复读有三种情况,后两种称为幻读,幻读和不可重复读的区别是幻读是对数据的删除增添,不可重复读是数据的修改解决办法 封锁锁包括 排它锁(X锁)和共享锁(S锁)封锁带来的问题 :活锁(先来先服务解决),死锁死锁解决方案:预防死锁,定期检测死锁解除死锁预防:1 一次封锁法 ,问题降低并发度
阅读本文

数据库1无法连接问题

经常看到有人在问SQL SERVER 数据库无法连接的问题,通过观察发现,无法连接数据库,出现频率最高的错误是:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)其实
阅读本文

数据库基础学习Day1

数据库的分类:①关系型数据库:也叫SQL,比如:Oracle,MySQL,SQL Server ②非关系型数据库:也叫NoSQL(Not only SQL),比如:redis,mongodb,memcahed。 完整性约束:表内数据的约束(字段和字段之间),表与表之间的约束(外键) 关系型数据库的特点之一:如果表中对应的某个字段没有值(数据),但是系统依然要分配空间,因此关系型数据库比较浪费空间。
阅读本文

数据库(3)---基本操作

** 数据库操作 ** 创建数据库 create database db_name charset=utf8; 删除数据库 drop database db_name; 切换数据库 use db_name; 查看当前数据库 select database(); 表操作 查看当前数据库中的所有表 show tables; 查看创建表的命令 show create table tb_name; 创建
阅读本文

数据库(1)---E-R模型、三范式

数据库简介: 数据库系统解决的问题: 1)持久化存储, 2)优化读写, 3)保证数据的有效性 数据库分类: 1)文档型: sqlite,通过对文件的复制完成数据库的复制 移动性场景 2)服务型: mysql、postgre。c/s模型。 E-R模型 1)entry 表 2)relationship 两个实体之间的关系 一对一、一对多、多对多
阅读本文