Oracle10g数据库

来源:互联网 发布:掰弯体验知乎 编辑:程序博客网 时间:2024/06/15 20:13

一、概述(针对oracle10g)
1、在开发中,要连接到数据库服务器,必须安装oracle客户端。
2、安装完成之后,可用以下两种方法连接客户端:
 法一:  #sqlplus    username/password@192.168.1.100:1521/ora10g
 法二:  #vim /oracle/ora10/product/network/admin/tnsnames.ora
 添加: ora10g100 =
                      (DESCRIPTION=
                           (ADDRESS = (PORTOCOL=TCP)(HOST=192.168.1.100)(PORT=1251))
                                (CONNECT_DATA=(SERVICE_NAME=ORA10G)))
               #sqlplus    username/password@org10g100

二、常用命令
1、设置每行显示的长度为200字节: >set linesize 200;
2、设置每页显示的记录数为100行: >set pagesize 100;
3、查看某表的完整结构:   >desc 表名;
4、查看当前数据库的所有用户:  >select * from all_users;
5、查看当前用户的所有表名:  >select table_name from user_tables;
6、查看当前用户的所有索引:  >select index_name from user_indexs;

三、创建表和管理表

常见的数据类型有:  NUMBER(),   VARCHAR(),  DATE(),  CLOB()大文本4G以上, BLOB(图片,歌曲,视频等)

1、创建表:

create  table   表名(

                        username       varchar(20)    primary  key,

                       password         number(8)     unique  not  null,

                       sexy  number(2)      default   'boy'  check(sexy  in ('boy', 'girl') ),

                      //constraint  persionid  primary key(username)             //主键的另一用法

);

2、复制表: create  table  表名  as  (select 查询语句);

3、删除表: delete  table  表名 ;

4、修改表: alter    table   表名  add (sessionid,  number(20) );         //增加

                      alter     table  表名  modify(username, varchar(10), 'xiao');   //修改 

四、操作表

1、查询: select   name  [as  姓名]    from  tablename  [where    查询条件]    [ group  by   列名   having   条件]   [order  by  列名  desc];

2、更新:update  tablename   set   name=‘xiaoming’   [where    修改条件];

3、插入:insert    into  tablename(列名1,列名2...)       values('xiaoming', 3...);

4、删除:delete   from  tablename  [where   删除条件];

注:条件语句

五、视图操作

        视图实际上就是封装了一条复杂的查询语句。

1、创建视图:  create  view   视图名称   as     子查询;

2、查询视图: 同查询表

       视图的作用一般是用来查询的,所有一般不修改。

六、事物处理:
        保证数据操作的完整性,所有的操作只有两种结果,要么成功,要么失败。
        当执行update、delete、insert等语句后,必须用commit(提交)事务之后才真正修改到数据库中,若未提交之前则可以rollback(回滚)。
七、序列:
        实现列的自动增长。
1、创建序列: create sequence  序列名   [increment  by  2]  [start  with  100]  [maxvalue 1000 |  minvalue  10 |  nomaxvalue]  [cycle | nocycle]
2、删除序列:drop  sequence  序列名;
3、用法:  insert  into  tablename(id,num)   values(序列名.nextval,  序列名.currval);
                    select ....  
八、约束:
1、
九、索引:
       用于加速数据存取的对象,降低I/O次数,提高数据库的访问性能。(用于经常需要查询的字段)
1、创建索引: 
  • 单例索引: create   index   索引名   on   列名| 表名;
  • 复合索引: create   index   索引名   on   表名(列1,列2..)
2、索引的使用原则
  • 在大表上建立索引才有意义。
  • 在where子句中,连接条件上经常引用索引。
  • 索引的层次应当小于4层。
3、索引的缺点
  • 建立索引,系统需要占用表空间的1.2倍的硬盘和内存空间来保存索引。(空间换时间)
  • 更新数据时,系统必须有额外的时间对索引进行更新,从而保持一致性。
  • 索引只是为了快速的访问数据库,如更新、插入较多时则不适用。
十、数据库的设计范式:
十一、数据库的备份与恢复:
十二、数据库的设计分析(ER图):
原创粉丝点击