SQL与数据库
文章平均质量分 79
工程师WWW
R
展开
-
ORACLE 给用户授权truncate table 的实现方案
1,对其它用户下的表执行trundate table操作开发说在用dwetl下执行调用shop用户下的表的时候提示没有权限操作,google了查了下,发现oracle账户没法直接赋予对某个表的truncate权限,那要怎么来实现呢? 在shop用户下面,准备测试数据SQL> create table Z_TRUNCATE_T(ID number);Table created.转载 2018-01-26 17:33:26 · 13933 阅读 · 0 评论 -
SQL过关
引言做为一个web开发者,不与数据库打交道几乎是不可能的!由此可见,掌握SQL语句对于一个web开发人员来说是多么的重要。下面是我在整理电脑时,找到的资料,觉得还不错就拿出来与大家分享。不废话了,好不好你看了就知道。进入主题,本文的主要内容如下:问题背景SQL查询54问?1、问题背景本文中的SQL语句都是基于下面几张表的,这也是比较经典的用于数据库教学的数据库例子。原创 2014-09-26 18:07:45 · 1306 阅读 · 0 评论 -
MySQL的Join使用
在MySQL(以5.1为例)中,表连接的语法可以参见MySQL官方手册:MySQL官方手册-JOIN在查询中,连接的语法类似[sql] view plaincopySELECT select_expr FROM table_references table_references(对表的引用)的定义如下(也可以看成连接原创 2014-10-25 16:59:42 · 1697 阅读 · 0 评论 -
MySql存储过程中limit传参
最近做项目用到了MySql数据库,感觉还是蛮好用的,但是有同事前几天写存储过程的时候老调不通,我看了看后发现把limit语句后面带的参数随便改成一个数字就调试通过了,不知道是MySql当初就这么设计的还是一个bug。后来在网上找到一个方法可以通过传参数的方法解决该问题: set @stmt = concat('select * from ',table_name,' limit ?,?')原创 2014-10-25 16:19:54 · 4603 阅读 · 0 评论 -
mysql导出select结果到文件
mysql -hxx -uxx -pxx -e "query statement" db > file 例如: mysql -h127.0.0.1 -uroot -p000000 -e"select * from a" test > 1.txt host ip user password query statement database原创 2014-10-14 10:30:46 · 9592 阅读 · 0 评论 -
了解MySQl数据库目录
数据库目录是MySQL数据库服务器存放数据文件的地方,不仅包括有关表的文件,还包括数据文件和MySQL的服务器选项文件。不同的分发,数据库目录的缺省位置是不同的。数据目录的位置缺省的数据库位置缺省数据库的位置编译在服务器中。◆如果您是在一个源程序分发包中安装 MySQL,典型的缺省位置可能是 /usr/local/var;◆如果在二进制分发包中安装 MySQ原创 2014-05-29 11:33:09 · 1067 阅读 · 0 评论 -
MySQL C API函数大全
Mysql C API提供函数主要分为如下五种:1. 控制类函数2. 信息获取类函数3. 行列类操作函数4. 线程类操作函数5. 出错处理类函数本文归纳了C API可使用的函数,具体用法,参考文末地址中对应条目,均有详细说明。函数描述mysql_affected_rows()原创 2014-04-04 11:58:16 · 2389 阅读 · 0 评论 -
mysql分表方法-----MRG_MyISAM引擎分表法
一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法。目前我所知道的方法都是MYISAM的,INNODB如何做分表并且保留事务和外键,我还不是很了解。首先,我们需要想好到底分多少个表,前提当然是满足应用。这里我使用了一个比较简单的分表方法,就是根据自增id的尾数来分,也就是说分0-9一共10个表,其取值也很好做,就是对10进行取模。原创 2015-10-31 15:17:54 · 605 阅读 · 0 评论 -
MySQL单列索引和组合索引的区别介绍
MySQL单列索引是我们使用MySQL数据库中经常会见到的,MySQL单列索引和组合索引的区别可能有很多人还不是十分的了解,下面就为您分析两者的主要区别,供您参考学习。 为了形象地对比两者,再建一个表:CREATE TABLE myIndex ( i_testID INT NOT NULL AUTO_INCREMENT, vc_Name VARCHAR原创 2015-12-10 23:30:23 · 10863 阅读 · 2 评论 -
Redis入门教程
入门教程,仅供菜鸟。原文链接:http://lgone.com/html/y2010/776.html本文包括如下内容:Redis简介Redis的性能安装Redis、Redis启动参数介绍应用实例:利用Redis构建简单的微博系统(官方例子链接)[注:入门教程,仅供菜鸟]1.Redis简介Redis是一个key-value存储系统。和原创 2014-03-29 23:04:56 · 1275 阅读 · 0 评论 -
mysql查询显示技巧
MySQL的客户端命令行工具,有很多方便使用者的特性,某些方面甚至可以说比Oracle的sqlplus更加人性化。当然从整体来说,还是sqlplus更加方便些,这么说或许是我对sqlplus更加熟悉吧。这里记录下MySQL命令行几个比较常用的特性。1.使用\G按行垂直显示结果如果一行很长,需要这行显示的话,看起结果来就非常的难受。在SQL语句或者命令后使用\G而不是分号结尾,可以将每一原创 2014-08-29 18:02:14 · 3774 阅读 · 0 评论 -
MySQL中的datetime与timestamp区别比较
一、相同 显示 TIMESTAMP列的显示格式与DATETIME列相同。换句话说,显示宽度固定在19字符,并且格式为YYYY-MM-DD HH:MM:SS。二、不同 范围 datetime 以''YYYY-MM-DD HH:MM:SS''格式检索和显示DATETIME值。支持的范围为''1000-01-01 00:00:00''到''9999-12-原创 2014-06-17 22:53:31 · 3296 阅读 · 0 评论 -
MySQL知识总结
一.创建存储过程1.基本语法:create procedure sp_name()begin.........end2.参数传递二.调用存储过程1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递三.删除存储过程1.基本语法:drop procedure sp_原创 2014-07-12 17:59:51 · 905 阅读 · 0 评论 -
MySQL 当记录不存在时插入,当记录存在时更新
MySQL 当记录不存在时插入,当记录存在时更新 网上基本有三种解决方法。 第一种: 示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句: INSERT INTO clients (client_id, client_name, client_type) SELECT supplier_id, supp原创 2014-07-04 14:53:33 · 1352 阅读 · 0 评论 -
经典sql基本语句大全
SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库CREATE DATABASE database原创 2012-03-29 11:14:36 · 3839 阅读 · 5 评论 -
mysql分表的3种方法
一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一原创 2012-04-01 16:08:29 · 1622 阅读 · 0 评论 -
mysql 复制表数据,表结构的3种方法
什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份。如果用mysqldump比较麻烦,备份.MYD,.MYI这样的文件呢,操作起来也还是麻烦。一,复制表结构方法1:mysql> create table a like users; //复制表结构原创 2014-07-25 18:26:22 · 2055 阅读 · 0 评论 -
MySQL管理与优化(1):SQL基础
SQL简介SQL: Structure Query Language(结构化查询语句), 是我们与数据库交互的一种方式。(MySQL)使用入门SQL分类: 1. DDL(Data Definition Language),数据定义语言。主要操作对象为数据库,表,字段,索引等。 2. DML(Data Manipulation La原创 2014-08-29 17:36:05 · 1512 阅读 · 0 评论 -
mysql 索引( mysql index )
以下是查阅《mysql_administrators_bible》的摘录和总结 索引 mysql index 索引是一种数据结构,可以是B-tree, R-tree, 或者 hash 结构。其中R-tree 常用于查询比较接近的数据;B-trees适合用于查找某范围内的数据,可以很快的从当前数据找到下条数据;hash结构则适用于随原创 2014-10-10 00:09:42 · 1426 阅读 · 0 评论 -
Redis学习手册(List数据类型)
一、概述: 在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数量是4294967295。 从元素插入和原创 2016-02-01 13:58:33 · 445 阅读 · 0 评论 -
白话MyCat——MyCat部署运行(Linux环境)与使用步骤详解
MyCAT 可以视为“MySQL”集群的企业级数据库,用来替代昂贵的Oracle集群,其背后是阿里曾经开源的知名产品Cobar。MyCAT的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。一、部署步骤详解 (1) 用命令行工具或图形化客户端,连接MYSQL,创建DEMO所用三个分片数据库; CREATE data原创 2016-08-16 18:18:42 · 1645 阅读 · 0 评论 -
MySQL高可用架构之MHA
简介:MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在原创 2016-09-13 11:27:02 · 2545 阅读 · 0 评论 -
mongodb命令指南
一.什么是MongoDB 简单的说,MongoDB是一种数据库,像我们常用的MySQL,sqlserver,orcale.但是跟这些数据库不同的是,他们都是关系型数据库,而MongoDB是非关系型数据库(NoSql)。MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使原创 2016-08-11 17:32:28 · 846 阅读 · 0 评论 -
对MySQL Information_Schema表说明
每次登录phpMyAdmin的时候都会看到Information_Schema这个数据库,一直没仔细看,它是mysql自带的表,用来提供访问数据元数据。元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。它是虚拟的数据库,实际上并不存在,只是一些views,所以没有实际的文件。可以看到总共有37张表,常见的表说明如下:SCHEMATA表:提供了当前mysql实例中原创 2017-03-19 18:39:43 · 1414 阅读 · 0 评论 -
Mac 下 PostgreSQL 的安装与使用
在 mac 下,可以利用 homebrew 直接安装 PostgreSQL:1brew install postgresql -v稍等片刻,PostgreSQL 就安装完成。接下来就是初始数据库,在终端执行一下命令,初始配置 PostgreSQL:1ini原创 2017-08-14 14:25:15 · 3177 阅读 · 0 评论 -
PostgreSQL新手入门
自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。本文介绍PostgreSQL的安装和基本用法,供初次使用者上手。以下内容基于Debian操作系统,其他操作系统实在没有精力兼顾,但是大部分内容应该普遍适用。一、安装首先,安装PostgreSQL客户端。sudo apt-get install postgresql-client然后,安装PostgreSQL服...原创 2017-08-28 17:45:28 · 2401 阅读 · 0 评论 -
redis配置详解
##redis配置详解# Redis configuration file example.## Note that in order to read the configuration file, Redis must be# started with the file path as first argument:## ./redis-server /path/to/redis.原创 2017-10-24 14:36:02 · 1668 阅读 · 0 评论 -
oracle数据库和mysql数据库列类型对照
四、oracle表结构移植到mysql中需要的类型转换MYSQL ORACLEBLOB(220) RAW(220)BLOB (20) RAW(20)BLOG(1024) RAW(1024)VARCHAR(n) VARCHAR2(n)原创 2017-11-24 09:58:36 · 2362 阅读 · 0 评论 -
MySQL开启慢查询
MYSQL慢查询配置1. 慢查询有什么用?它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化.2. 如何开启慢查询?首先我们先查看MYSQL服务器的慢查询状态是否开启.执行如下命令: 我们可以看到当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询.原创 2016-07-16 22:58:39 · 928 阅读 · 0 评论 -
MySQL: InnoDB 还是 MyISAM?
MyISAM存储引擎 MyISAM是 默认存储引擎。它基于更老的ISAM代码,但有很多有用的扩展。MyISAM存储引擎的一些特征: 所有数据值先存储低字节。这使得数据机和操作系统分离。二进制轻便性的唯一要求是机器使用补码(如最近20年的机器有的一样)和IEEE浮点格式(在主流机器中也完全是主导的)。唯一不支持二进制兼容性的机器是嵌入式系统。这些系统有时使用特殊的处理器原创 2016-02-18 15:06:05 · 579 阅读 · 0 评论 -
Redis学习手册(Hashes数据类型)
一、概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。每一个Hash可以存储4294967295个键值对。二、相关命令列表:命令原原创 2016-02-01 13:59:34 · 854 阅读 · 0 评论 -
Redis学习手册(Set数据类型)
一、概述: 在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作。Set可包含的最大元素数量是4294967295。 和List类型不同的是,Set集合中不允许出现重复的元素,这一点和C++标准库中原创 2016-02-01 14:00:10 · 684 阅读 · 0 评论 -
Redis学习手册(Sorted-Sets数据类型)
一、概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管Sorted-Sets中的成员必须是唯一的,但是分数(score)却是可以重复的。原创 2016-02-01 14:00:58 · 716 阅读 · 0 评论 -
Redis学习手册(String数据类型)
一、概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。二、相关命令列表:命令原型时间复杂度命令描述返回值APPENDkey原创 2016-02-01 13:57:24 · 542 阅读 · 0 评论 -
Redis学习手册(Key操作命令)
一、概述: 在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String、List、Set、Hashes和Sorted-Set。这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的。而该篇博客将主要讲述与Key相关的Redis命令。学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器。 在该篇原创 2016-02-01 14:03:38 · 559 阅读 · 0 评论 -
Redis工作系列之一 与 Memcached对比理解
近期公司项目在使用Redis,这几年Redis很火,Redis也常常被当作Memcached的挑战者被提到桌面上来。关于Redis与Memcached的比较更是比比皆是。然而,Redis真的在功能、性能以及内存使用效率上都超越了Memcached吗?You should not care too much about performances. Redis is faster pe原创 2016-02-01 20:03:14 · 614 阅读 · 0 评论 -
Redis键值设计
丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。下面举一些常见适合kv数据库的例子来谈谈键值的设计,并与关系型数据库做一个对比,发现关系型的不足之处。用户登录系统记录用户登录信息的一个系统, 我们原创 2016-02-03 19:02:06 · 767 阅读 · 0 评论 -
19个MySQL性能优化要点解析
以下就是跟大家分享的19个MySQL性能优化主要要点,一起学习学习。1、为查询优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。原创 2016-02-18 14:19:28 · 675 阅读 · 0 评论 -
mysql虚拟表
虚拟表,顾名思义,就是实际上并不存在(物理上不存在),但是逻辑上存在的表。这样说很抽象,还是看一些实际的例子吧。在mysql中,存在三种虚拟表:临时表、内存表和视图。视图会单独讲,本节仅仅将临时表和内存表。一、mysql临时表 1、什么是临时表临时表是建立在系统临时文件夹中的表,如果使用得当,完全可以像普通表一样进行各种操作。 临时表的数据和表结构都储存在内存之中原创 2014-06-16 17:48:55 · 16225 阅读 · 1 评论 -
mysql创建触发器
[cpp] view plaincopyCREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BEGIN [Statement] END trigger_name:触发器名称trigger_time:出原创 2014-06-30 18:44:42 · 1280 阅读 · 0 评论