
数据库技术
luckykapok918
这个作者很懒,什么都没留下…
展开
-
MySQL各存储引擎
MySQL5.5以后默认使用InnoDB存储引擎,其中InnoDB和BDB提供事务安全表,其它存储引擎都是非事务安全表。若要修改默认引擎,可以修改配置文件中的default-storage-engine。可以通过:show variables like 'default_storage_engine';查看当前数据库到默认引擎。命令:show engines和show variables li...转载 2018-12-06 14:06:57 · 188 阅读 · 0 评论 -
MySQL用户权限管理详解
1.权限表MYSQL是一个多用户的数据库,MYSQL的用户可以分为两大类:(1) 超级管理员用户(root),拥有全部权限(2) 普通用户,由root创建,普通用户只拥有root所分配的权限1.1 权限表的位置数据库:mysql与权限相关的数据表:user,db,host,tables_priv,columns_priv,pr原创 2015-12-29 23:48:20 · 877 阅读 · 0 评论 -
MySQL视图使用详解
1. 视图的定义视图就是从一个或多个表中,导出来的表,是一个虚拟存在的表。视图就像一个窗口(数据展示的窗口),通过这个窗口,可以看到系统专门提供的数据(也可以查看到数据表的全部数据),使用视图就可以不用看到数据表中的所有数据,而是只想得到所需的数据。在数据库中,只存放了视图的定义,并没有存放视图的数据,数据还是存储在原来的表里,视图的数据是依赖原来表中的数据的,所以原来原创 2015-12-29 23:39:30 · 908 阅读 · 0 评论 -
MySQL触发器使用详解
1. 什么是触发器触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。 触发器从本质上来说,是一个存储过程,但是它与普通的存储过程不一样的地方在于,普通的存储过程是通过CALL方法进行调用的,而触发器不是用CALL调用,触发器是在我们提前设定好的事件出现以后,自动被调用的。原创 2015-12-29 23:29:44 · 871 阅读 · 0 评论 -
MySQL存储过程和函数以及游标使用详解
1. 什么是存储过程和函数将SQL语句放入一个集合里,然后直接调用存储过程和函数来执行已经定义好的SQL语句,通过存储过程和函数,可以避免开发人员重复编写相同的SQL语句。MYSQL存储过程和函数是保存在服务器中,在服务器中存储和执行,可以减少客户端和服务器端之间数据传输的消耗。存储过程就是一组已经保存在数据库中的语句,并且可以随时地调用。 存储过程允许标准原创 2015-12-29 23:15:41 · 1789 阅读 · 0 评论 -
MySQL函数之其他函数
返回当前的数据库名字:DATABASE()mysql> select DATABASE(); -> 'test' 如果没有当前的数据库,DATABASE()返回空字符串。返回当前MySQL用户名:USER() SYSTEM_USER() SESSION_USER()mysql> select USER(); -> 'davida@原创 2015-12-29 22:46:27 · 622 阅读 · 0 评论 -
MySQL函数之日期和时间函数
1. 获取当前日期的函数和获取当前时间的函数/*获取当前日期的函数和获取当前时间的函数,将日期以'YYYY-MM-DD'或者’YYYYMMDD’格式返回*/#CURDATE()与CURRENT_DATE()作用相同,返回相同的系统当前日期#CURDATE()+0则将当前日期值转换成数值类型SELECT CURDATE(), CURRENT_DATE(), CURDA原创 2015-12-29 16:32:28 · 515 阅读 · 0 评论 -
MySQL函数之数学函数
1. ABS(x): 返回x的绝对值mysql> select ABS(1), ABS(-1), ABS(0);+--------+---------+--------+| ABS(1) | ABS(-1) | ABS(0) |+--------+---------+--------+| 1 | 1 | 0 |+--------+----原创 2015-12-29 14:41:39 · 549 阅读 · 0 评论 -
MySQL函数之字符函数
1. 计算字符串字符数和字符串长度 - CHAR_LENGTH(s)CHAR_LENGTH(str): 返回str所包含的字符个数。mysql> select CHAR_LENGTH('MySQL');+----------------------+| CHAR_LENGTH('MySQL') |+----------------------+|原创 2015-12-29 14:01:14 · 577 阅读 · 0 评论 -
利用Navicate把SQLServer转MYSQL的方法(连数据)
本次转换需要依赖使用工具Navicat Premium。 首先,将数据库移至本地SQLServer,我试过直接在局域网上其他SQLServer服务器上想转到本地Mysql好像有问题,想将远程数据库备份恢复到本地。 1、打开Navicat Premium,新建一个同名的数据库,然后在表上点击“导入向导”。并选择“ODBC”。 2、选择SQLServer提转载 2016-07-11 16:11:47 · 4235 阅读 · 0 评论 -
Linux下定时备份MySQL数据库的Shell脚本
对任何一个已经上线的网站站点来说,数据备份都是必须的。无论版本更新还是服务器迁移,备份数据的重要性不言而喻。人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说。于是,有了下面这段脚本的出现。参考了网上的很多教程,外加自己的测试,以下脚本经测试可用。#!/bin/bash#Shell Command For Backup MySQL Database Everyday A转载 2016-11-28 17:01:24 · 529 阅读 · 0 评论 -
Mysql自动备份策略总结
1、物理备份:直接拷贝mysql的数据目录直接拷贝只适用于myisam类型的表。这种类型的表是与机器独立的。但实际情况是,你设计数据库的时候不可能全部使用myisam类型表。你也不可能:因为myisam类型表与机器独立,方便移植,于是就选择这种表,这并不是选择它的理由。缺点:你不能去操作正在运行的mysql服务器(在拷贝的过程中有用户通过应用程序访问更新数据,这样就无法备份当时的数转载 2016-11-28 17:08:39 · 941 阅读 · 0 评论 -
MySQL5种索引类型
一、简介MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引二、语句CREATE TABLE table_name[col_name data type][unique|fulltext][index|key][index_name](col_name[length])[asc|desc]1.unique|fulltext...转载 2018-12-06 13:36:32 · 5156 阅读 · 0 评论 -
CentOS7.2 调整mysql数据库最大连接数及系统默认限制说明
系统版本:CentOS7.2 64bitmysql版本:5.5.47-MariaDB#############################################################问题:CentOS7系统调整数据库最大连接数和之前有所不同,如下:1.查看mariadb数据库最大连接数,默认为151或者 执行 usr/bin/my原创 2018-01-11 18:09:47 · 1653 阅读 · 0 评论 -
mysql alter 语句用法,添加、修改、删除字段等
修改表名:ALTER TABLE admin_user RENAME TO a_use//增加主键[sql] view plain copyalter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add prima转载 2017-08-29 10:29:42 · 550 阅读 · 0 评论 -
mysql explain执行计划详解
mysql explain执行计划详解 1)、id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询。 2)、select_type列常见的有:A:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个B:p转载 2017-08-28 17:29:44 · 525 阅读 · 0 评论 -
Linux(Ubuntu)下MySQL的安装与配置
在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕。今天,需要在linux下用Qt连接mysql。遂安装配置了一把。 1)首先检查系统中是否已经安装了MySQL 在终端里面输入 sudo netstat -tap | grep mysql 若没有反映,没有显示已安装结果,则没转载 2017-06-22 12:00:53 · 608 阅读 · 0 评论 -
分布式架构学习之:MyCat在MySQL主从复制基础上实现读写分离
一、环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso JDK 版本:jdk1.7.0_45 MyCat 版本:Mycat-server-1.4-release-20151019230038-Linux.tar.gz MyCat 节点 IP:192.168.1.203 主机名:edu-mycat-01 MySQL转载 2017-05-23 15:51:59 · 519 阅读 · 0 评论 -
分布式架构学习之:MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL 版本:MySQL-5.6.22.tar.gz 主节点 IP:192.168.1.205 主机名:edu-mysql-01 从节点 IP:192.168.1.206 主机名:edu-mysql-02MySQL 主从复制官方文档 http://dev.mysql.com/doc/转载 2017-05-23 15:26:40 · 441 阅读 · 0 评论 -
分布式架构学习之:MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
部署环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL 版本:MySQL-5.6.22.tar.gz操作用户:root系统 IP:192.168.1.205 主机名:edu-mysql-01一、服务器配置: 1、配置网络 # vi /etc/sysconfig/network-script转载 2017-05-23 15:15:46 · 429 阅读 · 0 评论 -
Mysql添加联合唯一键以及指定自增长的起始值
一、单列唯一约束在一列上添加唯一约束,主要是让该列在表中只能有唯一的一行,例如注册邮箱时的邮箱名、手机号等信息,相关操作如下:1.建表时加上唯一性约束:CREATE TABLE `t_user` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(18) NOT NULL unique,转载 2015-11-25 16:26:17 · 1019 阅读 · 0 评论 -
Mysql批量删除相同前缀或后缀的表
oracl有drop table like 的用法。但是mysql没有,可以写脚本,也可以组装sql。注意,我的数据库名字是wmscloud,有一些表名为叫test10001、te10001、haha10001等,都有共同的表名后缀,批量删除第一步,首先生产drop组装sqlSELECT CONCAT('DROP TABLE ', GROUP_CONCAT(tabl原创 2015-11-25 16:15:27 · 941 阅读 · 0 评论 -
java.sql包
java.sql1,JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,并规定了JAVA开发人员访问数据库所使用的方法的调用规范2、每个数据库厂商会实现Driver接口,且会调用DriverManager的静态registerDriver方法。如: static { try { Dri转载 2013-01-30 17:10:06 · 700 阅读 · 0 评论 -
PrepareStatement与Statement之间的区别
①PrepareStatement是预编译,对于批量处理可以大大提高运行效率。 ②如果说所使用的SQL语句是一次性的话,那么使用Statement较好,因为,这样的话使用PrepareStatement并不会产生太大的效果,相反,可能还会在性能方面劣于Statement,毕竟PrepareStatement对象开销比Statement较大。 ③Statement每次执行SQL语句,相关数据库都原创 2012-12-10 15:17:30 · 443 阅读 · 0 评论 -
SQL中的事务以及批量更新
1、SQL中的事务指的是将一组SQL语句同时提交,举个例子吧:在银行转账的时候,它的执行过程应该是先把钱取出来,然后再把钱存到另一个账号里面去吧,它的SQL执行过程应该是先DELETE,然后再UPDATE吧,如果在UPDATE的时候突然网络出了问题,其结果会是怎样呢?按照单条语句的提交策略则会因此导致钱没存进去,但是却已经取出来啦,这样的话我相信银行早晚会乱套的。但是,我们可以才去事务的方法去解决原创 2012-12-10 15:17:24 · 872 阅读 · 0 评论 -
分表与分区的选择(MYSQL)
MySQL数据结构SQL 案例: 一次在一个项目中有两张表数据比较庞大(线上) 一个是操作日志表: A 4819556条 插入,修改,查询较多,老的记录查询可能较少, 一个是接口调用表: B 60719333条 插入和查询频繁 数据量都比较大,这次采用的数据库优化方案是分区。 分区和分表的区别和联系是啥? 分区和分表的目的都是提升数据库的访问性能,而对于应用来说,分区用的是数据库原创 2012-12-10 15:16:46 · 908 阅读 · 0 评论 -
MySQL 数据类型
MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。 表列出了各种数值类型以及它们的允许范围和占用的内存空间。 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127)原创 2012-12-10 15:15:54 · 347 阅读 · 0 评论 -
Sqlserver bcp批量导入、导出数据(2008-05-23 14:48:40| 分类: 数据库技术)
最近在一个项目中用到sqlserver大数据量的导入问题,用到的解决方法是bcp的方式,现在归纳一下,以便以后用到时好查阅. bcp用法介绍: bcp {[[database_name.][owner].]{table_name | view_name} | "query"}{in | out | queryout | format} data_file[-m max_errors] [-f f原创 2012-12-10 15:14:00 · 1039 阅读 · 0 评论 -
SQL SERVER 2005 分区表实际操作( 2008-03-03 16:25:30| 分类: 数据库技术 )
因为在中山IOD项目开发中,遇到数据量非常大的情况,一天一个表一个G,考虑数据查询效率问题,需要进行表分区的操作,具体的原理就类似于把一个表的资 料放在不同的分区里面,当查询时,如果都在同一个单独的分区内的话,就不用进行全表扫描,因此在这些情况下可以提高查询的效率,但如果所有分区都要查询所 有资料的话,分区并不会提高效率. 下面是具体的SQL语句: 1、最基本,最重要的一步就是创建分原创 2012-12-10 15:13:58 · 472 阅读 · 0 评论 -
常见的数据库驱动程序( 2008-11-25 17:33:07| 分类: 数据库技术)
常见的数据库驱动程序1.MySQL(http://www.mysql.com)mysql-connector-java-2.0.14-bin.jar Class.forName( "org.gjt.mm.mysql.Driver" ); cn=DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabas原创 2012-12-10 15:14:04 · 389 阅读 · 0 评论 -
mongodb客户端(windows平台)- MongoVUE
1)下载地址http://www.mongovue.com/downloads/2)安装 windows平台安装方式(需求window系统里面至少安装Microsoft .NET Framework 3.5)3)利用MongoVUE 客户端连接mongodb MongoVUE 1.5.3 无限重置13天试用期的方法转载 2013-02-02 11:16:35 · 1269 阅读 · 0 评论 -
MongoDB在Windos环境下的安装、启动、关闭
学习文档下载地址: http://download.youkuaiyun.com/download/sanlai116/3337089 一、安装mongod方法: 下载地址:http://www.mongodb.org/downloads下载适合你机型的版本在你机子上如D盘下建立一个mongodb的文件夹,将下载解压的bin文件夹复制到此mongodb下,另外需手动自建datas和log文件夹原创 2013-02-01 10:28:36 · 749 阅读 · 0 评论 -
Mysql命令行下备份恢复数据库数据操作
进入mysql数据库 D:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -u root -p itmmysql> set names gbk; 设置中文mysql> \. d:\test.sql 运行 sql文件、、、、、、、、、、、、、、、、、、、、、、、、、、、、、导出数据库中所有表的sql脚本(包含数据):1.运行原创 2013-11-15 23:47:41 · 923 阅读 · 0 评论 -
修改oracle数据库表字段类型,处理ORA-01439错误
对已经有数据的表修改字段类型时,Oracle提示:ORA-01439: 要更改数据类型, 则要修改的列必须为空。可以创建新表,灌入原表数据后再改名,或者创建临时字段,替换数据后再删除。 测试环境:drop table foo;create table foo (col_name varchar2(5));insert into foo val转载 2015-05-24 11:41:34 · 838 阅读 · 0 评论 -
ORACLE SEQUENCE用法
ORACLE SEQUENCE用法在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。 1、Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下: CREATE SEQUENCE seqTestI转载 2015-04-18 16:58:23 · 519 阅读 · 0 评论 -
mysql在ubuntu环境下配置主从数据学习笔记
mysql主备、互为主备配置原创 2015-04-10 22:21:17 · 633 阅读 · 0 评论 -
Mysql varchar VS Oracle varchar2
mysql和oracle做数据同步。其中表的一个字段在mysql中设置为varchar(6),Oracle中为varchar2(6)但mysql中能正常存放的数据同步到oracle中却抱ORA-12899: value too large for column错误。这是为什么呢?mysql中varchar(6)代表可以存放6个汉字,6个字母,或6个数字。oracle中varch转载 2015-03-23 23:20:34 · 644 阅读 · 0 评论 -
ORA-12518: TNS: 监听程序无法分发客户机连接
今天安装的oracle数据库出现ORA-12518问题,今采用下文的第一步获得了初步的解决,特留文记录。 在团队成员增多时,经常出现“无法分发客户端连接”等问题。在网上搜索一番后,最终解决了该问题,现将解决方案总结如下,以供参考和以后备用。原因:团队成员增多,原有数据库设置不够用,导致连接plsql和启动tomcat时经常抛出“无法分发客户端连接”的异常。解决方案转载 2014-12-23 16:35:48 · 1103 阅读 · 0 评论 -
ORA-12514 Oracle错误解决办法及startup命令、shutdown命令和lsnrctl 命令介绍
最近为一个老的系统做Oracle数据备份、恢复的时候,遇到原创 2014-09-30 11:01:31 · 4452 阅读 · 0 评论 -
Oracle11g导出dmp空表不能导出解决办法
因为Oracle11g 有一个特性就是:原创 2014-06-06 14:58:17 · 870 阅读 · 0 评论