
数据库
scalad
github地址:https://github.com/scalad
展开
-
数据库系统的三级模式结构
数据库系统的三级模式结构是指数据库是由外模式、模式和内模式三级构成, 通过二级映象功能将三个模式联系起来。 内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。并且一个数据库只有一个内模式。模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,与转载 2015-01-22 19:36:30 · 2399 阅读 · 0 评论 -
ORA-12560: TNS: 协议适配器错误
不知怎么的oracle12c竟然无法连接了,如下所示:SQL*Plus: Release 12.1.0.2.0 Production on 星期日 1月 25 20:37:492015 Copyright (c) 1982, 2014, Oracle. All rights reserved. 请输入用户名: system输入口令:ERROR:ORA-12560原创 2015-01-26 09:01:32 · 7066 阅读 · 0 评论 -
SQLServer 查询所有表名 + 查询表结构
SQLServer查询某数据库所有表的表名:select name from sysobjects where xtype='U';sqlserver查询某表的表结构:SELECT syscolumns.name,systypes.name,syscolumns.isnullable, syscolumns.length FROM syscolum转载 2015-01-23 19:57:01 · 1735 阅读 · 0 评论 -
SQL Server唯一索引和非唯一索引的区别简析
SQL Server创建索引时,可以指定Unique使之成为唯一索引。“唯一”顾名思义,但是两都到底有什么区别呢?因为索引也是一种物理结构,所以还是要从存储和结构上分析。索引结构分叶级和非叶级,分析时我们要分开来看,这个很重要。文中涉及的索引行大小计算,参考MSDN估计数据库大小索引部分。1. 非唯一聚集索引和唯一聚集索引 创建两个测试表,各10000条整数,tb转载 2015-01-28 18:26:01 · 4852 阅读 · 0 评论 -
Oracle Database 12c可插拔数据库应用案例
对于那些苦于管理大规模数据库的DBA来说,也许新版的Oracle Database 12c中的可插拔数据库(Pluggable Database,简称PDB)功能将成为他们的福音。 针对Oracle 12c数据库测试用户的一份调查显示,新版本中他们认为最强大的功能就是PDB。就如同服务器虚拟化技术从底层硬件层面将操作系统抽象出来一样,Oracle 12c中的PDB就是从管理系统中转载 2015-01-31 20:57:32 · 2904 阅读 · 0 评论 -
oracle日期的插入操作
Oracle 中如何插入日期时间类型的数据,演示的数据表如下create table t( mydate date); SQL> insert into t values(to_date('2015-1-30 12:20:33','YYYY-MM-DD HH24:MI:SS'));SQL> select to_char(mydate,'YYYY-MM-DD HH24:MI:SS') f原创 2015-01-30 21:25:11 · 1395 阅读 · 0 评论 -
对ORACLE 已提交的事务进行回滚之详细版和操作版
详细版:Logminer是每个Dba都应熟悉的工具,当一天由于用户的误操作你需要做不完全的恢复时,由于你无法确定这个操作是哪个时间做的,所以这对你的恢复就带来的很大的难度,丢失的数据也不能完全恢复回来。而LogMiner就可以帮你确定这个误操作的准确时间。一、LogMiner的几点说明1、LogMiner可以帮你确定在某段时间所发的各种DML,DDL操作的具体时间和 SCN转载 2015-02-02 23:04:37 · 1215 阅读 · 0 评论 -
Oracle 12c 数据库CDB用户创建与表空间分配的问题
Oracle12c中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为PluggableDatabase,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而原创 2015-02-01 19:19:43 · 4376 阅读 · 0 评论 -
mysql中的.frm .myd .myi文件
昨天看到一个图书管理系统的程序时,发现数据库文件是MYI,frm和myi文件,不是平常用的.sql文件,以前没有用过这种文件,以前都没有注意到这一点。网上搜索了一下,呵呵,顺利导入到MYSQL中了。 首先我们先介绍一下.frm .myd .myi是什么文件。.frm .myd .myi都是Mysql存储数据的文件, 代表MySQL数据库表的结构/数据和索引文件 ,我们默认创建数原创 2015-02-06 21:28:01 · 2304 阅读 · 0 评论 -
MySQL数据移植中的乱码问题
MySQL数据如果从低版本的mysql向更高的版本移植的时候,若移植的数据中含有中文的数据时,很容易出现乱码问题。很多是在从MySQL4.x向MySQL5.x移植的时候出现。例如,我找了一个用mysql.4建立的表,表结构如下:CREATE TABLE `tb_bookcase` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `nam原创 2015-02-07 08:44:51 · 1101 阅读 · 0 评论 -
mysql按行进行查询( 查询第几行到第几行记录 查询最后一行和第一行记录 查询前几行和后几行记录)
1、查询第一行记录: select * from table limit 12、查询第n行到第m行记录 select * from table1 limit n-1,m-n; SELECT * FROM table LIMIT 5,10;返回第6行到第15行的记录 select * from employee l转载 2015-02-08 14:31:56 · 6438 阅读 · 0 评论 -
jdbc批处理
有的时候,我们需要一次性插入很多的数据或者一次性更新、删除很多的数据,那么为了提高效率,我们不妨使用JDBC的批处理来完成。看下面的小例子。package testBatch;import java.sql.*;public class testBatch {public static void main(String[] args) throws SQLException原创 2015-02-09 23:14:15 · 729 阅读 · 0 评论 -
可滚动的结果集
可滚动的结果集,也就就是说我们在读取数据库中的记录时不用逐个逐个的读取,而可以根据我们的具体需要跳过几条记录再进行读取 所要用到的ResultSet中的两个属性:TYPE_SCROLL_INSENSITIVE(对滚动不敏感)。其中scroll译作滚动,sensitive译作敏感,insensitive译作不敏感的。另一个属性:CONCUR_READ_ONLY(并发访问时只读原创 2015-02-10 11:26:46 · 1947 阅读 · 0 评论 -
oracle查看当前的数据库实例名称,主机名称
SQL> column host_name format a30 --先对字段进行格式化操作SQL> select instance_name,host_name from v$instance;INSTANCE_NAME HOST_NAME---------------- ------------------------------原创 2015-02-12 10:29:59 · 11473 阅读 · 0 评论 -
mysql客户端数据乱码问题
往mysql插入中文数据时出现乱码,如下:mysql> select * from test;+------+-----------+| id | name |+------+-----------+| 1 | 鐜嬪煿鍧?|| 2 | 鐜嬫檽宄?|| 3 | 寮犲皬闆?|| 4 | 鐜嬮洩宄?|| 5 | 闄嗕簯原创 2015-02-10 23:09:06 · 1064 阅读 · 0 评论 -
oracle的Spool命令
使用spool命令实行将sql*plus中的输出的结果复制到一个指定的文件中,或者把查询的结果发送到打印机中,直接使用spool off命令为止。spool命令的语法如下:spool [file_name [create|replace|append] off|out]其中file_name指定一个操作系统文件create将创建一个指定的file_name文件r原创 2015-02-13 18:12:51 · 5714 阅读 · 0 评论 -
Oracle的edit命令
使用edit命令,可以将sql*plus缓冲区中的内容复制到一个名为afiedt.buf的文件中,然后启动操作系统中默认的编辑器打开这个文件,并且文件的内容能够进行编辑。在Windows操作系统中,默认的编辑器是notepad(记事本)。语法如下: Edit[file_name]其中,file_name默认为afied.buf,也可以指定其他的文件。例如,在我的e盘中有个que原创 2015-02-13 15:18:00 · 3066 阅读 · 0 评论 -
Oracle驱动classes12.jar 与ojdbc14.jar的区别
简单的说,如果使用jdk1.2和jdk1.3就使用classes12.jar;如果使用的jdk1.4和jdk1.5的,就选用ojdbc14.jar。更加详细的Oracle官方有说明。以下是Oracle JDBC官方文档的说法:也就是随便翻译一下就理解了。JDBC Thin for All Platforms classes12.jar (1,600,090 bytes) - f转载 2015-02-27 22:32:22 · 3981 阅读 · 0 评论 -
Oracle中的变量
在sql语句中,可以在使用变量之前对变量进行定义,然后在同一个sql语句中可以多次使用这个变量。定义变量,可以使用define或accept命令;删除变量,可以使用undefine命令。使用define命令define 显示所有的已定义变量define variable 显示指定变量的名称,值和其参数类型define variable=value创建一个char类型的用户变量原创 2015-02-14 18:03:35 · 1307 阅读 · 0 评论 -
mysql中使用UUID
在mysql数据库中,可以使用uuid()语句来生成一个UUID:例如:mysql> select uuid();+--------------------------------------+| uuid() |+--------------------------------------+| 44089d46-原创 2015-02-27 21:40:28 · 9243 阅读 · 0 评论 -
oracle移动表
oracle移动表在创建表时可以为表指定存储空间,如果不指定,oracle会将该表存储到默认的表空间中。根据需要可以将表从一个表空间移动到另一个表空间中。语法如下:alter table table_name move tablespace tablespace_name;SQL> select table_name,tablespace_name from user_tables;原创 2015-03-15 06:46:13 · 1340 阅读 · 0 评论 -
oracle常用的数据字典
查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * fr转载 2015-03-03 17:24:26 · 493 阅读 · 0 评论 -
oracl链接与断开数据库
要从命令行直接启动sql*plus,可以使用SQLplus命令,sqlplus命令的语法的形式如下:sqlplus[user_name[/password][@connect_identifier]][as {sysoper|sysdba|sysasm}]|/nolog]语法的说明如下:user_name指定数据库的用户名。password指定数据库的用户口令。@connnec原创 2015-03-04 10:41:32 · 898 阅读 · 0 评论 -
mysql查看和设置连接数
mysql查看和设置设置数据库可以连接数目,使用下面的额语法查看当前数据库别连接的数量 show global status like 'Max_used_connections';下面的语句可以查看该数据库可以连接的数量。show variables like '%max_connections%'; 下面这个是设置连接数的命令,但是如果mysql数据库重启的 该设置重置回去原创 2015-03-20 00:12:15 · 685 阅读 · 0 评论 -
修改表空间(修改数据文件的自动扩展性)
修改表空间(修改数据文件的自动扩展性) 在创建表空间时,可以设置数据文件的自动扩展性。在为表空间增加新的数据文件时,也可以设置新数据文件的自动扩展性。而对于已创建的表空间中的已有的数据文件,则可以使用alter database语句修改其自动扩展性,其语法如下:alter database datafile file_name autoextend off|on[ne原创 2015-03-06 23:48:20 · 9077 阅读 · 0 评论 -
oracle查看表空间的属性 ,修改表空间的状态
表空间的状态属性主要有在线(online),离线(offline),只读(read only)和读写(read write)这四种,其中只读与读写状态属于在线状态的特殊情况,通过设置表空间的状态属性,我们可以对表空间的使用进行管理。在线 当表空间的状态为online时,才允许访问该表空间中的数据。 如果表空间不是online状态的,可以使用alter table原创 2015-03-06 18:52:18 · 7705 阅读 · 0 评论 -
oracle修改表空间的大小
oracle修改表空间的大小 在创建表空间的时候,需要在物理磁盘上为表空间创建数据文件。数据文件的大小决定了创建表空间的大小。构成表空间的数据文件可以位于不同的物理磁盘上,表空间的大小就党羽不同物理磁盘上所有的数据文件的大小之和。 如果在使用表空间的过程中,出现了表空不足的情况,那么就需要增减表空间的大小,具体的实现时,可以采用增加数据文件的大小,有可以增加一个新的数据文件来增原创 2015-03-06 19:07:05 · 1912 阅读 · 0 评论 -
重命名表空间和删除表空间
在需要的情况下,可以对表空间的名称进行修改。修改表空间的名称,不会影响到表空间中的数据。但不能修改系统表空间system与sysaux名称。重命名表空间的语法如下:alter tablespace tablespace_name rename to new_tablespace_name;注意:如果表空间的状态为offline,则无法重命名表空间。删除表空间删除表空间需要使原创 2015-03-07 21:50:27 · 1022 阅读 · 0 评论 -
oracle级联操作
在添加foreing key约束时,还可以指定级联操作的类型,主要用于确定当删除(on delete) 附表中的一条记录时,如何处理子表中的外键字段,有如下三种引用类型。cascade此关键字用于表示当删除主表中被引用列的数据时,将子表中相应应用列的值置为null值,这种情况要求子表中的引用列支持null值set null此关键字用于当删除主表中被引用列的数据时,将子表中相应引原创 2015-03-20 16:54:01 · 1069 阅读 · 0 评论 -
oracle添加not null约束
在创建表时,为列添加not null约束,形式如下:column_name data_type[constraint constraint_name] not null其中,constraint constraint_name 表示为约束指定名称。也可以为已创建的表中添加not null约束,这时就需要使用alter table... modify语句,形式如下:alter t原创 2015-03-17 09:23:56 · 7509 阅读 · 0 评论 -
全外连接和交叉连接
全外连接是在结果中除了显示满足连接的条件的行外,还显示了join两侧表中所有满足检索条件的行。SQL> select e.empno,e.ename,e.sal,d.grade 2 from emp e full outer join salgrade d 3 on e.sal between d.losal and d.hisal; EMPNO ENAME原创 2015-03-27 23:59:53 · 732 阅读 · 0 评论 -
oracle的字符函数
Oracle字符函数说明:字符函数输入值为字符类型,返回值为字符类型或数字类型,可以在sql语句中直接使用,也可以在pl/sql 块中使用。1、ASCII(n)函数描述: 返回字符串的ascii 码(当输入为字符串时返回第一个字符的ascii 码)Examples:select ascii(‘A’) “test”,ascii(‘我们’) “test1” from dual;转载 2015-03-28 00:09:16 · 594 阅读 · 0 评论 -
交叉连接和全连接
全外连接是在结果中除了显示满足连接的条件的行外,还显示了join两侧表中所有满足检索条件的行。SQL> select e.empno,e.ename,e.sal,d.grade 2 from emp e full outer join salgrade d 3 on e.sal between d.losal and d.hisal; EMPNO ENAME原创 2015-03-27 19:24:01 · 1783 阅读 · 0 评论 -
oracle创建大文件表空间
大文件表空间是oracle10g以及以后的版本引进的一个新表空间类型,主要用于决解存储大文件不够的问题。与普通表空间不同的是,大文件表空间只能对应唯一一个数据文件或临时文件,而普通表空间则可以最多对应1022个数据文件或临时文件。 虽然大文件表空间只能对应一个数据文件或临时文件,但其对应的文件可达4G数据块大小,而普通表空间对应的文件最大可达4M个数据块大小。创建大文件表空间原创 2015-03-10 09:15:39 · 1508 阅读 · 0 评论 -
oracle创建临时表空间组
在oracle11g以后,用户可以创建临时表空间组,一个临时表空间组中可以包含一个或多个临时表空间。临时表空间组中必须由至少一个临时表空间组成,并且无明确的最大数量限制。如果删除一个临时表空间组的所有成员,该组也自动被删除。临时表空间的名字不能与临时表空间组的名字相同。在给用户分配的一个临时表空间时,可以使用临时表空间组的名字代替实际的临时表空间名;在给数据库分配默认临时表空间时,原创 2015-03-09 22:58:57 · 1165 阅读 · 0 评论 -
oralce临时表空间的创建与修改
临时表空间是一个磁盘空间,主要用于存储用户在执行order by灯语句进行排序或汇总时产生的临时数据。在默认的情况下,所有的用户都使用temp作为默认临时表空间。但是允许使用其他临时表空间作为默认临时表空间,这需要在创建用户时进行指定。 创建临时表空间是时需要使用temprary关键字,并且与临时表空间对应的是临时文件,由tempfile关键字指定,也就是说,临时表空间中不再使用数原创 2015-03-09 20:20:28 · 933 阅读 · 0 评论 -
oracle设置默认的表空间
在oracle中,用户的默认永久性表空间为system,默认临时表空间为temp。如果所有的用户都使用默认的临时表空间,无疑会增加system与temp表空间的竞争性。oracle允许使用自定义的表空间作为默认的永久性表空间,使用自定义临时表空间作为默认临时表空间。设置默认的表空间的语法如下。alter database default [temporary] tablespace t原创 2015-03-11 20:35:59 · 3796 阅读 · 0 评论 -
oracle查询序列
查询某一用户下的序列,其中user_name是你当前数据库的登录名SQL> select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences where sequence_owner='user_name';SEQUENCE_OWNER SEQUENCE_NAME-------------------- -----------原创 2015-03-11 22:55:32 · 6568 阅读 · 0 评论 -
oracle的日期函数
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyy转载 2015-03-28 17:55:17 · 566 阅读 · 0 评论 -
oracle的数学函数
1、三角函数SIN ASIN SINHCOS ACOS COSHTAN ATAN TANH[sql] view plaincopySELECT SIN(3.14159265/6), A转载 2015-03-28 17:52:14 · 733 阅读 · 0 评论