随笔分类 -  dataset

数据库相关
摘要:DCL(Data Control Language)数据控制语言,用户对某类数据具有何种操作权限是有DBA决定。Oracle通过数据控制语言的GRANT语句完成权限授予操作,REVAKE 语句完成权限收回操作,权限的结果存入Oracle的数据字典中。 权限分为两类: 系统权限和对象权限 系统权限 是在数据库中执行某种特定操作的权利,系统权限并不针对某个特定的对象,而是针对整个数据库范围。常用的系统权限有:CREATE SESSION 连接到数据库上CREATE SEQUENCE 创建序列,序列是一系列数字,通常用来自动填充主键列CREATE SYNONYM 创建同名对象CREAT... 阅读全文
posted @ 2012-12-08 11:39 liangflying 阅读(1338) 评论(0) 推荐(0)
摘要:DML包括 INSERT DELETE UPDATE SQL> INSERT INTO students VALUES(10138,10101, '王一',‘20-12 月-1989’) SQL> UPDATE students SET student_id = 10195 WHERE student_id = 15252; SQL> DELETE FROM students_grade; 删除数据 TRUNCATE TABLE 截断表 用于删除表中所有的数据 SQL> TRUNCATE TABLE teachers DELETE删除的表中所有数据时,不 阅读全文
posted @ 2012-12-08 11:07 liangflying 阅读(180) 评论(0) 推荐(0)
摘要:内连接查询 内连接查询组合两国或多个表(视图)中的数据,其查询结果含有多个原表中的相关数据。内连接查询返回满足连接条件的记录航,删除不满足连接条件和匹配列中带有NULL值的记录行。 SQL> SELECT teacher_id, name, department_name FROM teachers, departments WHERE teachers.department_id = departments.department_id; 外连接查询 左外连接 左外连接查询添加回内连接查询从第一个表中删除的所有行。NULL值被防区其他表的列中。 SQL> SELECT te... 阅读全文
posted @ 2012-12-07 21:46 liangflying 阅读(177) 评论(0) 推荐(0)
摘要:子查询 根据返回结果不同分为单行子查询、多行子查询、多列子查询。 单行子查询返回一行一列数据给外部的SQL语句;多行子查询返回多行单列数据给外部的主SQL语句;多列子查询返回多列(单行或多行)数据给外部的SQL语句。 有时,子查询引用了外部住查询中包含的表列,并且子查询不能再外部查询之前求职,需要依靠外部查询才能获得值,这样的子查询被称为相关子查询。 SQL语言允许子查询嵌套,Oracle 10g的嵌套深度允许高达255级。嵌套子查询是查询效率降低,使用时需要加以考虑。 单行子查询 单行子查询可以用于主句的WHERE子句、HAVING 子句 和 FROM 子句中。 WHERE :... 阅读全文
posted @ 2012-12-07 20:41 liangflying 阅读(1267) 评论(0) 推荐(0)
摘要:SELECT 语句功能强大,语法比较复杂,完整的SELECT 语句有六个子句构成 分别是:SELECT 子句,指定要获取表中那些列数据。FROM 子句,指定数据来自哪个(些)表。WHERE 子句,指定获得那些行数据。GROUP BY 子句,用于对表中数据进行分组统计。HAVING 子句,在对表中数据进行分组统计时,指定分组统计条件。ORDER BY 子句,指定使用哪几列来对结果进行排序。 其中SELECT子句和FROM子句是必选项,其余子句为可选项。ORDER BY 必须是最后一条子句。 DISTINCT 用于消除重复记录行, SQL> SELECT DISTINCT specialt. 阅读全文
posted @ 2012-12-07 18:45 liangflying 阅读(372) 评论(0) 推荐(0)
摘要:PL SQL语言有以下几个部分组成:数据定义语言(DDL)。数据定义语言用于执行数据库的任务,对数据库以及数据库中各种队形进行创建、删除、修改等操作。基本的DDL命令如下:ALTER PROCEDURE 重新编译存储过程 ALTER TABLE 修改表ANALYZE 搜集数据库对象性能统计资料 ALTER TABLE AND CONSTRAINT 在已有的表上增加约束 CREATE TABLE 创建表 CREATE INDEX 创建索引 DROP TABLE 删除表 DROP INDEX 删除索引数据操纵语言(DML)。数据操纵语言用户操纵数据库中各种对象、检索和修改数据。使用... 阅读全文
posted @ 2012-12-07 16:27 liangflying 阅读(188) 评论(0) 推荐(0)
摘要:数据库的内部结构有以下10种 1表空间,表空间是数据库的逻辑划分,一个表空间只属于一个数据库。每个表空间有一个或多个数据文件组成。一般Oracle系统完成安装后,会自动创建多个表空间System表空间存放Oracle系统内部表和数据字典的数据,如表名,列名,用户名等。一般不赞成将用户创建的表,索引等放在SYSTEM表空间中SYSAUX表空间,是Oracle 10g新增加的表空间,主要存放Oracle系统内部的常用阳历用户的对象,如存放CMR用户的表和索引等。SYSAUX表空间一般不存储用户的数据,有Oracle系统内部自动维护。UNDO表空间,是存储撤销信息的表空间,当用户对数据库表进行... 阅读全文
posted @ 2012-12-07 15:16 liangflying 阅读(214) 评论(0) 推荐(0)
摘要:索引在数据库中是用B-树来实现的,穿件索引的命令时 CREATE [UNIQUE] INDEX 索引名 ON 表名(列名,...)例如: CREATE INDEX idx_lname_pinyin ON employee(lname_pinyin)。 使用命令SHOW INDEX FROM 表名,可以查看表中所有的索引, 删除索引 可以使用 DROP INDEX 索引名 ON 表名; 创建唯一索引,相当于给列加了一个唯一性约束。 确认索引使用情况,用EXPLAIN 如 EXPLAIN SELECT * FROM employee WHERE lname_pinyin='wang' 阅读全文
posted @ 2012-12-06 15:50 liangflying 阅读(207) 评论(0) 推荐(0)
摘要:锁定的种类有共享锁(Shared Lock)和排它锁(eXclusive Lock)。共享锁也教唆读取锁定,上了共享锁后其他用户可以继续读取数据,但是不能修改。排它锁有加写入锁定或者独占锁定,其他用户不能访问数据。 锁定粒度就是锁定对象的大小,有三种锁定粒度:记录(行)表数据库 并不是锁定粒度越小越好,如果数据库中行单位粒度的锁定大量发生是,数据库有将这些锁定的李东自动向上提升的机制,通常被成为锁定提升(Lock Escalation) 分离水平用来确定事务处理之间的影响程度(同时运行时相互影响的机制),分离水平越高,数据的整合性随之越高,但同时运行性下降。相反如果分离水平越低,数据... 阅读全文
posted @ 2012-12-06 12:26 liangflying 阅读(534) 评论(0) 推荐(0)
摘要:MySql有一个重要的特征,被称为Pluggable Storage Engine Architecture(可替换存储引擎构架)。有两个重要的存储引擎:MyISAM 和 InnoDB 。其中MyISAM不支持事务处理,但是速度较快,InnoDB支持行锁定及事务处理,比MyISAM速度稍慢。有一个最新的存储引擎Falcon也支持事务处理,以后可以研究一下。Mysql5.5使用的默认存储引擎是InnoDB。 使用命令 SHOW CREATE TABLE 表名 命令可以显示使用的是哪种存储引擎。更改表的引擎可以使用ALTER TABLE 表名 ENGINE=新引擎 在sql命令后面用\G来... 阅读全文
posted @ 2012-12-06 11:32 liangflying 阅读(789) 评论(0) 推荐(0)
摘要:修改表的结构 修改主要命令是ALTER TABLE修改列的定义:ALTER TABLE ... MODIFY追加列:ALTER TABLE ... ADD修改列的名称与定义: ALTER TABLE ... CHANGE删除列:ALTER TABLE ... DROP改变列的数据类型--MODIFY: ALTER TABLE visitor MODIFY nam VARCHAR(30);追加新列--ADD: ALTER TABLE visitor ADD old INT; 1.在表的头部追加新列,默认添加的列放在表的末尾,如果想放到前面就用关键字 FIRST: ALTER TABLE vis. 阅读全文
posted @ 2012-12-05 21:53 liangflying 阅读(268) 评论(0) 推荐(0)
摘要:MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录) www.2cto.com 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名如我输入的命令行:mysqldump -u root -p news > news.sql (输入后会让你输入进入MySQL的密码)(如果导出单张表的话在数据库名后面输入表名即可)3、会看到文件news. 阅读全文
posted @ 2012-12-05 21:10 liangflying 阅读(171) 评论(0) 推荐(0)
摘要:MySql的命令行输入程序叫做监视器(Monitor),通过dos进入,需要将Mysql的bin文件夹放入路径中。 进入Mysql数据库的方法: mysql -u root -p ****; 或者mysql -u root -p;(注意Mysql中SQL语句要想执行必须末尾加分号,或者可以回车后再加分号)建议使用第二个,这样不会被看见密码,也不会被人通过dos中记录命令的功能进入Mysql。 Mysql可以通过show命令查看数据库和表 SHOW DATABASES; SHOW TABLES; 使用DESC 或DESCRIBE来显式表的列结构,DESC custormer; 其他建... 阅读全文
posted @ 2012-12-05 21:06 liangflying 阅读(192) 评论(0) 推荐(0)