ORACLE学习笔记(一)

原创 2015年11月18日 12:40:49


创建表
CREATE TABLE tablename

查看表结构
DESC tablename

DEFAULT
定义默认值

CREATE TABLE tablename (ID NUMBER(4),NAME VARCHAR(10) DEFAULT '老王');


NOT NULL 非空约束 用法同DEFAULT

数据库记录世纪的
************************************
* sys   *        *        *
   *       *  0-49    *   50-99    *
user *  *        *        *
************************************
          *           *            *             
          *           *            *
 0-49     *  本世纪   *   下世纪  *
          *           *            *
************************************
          *           *            *
          *           *            *
  50-99   * 上世纪    *  本世纪   *
          *           *            *
************************************


   SQL语句本身不去分大小写的,但是为了增加可读性通常会将关键字与非关键字使用大小写区分开。通常关键字使用全大写,非关键字使用全小写。
但是需要注意,字符串的值是区分大小写的。
数据库中,字符串的字面量使用单引号扩起来。


CREATE TABLE employee_tzm(
ID        NUMBER(4),   
NAME      VARCHAR2(20),
GENDER    CHAR(1) DEFAULT 'M',     
BIRTH     DATE,        
SALARY    NUMBER(6,2), 
JOB       VARCHAR2(30),
DEPTNO    NUMBER(2)
);


数据库中,字段无论什么类型,默认值都是null
,在插入数据时,只要该字段没有给定值,就会将null字段插入该字段。
可以单独使用default关键字为字段指定默认值,这样不给值时则使用指定默认值而不再是null。


CREATE TABLE employee_tzm(
id number(4),
name varchar2(20),
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
);


非空约束 NOT NULL
非空约束要求指定的字段在任何时候值都不允许为null
CREATE TABLE employee_tzm(
id number(4),
name varchar2(20) NOT NULL,
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
);

1:修改表名
RENAME old_name TO new_name

RENAME employee_tzm TO myemp_tzm


2:修改表结构
 2,1向表中添加新字段
需要注意,添加的字段只会被追加到表的末尾,而不能在现有的字段中间“插入”一个字段

向myemp 表中添加一个字段


ALTER TABLE myemp_tzm ADD(
hiredate DATE DEFAULT SYSDATE
);

删除表

DROP TABLE EMP;


删除表中现有字段,最好是表中没有数据的时候进行,若表中存在数据,会将每一条记录对应的该字段的值都要删除,数据量大的时候会比较慢。

删除myemp表中的字段hiredate
ALTER TABLE DROP (hiredate);



修改表中字段:
可以修改字段的类型,长度添加默认值
设置是否为空。

同样不建议在表中已经存在的数据后再修改,
游客能修改不成功;
长度尽量不要减少,否则不满足现有数据要求的话是修改不成功。
尽量不修改类型。


ALTER TABLE myemp_tzm MODIFY(job VARCHAR(40) DEFAULT 'CLERK');



DML语句

用于增删改表中数据,伴随事物。

插入数据:
insert into table_name
(col_name,col_name2,....)
VALUES(value,value,....)


事物的开启与关闭
事物的开启:
当执行第一条DML语句时,会自动开启一个事物,然后执行该语句,在此之后所有被执行的DML语句都在这一个事物控制范围内。


事物的关闭
无论是提交或是回退,事物都会关闭。
提交:将这次事物中的所有DML操作全部真实执行,对表进行操作。提交后无法再进行回滚。
回滚:回滚到事物开启前的状态,这次事物中所有的DML操作均被撤销。

插入日期类型的值
可以直接使用字符串,但是格式有要求,必须是
'DD-MON-RR',由于语言有差异,月的写法不同,所以不建议使用。可以使用TO-DATE函数,自行将字符串按照指定的日期格式转换为DATE值。



INSERT INTO myemp_tzm (id,name,salary,birth) VALUES (3,'CLARK',4000,TO_DATE('1990-5-21','YY-MM-DD'));



INSERT 语句可以不指定字段,若不指定则是全列插入,那么VALUES后面必须将所有值按照表中字段顺序全部指定,否则会报错。
INSERT INTO meemp_tzm VALUES (3,'CLARK',4000,TO_DATE(1990-5-21));


UPDATE 语句,用于修改表中数据
UPDATE table_name SET col_name1 = new_value1,col_name2 = new_value2,......[WHERE con = con_value];



UPDATE 语句修改表中数据时,通常要使用WHERE 子句添加条件来限制要修改的记录,这样才能将只满足WHERE条件的记录进行修改,若不添加则是全表每一条记录都修改
通常很少这样做!



UPDATE myemp SET gender = 'F' ,salary = 6000 WHERE name = 'jack'


删除表中数据

DELETE FROM table_name WHERE NAME = ‘TOM’

相关文章推荐

oracle 学习笔记

  • 2017年10月31日 14:17
  • 2.77MB
  • 下载

精通oracle 10g plsql 编程-学习笔记

  • 2017年07月07日 09:53
  • 341KB
  • 下载

oracle form学习笔记

新增form步骤 打开模板TEMPLATE,将其改成自己所要的名称,删除Data Blacks中的BLOCKNAME,DETAILBLOCK,删除Canvases中的BLOCKNAME,删除Windo...

Oracle学习笔记大全

  • 2017年08月10日 22:12
  • 264KB
  • 下载

oracle学习笔记

  • 2015年10月07日 16:41
  • 133KB
  • 下载

ORACLE 的用户与角色学习笔记

--用户与角色 --创建与删除用户 create user USER_HB identified by 123456 drop user USER_HB alter user USER...
  • iloli
  • iloli
  • 2017年03月23日 13:01
  • 321

oracle学习笔记

  • 2014年06月03日 09:07
  • 19KB
  • 下载

Oracle学习笔记_(PDF版)

  • 2015年09月22日 16:43
  • 1.31MB
  • 下载

Oracle DataGuard学习笔记(2)物理Standby的配置

Oracle DataGuard学习笔记(2)物理Standby的配置     DataGuard是Oracle数据库软件集成的功能,不需要另外安装软件,只需要配置即可.     物理St...
  • gyming
  • gyming
  • 2017年01月08日 20:38
  • 467

oracle 学习笔记

  • 2012年06月23日 17:29
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE学习笔记(一)
举报原因:
原因补充:

(最多只允许输入30个字)