Oracle学习笔记-基本信息

1、常用数据类型:

  --char(size):固定长度的字符数据类型,长度size指定;使用char时,可以不指定最大长度,此时最大长度为1.

  --nchar(size):多字节字符集的固定长度字符域,长度随字符集而定;使用nchar时,可以不指定最大长度,此时最大长度为1.

  --varchar2(size):变长的字符串,最大长度由size指定。必须指定最大长度,长度最小值为1。

  --nvarchar2(size):最大长度由size指定。必须指定最大长度,长度最小值为1。

  --date:检查日期范围和格式,从January 1,4712 BC 到December 31,9999 AD。

  --number(p,s):数值,精度为p,刻度为s,p,s省略就是原数值。p:精度位,precision,是总有效数据位数;s:小数位,scale,是小数点右边的位数,取值范围是-84~127,默认值取决于p,如果没有指定p,那么s是最大范围,如果指定了p,那么s=0。

补充:①、nvarchar和nvarchar2区别

    nvarchar和nvarchar2是长度不固定的 ,nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数 ,而VARCHAR2(20)的话,则只能存进10个汉字,英文则可以存20个。

  ②、char和varchar2的区别

    char 与varchar2在存储上的区别,仅仅在于char会使用空格来填充空间,由于varchar2采用变长的方式存储数据,因此可以节省空间,这是毋庸置疑的。

    varchar2虽然比char 节省空间,但是如果一个varchar2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用char 代替varchar2会更好一些。

  ③、CHAR(size)和NCHAR(size)的区别

CHAR如果存放字母数字占1个字节,存放GBK编码的汉字存放2个字节,存放UTF-8编码的汉字占用3个字节;

NCHAR根据所选字符集来定义存放字符的占用字节数,一般都为2个字节存放一个字符(不管字符或者汉字),NCHAR数据类型是专为UNICODE字符而设计的,而且只能插入UNICODE字符串

2、常用sql语句

①说明:创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

②根据已有的表创建新表:

A:select * into table_new from table_old (使用旧表创建新表) 
B:create table tab_new as select col1,col2… from tab_old definition only<仅适用于Oracle>

③说明:删除表

drop table tablename

④几个简单的基本的sql语句

选择:

select * from table1 where 范围

插入:

insert into table1(field1,field2) values(value1,value2)

删除:

delete from table1 where 范围

更新:

update table1 set field1=value1 where 范围

查找:

select * from table1 where field1 like ’%value1%’

排序:

select * from table1 order by field1,field2 [desc]

总数:

select count as totalcount from table1

求和:

select sum(field1) as sumvalue from table1

平均:

select avg(field1) as avgvalue from table1

最大:

select max(field1) as maxvalue from table1

最小:

select min(field1) as minvalue from table1

⑤说明:增加一个列,删除一个列

A:alter table tabname add column col type

B:alter table tabname drop column colname

添加主键: Alter table tabname add primary key(col)

删除主键: Alter table tabname drop primary key(col)

⑦创建索引

create [unique]index index_name on table_name(col_1,col_2,...)

删除索引:

drop index index_name

⑧创建视图:create view viewname as select statement

删除视图:

drop view viewname

时间: 2024-12-11 03:30:26

Oracle学习笔记-基本信息的相关文章

Oracle 学习笔记 17 -- 异常处理(PL/SQL)

程序在执行过程中出现异常是正常的,在程序的编写过程中出现异常也是不可避免的.但是要有相应的异常处理的机 制,来保证程序的正常执行.PL/SQL程序执行过程中出现的错误,称为异常.一个优秀的程序都应该能够正确处理 各种出错的情况,并尽可能的从错误中恢复.PL/SQL提供了异常处理机制. 概念: 异常处理(exception)是用来处理正常执行过程中未预料的事件,程序块的异常处理定义的错误和自定义的错误, 由于PL/SQL程序块一旦产生异常而没有指出如何处理时,程序就会异常的终止. 有三种类型的错误

oracle学习笔记之用户管理-3

用户权限机制 1.不同用户表权限的赋予 grant select on scott.emp to software; ---当前登录用户为表所有者,则表名前不用指定所属用户 2.用software登录后 select * from scott.emp; ---software才有权限查询到scott的emp表 方案(schema) 当用户创建好后,如果该用户创建了一个数据对象(如表),此时dbms会创建一个对应的方案与改用户对应,并且该方案的名称和用户名称一致. system与scott都拥有自

【Oracle学习笔记】

内容主要包含: (1)三种循环及其简化 (2)游标的使用 (3)异常处理 (4)存储过程 (5)存储函数 (6)触发器 (7)其他pl/sql操作 ---------------loop循环定义变量-------------------- declare cursor c1 is select * from emp;# rec emp%rowtype;# i numeber:=1; # v_count number;begin# select count(*) into v_count from

oracle学习笔记(二)

设置归档模式(mount状态) ALTER database ARCHIVELOG; //关闭数据库 shutdown immediate //启动数据库到mount状态 startup mount alter database archivelog; //查看归档状态 archive log list; SQL> archive log list; 数据库日志模式 存档模式 自动存档 启用 存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 1 下一个存档日志序列

oracle学习笔记之用户管理-2

案例:创建一个用户software,然后给分配权限,可以让software登录数据库.创建表.操作自己创建的表,回收角色,最后删除用户. 1.创建software用户,密码system create user software identified by system; 2.让software连接数据库,需要给其connect.resource权限 grant connect to software; grant resource to software; 3.使用software用户登录 co

oracle学习笔记 存储及raid技术概述

oracle学习笔记 存储及raid技术概述 本课以oracle数据库所运行的环境,讲一下存储和raid技术. 一)oralce生产环境里的结构 先说一下oracle所在的环境. 有一种结构: 两个服务器.两个光纤存储交换机.两个存储, 它们通过网线相互连接在一起. 每个服务器接两个交换机, 每个交换机连两个服务器同时连两个存储, 每个存储和两个交换机有连接. 这是oracle数据库相对比较典型的正规的运行环境. 每个服务器上都装Linux和oracle数据库软件, oracle数据库建在存储上

【我的Oracle学习笔记(二)】----- select语句补充

一.多表查询 多表查询是指从多个有关联的表中查询数据,其语法与单表查询类似.一般来说,多表查询的表要用连接联系起来,如果没连接,则查询结果是这多个查询表的笛卡尔积(注释1). 模拟查询雇员姓名和所在部门名称: select [雇员姓名],[部门名称] from [雇员表] a,scott,[部门表] b where a.[部门编号]=b.[部门编号]; 上例中,为每一个查询表指定了别名,便于SQL语句的书写. 模拟查询在”sales“部门工作的雇员其雇员姓名 select [雇员姓名] from

oracle学习笔记之用户管理-1

sys    system(管理员) scott(普通用户) sqlserver sa 前提:oracle 上,假如自己是管理员,当需要建立用户的时候,由自己操作: 1.创建用户(sys system用户) create user username identified by password; 注意:密码不能以数字开头 create user mmy identified by system; 创建的mmy用户,并不能通过conn立刻登录,需要进行下面一步 2.赋予用户相应的权限 grant

Oracle学习笔记三 SQL命令

SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)               下面是这四种SQL语言的详细笔记: Oracle学习笔记三 SQL命令(二):SQL操作语言类别 Oracle数据类型 创建表时,必须为各个列指定数据类型 以下是 Oracle 数据类型的类别: 字符数据类型 CHAR类型 当需要固定长度的字符串时,使用 CHAR 数据类型. CHAR 数据类型存储字母数字值. CH