![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 76
Coding-lover
Keep hungry,Keep foolish(可通过微信联系我:unilay_yang)
展开
-
mac jdbc连接mysql
1.下载jdbc驱动:http://dev.mysql.com/downloads/connector/j/2.加入jdbc的jar包至项目的libs目录并build path2.修改环境变量:export PATH=/usr/local/mysql/bin/:${PATH}3.默认root@localhost没有密码4.修改密码:命令行:mysqladmin -u roo原创 2014-05-15 23:02:19 · 5307 阅读 · 0 评论 -
mysql 查看表结构和表创建语句的方法
查看mysql表结构的方法有三种: 1、desc tablename; 例如: 要查看jos_modules表结构的命令: desc jos_modules; 查看结果: mysql> desc jos_modules; +------------------+---------------------+------+-----+-------------转载 2014-06-29 08:45:45 · 1227 阅读 · 0 评论 -
mysql mac下解决MySQL中文乱码的问题
mac osx 10.9mysql 5.5安装mysql的dmg文件后,将/usr/local/mysql/support-files中的任意一个.cnf文件copy到/etc/目录并重命名为my.cnf修改my.cnf找到[mysqld] 添加character-set-server=utf8chatracter-set-server=utf8转载 2014-06-29 08:47:15 · 753 阅读 · 0 评论 -
mysql 字符集设置
最近,在项目组使用的mysql数据库中,插入数据出现乱码,关于这个问题做了下总结,我们从最基本的地方说起,到错误产生的深层次原因和解决办法。基本概念• 字符(Character)是指人类语言中最小的表义符号。例如’A’、’B’等;• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encoding)。例如,我们给字符’A’赋予数值0,给字转载 2014-08-03 14:50:43 · 793 阅读 · 0 评论 -
oracle表中怎么创建序列
oracle序列的创建:create sequence seq_newsIdincrement by 1start with 1maxvalue 999999999;获得oracle序列的SQL语句:select seq_newsid.nextval from sys.dual;删除oracle序列的SQL语句:DROP SEQUENCE seq转载 2014-07-12 21:42:34 · 24326 阅读 · 0 评论 -
mysql 中文乱码解决方案
MYSQL数据库存在着编码问题,主要体现在数据库里汉字会出现乱码,WEB页面汉字显示不正常。归结起来只有一个原因:会出现编码的地方存在编码不一致。 WEB开发中:MYSQL编码主要会出现在五个地方: 1. mysql安装的默认编码(latin1)-在mysql.ini(mysql安装根目录下)中设置。[mysqld]选项,默认没有。添加即在最后一行加入default转载 2014-09-03 16:25:36 · 572 阅读 · 0 评论 -
sql 典型SQL题(多表联查)
1.数据库表A 有个字段a是int类型 a中有数据有1到9任意(有重复的) 想取得a中,当 a=1时 a=2时 a=3…… 各一条记录的列表 select top 1 * from A where a=1 union select top 1 * from A where a=2 ... union select转载 2014-10-23 08:27:02 · 2106 阅读 · 0 评论 -
sql 多表联合查询
很少用join,这次学学,并备忘两篇文章!转自:http://hcx-2008.javaeye.com/blog/285661连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接转载 2014-10-22 22:50:47 · 1030 阅读 · 0 评论 -
mysql 多表联合查询效率分析及优化
1. 多表连接类型1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用',' 如: SELECT * FROM table1 CROSS JOIN table2 SELECT * FROM table1 JOIN table2 SELECT * FROM table1,table2转载 2014-10-23 08:24:30 · 987 阅读 · 0 评论 -
oracle 多表查询
本次预计讲解的知识点1、 多表查询的操作、限制、笛卡尔积的问题;2、 统计函数及分组统计的操作;3、 子查询的操作,并且结合限定查询、数据排序、多表查询、统计查询一起完成各个复杂查询的操作;一、多表查询的基本概念在之前所使用的查询操作之中,都是从一张表之中查询出所需要的内容,那么如果现在一个查询语句需要显示多张表的数据,则就必须应用到多表查询的操作,而多表查转载 2014-10-23 08:29:01 · 1108 阅读 · 0 评论 -
sql 基础,多表查询
--==========================--SQL基础-->多表查询--==========================/*一、多表查询 简言之,根据特定的连接条件从不同的表中获取所需的数据 笛卡尔集的产生条件: 省略连接条件 连接条件无效 第一个表中的所有行与第二个表中的所有行相连接转载 2014-10-22 22:49:56 · 838 阅读 · 0 评论 -
linux 查看MySQL的当前连接数
查看最大连接数mysqladmin -uroot -p processlist一般来说提示的thread数目就是当前的连接数或者是登录到mysql客户端后,使用status命令也能获得thread连接数以及当前连接的id。[root@localhost bin]# mysql -h localhost -u root -p123456Welcome to th转载 2015-01-30 00:36:07 · 7118 阅读 · 0 评论 -
悲观锁和乐观锁
悲观锁【Pessimistic Locking】顾名思义就是采用一种悲观的态度来对待事务并发问题,我们认为系统中的并发更新会非常频繁,并且事务失败了以后重来的开销很大,这样以来,我们就需要采用真正意义上的锁来进行实现。悲观锁的基本思想就是每次一个事务读取某一条记录后,就会把这条记录锁住,这样其它的事务要想更新,必须等以前的事务提交或者回滚解除锁。 假如我们数据库事务的隔转载 2015-03-27 15:37:31 · 674 阅读 · 0 评论 -
共享锁与排它锁
共享锁【S锁】 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。排他锁【X锁】 又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和转载 2015-03-29 15:47:39 · 1138 阅读 · 0 评论 -
SQL注入
SQL注入 SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时转载 2015-04-22 11:56:17 · 442 阅读 · 0 评论 -
mysql mac密码恢复
这篇文章还是蛮有参考价值的:http://blog.csdn.net/loseleo/article/details/8703408不过我用的不是mysql workbench而是Sequel Pro。1、苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务2、进入终端,输入:cd /usr/local/mysql/bin/回车后,登录管转载 2015-04-12 21:39:51 · 641 阅读 · 0 评论 -
SQL执行顺序
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回 给调用者。如果没有在查询中转载 2015-05-20 22:45:19 · 532 阅读 · 0 评论 -
SQL解析之硬解析和软解析
说到软解析(soft prase)和硬解析(hard prase),就不能不说一下Oracle对sql的处理过程。当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进行几个步骤的处理过程:1、语法检查(syntax check) 检查此sql的拼写是否语法。 2、语义检查(semantic check) 诸如检查sql语句中的访问对象是否存在及该用户是否具备相转载 2015-05-20 21:22:09 · 1731 阅读 · 0 评论 -
数据库和实例
这篇文章跟数据库开发有什么关系呢?我感觉呢只从字面上看确实没有什么关系,可是了解的话跟大牛讨论时他们最起码不会被鄙视、面试时可能也会有用。如果你再深入的钻研下去你就会发现里面的内容好“丰满”。作为一个菜鸟(指本人)以前跟别人讨论数据库时经常会说:“Oracle数据库、SQL Server数据库、DB2数据库”,以至于我认为数据库是一种软件(对于Oracle、微软、IBM来说也确实是软件),刚接触Or转载 2015-05-15 09:49:11 · 802 阅读 · 0 评论 -
SQL语句执行流程与顺序原理解析
Oracle语句执行流程第一步:客户端把语句发给服务器端执行当我们在客户端执行SQL语句时,客户端会把这条SQL语句发送给服务器端,让服务器端的进程来处理这语句。也就是说,Oracle 客户端是不会做任何的操作,他的主要任务就是把客户端产生的一些SQL语句发送给服务器端。服务器进程从用户进程把信息接收到后, 在PGA 中就要此进程分配所需内存,存储相关的信息,如:在会话内存存储相关转载 2015-05-20 22:56:53 · 4557 阅读 · 0 评论 -
mysql 数据库优化总结
说明:本文的环境为CENTOS 5.5 64 Bit /Mysql 5.1.50 简介:使用Mysql有一段时间了,期间做了不少关于Mysql优化、设计、维护的工作,这两天有时间做一下简单的总结,方便自己回忆,同时也希望能对大家有点帮助.I 硬件配置优化Ø CPU选择:多核的CPU,主频高的CPU Ø 内存:更大的内存 Ø 磁盘选择:更快的转速、RAID、阵列卡, Ø 网络环境选择:转载 2015-05-27 00:01:57 · 599 阅读 · 0 评论 -
数据库 访问性能优化
特别说明:1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、 本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库;3、 本文未深入数据库优化中最核心的执行计划分析技术。 读者对像:开发人员转载 2015-05-26 23:36:49 · 743 阅读 · 0 评论 -
比较全面的MySQL优化参考
本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就需要具体分析了,可以参考本站的一些优化案例或者联系我,下方有我的联系方式。这是上篇。1、硬件层相关优化1.1、CPU相关在服务器的BIOS设置中,可调整下面的几个配置,目的是发挥CPU最大性能,或者避免经典的N转载 2015-06-16 21:37:18 · 612 阅读 · 0 评论 -
oracle 执行计划详解
简介 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!目录一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词) DRiving Table(驱动表) Probed Table(被探查表) 组合索引(concatenated index) 可选择性(selectiv转载 2015-05-29 00:18:14 · 663 阅读 · 0 评论 -
oracle 执行计划顺序是怎么看的
阅读oracle执行计划的方法: 先从最开头一直往右看,直到看到最右边的并列的地方,对于不并列的,靠右的先执行:对于并列的,靠上的先执行。 即并列的缩进块,从上往下执行,非并列的缩进块,从下往上执行。 如下示例:Execution Plan---------------------------------------------------------- 0 SELE转载 2015-05-29 19:17:57 · 1986 阅读 · 0 评论 -
oracle 优化器之执行计划
什么是执行计划执行计划显示了执行一个sql语句所需步骤的详细信息.这些步骤代表了一组数据库操作它们会消费和生产行数据.这些操作的顺序以及它们的实现取决于查询优化器对查询转换和物理优化技术的联合使用.执行计划通常是以表格形式来显示,这个执行计划实际上是一个树形结构.例如下面是一个基于sh方案的查询:SELECT prod_category, AVG(amount_sold)FROM sales s,转载 2015-05-29 22:26:13 · 1432 阅读 · 0 评论 -
oracle 执行计划(Explain Plan) 说明
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 看懂执行计划也就成了SQL优化的先决条件。 这里的SQL优化指的是SQL性能问题的定位,定位后就可以解决问题。一.查看执行计划的三种方法1.1 设置autotrace 序转载 2015-05-29 22:50:47 · 4547 阅读 · 0 评论 -
mysql 执行计划解读
Explain语法EXPLAIN SELECT ……变体:1. EXPLAIN EXTENDED SELECT ……将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2. EXPLAIN PARTITIONS SELECT ……用于分区表的EXPLAIN执行计划包含的信息id包含一组数字,表示查询中执行select子句或操作转载 2015-05-30 12:10:39 · 573 阅读 · 0 评论 -
SQL 语法
SQL(DML , DDL , DCL)SQL 分为三个部分:数据操作语言data manipulation language (DML) , 数据定义语言 data definition language(DDL),数据控制语言Data Control Language(DCL)。SQL (结构化查询语言)是用于执行查询的语法。但是 SQL原创 2014-03-28 17:42:55 · 1542 阅读 · 0 评论 -
sql 中Group By的使用
1、概述“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。2、原始表3、简单Group By示例1select 类别, sum(数量) as 数量之和from Agroup by 类别返回结果如下表,实际上就是分类汇总。4、Group By 和 Order By示例2selec转载 2015-05-31 22:59:38 · 588 阅读 · 0 评论 -
数据库设计(1)_概念结构设计
一、数据模型以下概念在一些教科书中都会有讲到,比如:《数据库原理与应用》。这里作了一下总结。1.1、概念模型,是对现实世界的抽象,数据模型,就是描述数据结构(静态特征)、数据操作(动态特征)、数据完整性(动静交互的约束)的概念的集合。而数据模型也是数据库管理系统(DBMS)的核心和基础,各种DBMS软件的实现都是基于数据模型的。1.2、分类数据模型可分为两种:概念数据模型、结构数据模型。 (1)概转载 2015-05-31 23:39:53 · 5058 阅读 · 0 评论 -
数据库设计(2)_逻辑结构设计
逻辑结构设计是将概念模型转换成逻辑模型的过程,也就是将E-R图中的实体、关系、属性转化为DBMS所支持的数据结构的过程,关系型数据库的数据结构为:表。这个过程可以使用一些CASE工具,比如:ROSE、ER-WIN、Power Designer等。一、创建表1.1、实体的描述在创建实体表的时候,按照E-R模型中实体及实体的属性,一个实体建立一个表,属性作为表的字段。可以参考以下的属性分类,进行详细、必转载 2015-05-31 23:43:46 · 3389 阅读 · 0 评论 -
数据库设计(4)_逻辑结构设计_常用技巧
总结一下这些年在项目中一些设计技巧,有些在前面的章节已经提到过。一、属性定义1.1、数据类型(1)整型还是字符型在可以为整型的情况下尽量使用整型,通常情况下整型占的空间小,可以提高I/O及缓存命中率。(2)定长还是变长字符型定长的好处(也就是变长的坏处): a)定长字段不需要额外维护和计算行偏移量,当然这个成本不是很大,可以忽略; b)如果用变长的话,很有可能会由于更新行数据而带来页拆分,这个成转载 2015-06-01 00:35:21 · 5183 阅读 · 0 评论 -
数据库设计(5)_物理结构设计
物理结构的设计,也即是设计数据在磁盘上的存储,需要考虑:安全(容灾)、性能(IO竞争少)、服务器资源利用率高。通常当前数据库只使用一份ONLINE的数据源,至于分布式存储已经上升到服务器架构的设计,这里不作讨论。以下仅简单描述非分布式存储的情况,主要从磁盘、文件、表数据三方面来说。一、磁盘RAID0提供了最好的读写性能,但RAID0没有提供冗余恢复策略,所以很少单独全用。通常,使用RAID10或RA转载 2015-06-01 00:38:34 · 2368 阅读 · 0 评论 -
数据库设计(6)_命名及编码规范_SQL SERVER
一、综述命名和编码过程中,定义有意义的名称,以易于理解、方便书写为原则。 (1)避免使用中文,尽量使用全拼音或全英文,以方便国际化; (2)避免拼音和英文的中西合璧,如:CAOZUO_TIME; (3)避免在命名中包括空格及特殊字符; (4)避免使用保留字; (5)避免名称太长,注意缩写的使用,缩写规则为单词前4个字母,合成词取每个单词前两位组成4位缩写,对于约定束成的缩写不必遵守取4位的转载 2015-06-01 00:43:51 · 965 阅读 · 0 评论 -
oracle 数据块实现原理
数据块(Oracle Data Blocks),本文简称为“块”,是Oracle最小的存储单位,Oracle数据存放在“块”中。一个块占用一定的磁盘空间。特别注意的是,这里的“块”是Oracle的“数据块”,不是操作系统的“块”。 Oracle每次请求数据的时候,都是以块为单位。也就是说,Oracle每次请求的数据是块的整数倍。如果Oracle请求的数据量不到一块,Oracle也会读取整个块。所以转载 2015-05-18 22:57:01 · 857 阅读 · 0 评论 -
mysql 运维角度浅谈:MySQL数据库优化
本博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段:1、数据库表设计项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计。对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用户体验。影响的因素很多,比如慢查询、低效的查询语句、没有适当建立索引、数据库堵塞(死锁)等。当然,有测试工程师的团队,会做压力测试,转载 2015-06-19 23:25:40 · 915 阅读 · 0 评论 -
数据库 优化临时表使用,SQL语句性能提升100倍
【问题现象】线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右。 SQL语句如下:SELECT DISTINCT g.*, cp.name AS cp_name, c.name AS category_name, t.name AS type_name FROM gm_game g LEFT JOIN gm_cp cp ON c转载 2015-06-02 23:56:16 · 1265 阅读 · 0 评论 -
数据库 模型结构设计的优化
一个表结构的设计,不应当是单纯地从对象设计地属性中一一映射而来,有些时候稍微修改一下设计思路,就可以让程序变得简单,而且问题容易解决。下面举个例子来说明一下。当尝试通过二维表来表达一个树地机构时,通常会用一个parent_id来代表父亲节点地ID,这样就能在逻辑上串联起来,表结构如下:id name parent_id1 xxx null2 xxx 13 xxx 14 xxx转载 2015-06-02 00:50:19 · 1375 阅读 · 0 评论 -
oracle 数据库、实例、用户、表空间、表之间的关系
数据库: Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。实例: 一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Str转载 2015-05-19 00:04:22 · 1052 阅读 · 0 评论