![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 65
山鬼谣弋痕夕
学习,记录,改变
展开
-
【总结】举例说明数据库自增字段的 3 种实现方式
在设计数据库的表结构时,经常会使用一个自动增长的数字序列作为主键字段(代理主键)。除了作为主键使用之外,自增字段也可以用于记录各个操作发生的先后顺序,因为它具有递增特性。当我们插入一行数据时,数据库会为自增字段生成一个新的数值。下表列出了主流数据库中创建自增字段的几种方法:MySQLAUTO_INCREMENTMySQL 通过 AUTO_INCREMENT 属性定义自增字段...转载 2020-04-21 20:32:58 · 5055 阅读 · 0 评论 -
MySQL 的IFNULL()、ISNULL()和NULLIF()函数
https://blog.csdn.net/xingyu0806/article/details/52080962一、IFNULL(expr1,expr2)用法 假如expr1不为NULL,则 IFNULL() 的返回值为expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。 mysql> SELECT...转载 2018-07-25 10:43:56 · 270 阅读 · 0 评论 -
数据库多表联合查询附简单例子
多表联合查询多表联合查询可以通过连接运算实现,而连接运算又可以通过广义笛卡尔积后在进行选择运算来实现。 Select 多表联合查询语句Select 列名 [[,列名]...] from 表名1,表名2,,... Where 查询条件; 可以使用as为表或者字段(属性)取别名; Select 列名 [[,列名]...] from 表名1 [as] 别名1,表名2 [a...转载 2018-07-30 10:39:23 · 25644 阅读 · 0 评论 -
MySQL的DDL语句、DML语句与DCL语句
https://www.cnblogs.com/duhuo/p/5682565.htmlSQL 分类:SQL 语句主要可以划分为以下 3 个类别。DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。DML(Data Mani...转载 2018-07-30 11:41:26 · 492 阅读 · 0 评论 -
视图的作用和创建、查询
1、什么是视图视图:存储的查询语句,当调用的时候,产生结果集,视图充当的是虚拟表的角色.如果要对一张表或者多张表进行查询,可以通过写复杂的SQL语句来实现 如果要这些SQL语句存储为视图,那么查询的时候,就直接查询这个视图就可以了.2、视图的好处视图的好处,可以主要分为四点: 我简单的说一下,希望你能明白。 第一点: 使用视图,可以定制用户数据,聚焦特定的数据。 解释: ...转载 2018-09-12 16:12:50 · 2688 阅读 · 0 评论 -
mysql注入和预防
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。我们永远不要信任用户的输入,我们必须认定用户输入的数据都是不安全的,我们都需要对用户输入的数据进行过滤处理。输入的用户名必须为字母、数字及下划线的组合,且用户名长度为 8 到 20 个字符之间:if (preg_match("/^\w{8,20}$/", ...转载 2018-10-01 09:39:14 · 974 阅读 · 0 评论 -
ACID和BASE
http://www.runoob.com/mongodb/nosql.htmlACID和BASE是关系型数据库和非关系数据库所遵循的两种规范ACID1、A (Atomicity) 原子性原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账...转载 2018-11-13 08:20:02 · 2376 阅读 · 0 评论 -
关于乐观锁与悲观锁的应用解决方案
原文链接 https://juejin.im/post/5c0009adf265da614a3a3741在项目中有一个竞猜下注的功能,它的赔率是根据A队和B队两边的下注总金额来计算的。于是当有用户下注某一边时,两边的赔率都会进行相应的变化。反应到数据库里就是(简化版本),一个人下注,会更改数据库盘口表的几个字段:A队赔率,A队下注金额、B队赔率,B队下注金额 等等。 如果使用默认事务...转载 2018-11-30 10:54:37 · 734 阅读 · 0 评论 -
MySQL数据库开发规范
MySQL数据库开发规范转载自:https://juejin.im/post/5c15c2b3f265da6170070613所有的数据库对象名称必须使用小写字母并用下划线分割(MySQL大小写敏感,名称要见名知意,最好不超过32字符) 所有的数据库对象名称禁止使用MySQL保留关键字(如 desc、range、match、delayed 等,请参考 MySQL官方保留字 ) 临时库表...转载 2018-12-19 17:12:43 · 156 阅读 · 0 评论 -
MySQL索引学习和应用
mysql索引MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。 组合索引,即一个索包含多个列。创建索引时,你需...原创 2019-01-01 18:37:29 · 1073 阅读 · 0 评论 -
Redis学习:初识
Redis是一个开源的,基于内存的数据结构存储,可用作于数据库、缓存、消息中间件。Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。1.1为什么要用Redis?Redis是基于内存,常用作于缓存的一种技术,并且Redis存储的方式是以key-value的形式。我们可以发现这不就是Java的Map容器所拥有的特性吗,那为什么还需要Redis呢?下面...原创 2019-01-18 17:10:34 · 218 阅读 · 0 评论 -
Hive 是什么
1.Hive 是什么hive 是一个构建在Hadoop上的数据仓库工具,它可以让结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,剋将SQL语句转换为MapReduce任务进行运行,其优点是学习成本低.hive的目的是让精通SQL技能的分析师能够在Facebook存放在HDFS的大规模数据集上进行查询操作. 目前,Hive已经成为一个通用的、可伸缩的数据处理平台. 2...原创 2019-01-31 14:23:23 · 5384 阅读 · 0 评论 -
常见管理MySQL的命令
常见管理MySQL的命令使用Mysql数据库过程中常用的命令:USE 数据库名 :选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。mysql> use School;Database changedSHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表。mysql> SHOW DATABASES;+-...原创 2019-02-25 09:43:28 · 270 阅读 · 0 评论 -
需要数据库分片吗?怎么分
原文链接:https://github.com/xitu/gold-miner/blob/master/TODO1/understanding-database-sharding.md概述任何蓬勃发展的应用或者网站,最终都需要扩容开来以适应流量的增长。对于数据驱动的应用和网站来说,以一种能够保障数据安全和完整性的方式进行扩容尤为重要。要预测一个网站或应用将来会有多火,以及它能火多久是非常困...转载 2019-03-04 14:51:39 · 539 阅读 · 0 评论 -
mysql中round函数使用
在mysql中,round函数用于数据的四舍五入,它有两种形式:1、round(x,d) ,x指要处理的数,d是指保留几位小数这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0;2、round(x) ,其实就是round(x,0),也就是默认d为0;举个例子还是比较清楚的:1、查询: select round(1268.723,2...原创 2018-07-25 10:32:15 · 2704 阅读 · 1 评论 -
数据库中的连接们
参考网上一些资料:关于左连接和右连接总结性的一句话:左连接where只影向右表,右连接where只影响左表。Left Joinselect * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。左向外联接的结果集包括 LEFT OUTER子句中指定的左表的所...原创 2018-07-25 10:01:43 · 235 阅读 · 0 评论 -
mysql : HAVING和WHERE、ORDER BY和GROUP BY的差异
HAVING和WHERE的差别 这里有另一种理解方法,WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤。这是一个重要的区别,WHERE排除的行不包括在分组中。这可能会改变计算值,从而影响HAVING子句中基于这些值过滤掉的分组。 也会有同时用到这两个的时候: 它列出具有2个(含)以上、价格为10(含)以上的产品的供应商: ORDER BY和GR...原创 2018-06-08 15:33:22 · 1073 阅读 · 0 评论 -
coalesce---一个很有用的函数
在mysql中,其实有不少方法和函数是很有用的,一个叫coalesce的,作用是将返回传入的参数中第一个非null的值,比如 SELECT COALESCE(NULL, NULL, 1); -- Return 1 SELECT COALESCE(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1); -- Return 1 如果传入的参数所有都...原创 2018-05-08 21:46:27 · 21265 阅读 · 0 评论 -
MySQL NULL 值处理
MySQL提供了三大运算符:IS NULL: 当列的值是 NULL,此运算符返回 true。IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。<=>: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。在 MySQL ...原创 2018-05-08 21:57:54 · 276 阅读 · 1 评论 -
数据库的事务
数据库操作语句就构成一个事务在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。事务用来管理 insert,update,delete 语句一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isol...转载 2018-05-08 22:18:37 · 196 阅读 · 0 评论 -
Windows环境下eclipse连接数据库MySQL步骤及代码
1、新建项目,新建lib文件,在lib文件中放入下载的MySQL连接驱动:可以从http://www.everycoding.com/maven2/mysql/mysql-connector-java.html下载2、构建路径,选择刚才添加的JDBC:3、这样环境连接就配置好了,接下来可以测试一下,可以在数据库sqltestdb中创建如下数据表emp:我这里是用workbench建立的表如图所示:...原创 2018-05-08 14:56:17 · 8843 阅读 · 0 评论 -
死锁的定义、产生原因、必要条件、避免死锁和解除死锁的方法
原文链接:https://blog.csdn.net/yanxiaolx/article/details/519440481.死锁:如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。2.产生死锁的原因:(1)竞争不可抢占性资源。(2)竞争可消耗资源。 当系统中供多个进程共享的资源如打印机,公用队列等,其数目不足以满足诸进程的需要时,会引起诸进程对...转载 2018-04-26 15:34:26 · 716 阅读 · 0 评论 -
这一篇,必须把事务搞清楚
参考博客:https://www.cnblogs.com/fjdingsd/p/5273008.html先说一下什么是事务:事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败。数据库中事务的四大特性(ACID),并且详细地说明事务的隔离级别。如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功...原创 2018-05-17 17:15:16 · 201 阅读 · 0 评论 -
常见面试题整理--数据库篇(开发测试看过来)
常见面试题整理--数据库篇转载自:https://blog.csdn.net/weinierzui/article/details/71054964如果你对数据库不熟悉,想学习的话,学习专栏有一篇MySQL学习资料那么常见的数据库面试题有哪些呢?(非DBA向)(一)什么是存储过程?有哪些优缺点?存储过程是一些预编译的SQL语句。更加直白的理解:存储过程可以说是一个记录集,它...转载 2018-04-27 22:19:31 · 3971 阅读 · 0 评论 -
关系数据库的第一第二第三范式详解
链接:https://www.zhihu.com/question/24696366/answer/29189700来源:知乎主要是在“关系”和“表”。首先要明白”范式(NF)”是什么意思。按照教材中的定义,范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。很晦涩吧?实际上你可以把它粗略地理解为一张数据表的表结构所符合的某种设计标准的级别。就像家里装修买建材,...转载 2018-04-28 11:49:40 · 1292 阅读 · 0 评论 -
基本的恶义SQL语法以及防止SQL注入
https://zhidao.baidu.com/question/1830066056591493380.html恶义 SQL 语法String sql = "select * from tb_name where name= '"+varname+"' and passwd='"+varpasswd+"'";如果我们把 [' or '1' = '1] 作为 varpasswd 传入进来 . 用...转载 2018-05-08 15:08:20 · 522 阅读 · 0 评论 -
mysql查看帮助
在不同的 mysql 版本中,很多特性和语法有可能是不一样的,想要知道当前版本的语法,最好的办法是学会使用 mysql 的帮助。方法很简单:mysql> ? contentsYou asked for help about help category: "Contents"For more information, type 'help <item>', where <i...原创 2018-06-21 15:52:53 · 678 阅读 · 0 评论 -
mysql:char 和varchar的比较(有例子)
摘自《深入浅出 MySQL数据库开发、优化与管理维护 》CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。1、它们的最大长度和是否尾部空格被保留等方面也不同。2、在存储或检索过程中不进行大小写转换,从 CHAR(4)和 VARCHAR(4)列检索的值并不总是相同,因为检索时从 CHAR 列删除了尾部的空格。下面的表显示了将各种字符串值保存到 CHAR(4)和 VARCHAR(4)...原创 2018-06-21 16:22:35 · 1450 阅读 · 0 评论 -
mysql中的浮点数和定点数
规定小数点位置固定不变,称为定点数。小数点的位置不固定,可以浮动,称为浮点数。在计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分、又有小数部分的数,一般用浮点数表示。...原创 2018-06-22 09:09:04 · 1275 阅读 · 0 评论 -
Mysql中limit的用法30s get
Mysql中limit的用法在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL ...原创 2018-06-07 16:58:48 · 307 阅读 · 0 评论 -
一千行MySQL学习笔记
原文链接:https://www.cnblogs.com/shockerli/p/1000-plus-line-mysql-notes.html/* 启动MySQL */net start mysql/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码/* 跳过权限验证登录MySQL */mysqld --skip-grant-tables-...转载 2018-05-01 10:23:14 · 162 阅读 · 0 评论