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(DBA)学习笔记

Oracle数据库笔记 Jack Chaing作者QQ595696297 交流群 127591054 祝大家学习进步。 如果大家想看Word版本的可以去下载:Word排版比较清晰一些。 http:...
  • Jack__Chiang
  • Jack__Chiang
  • 2017年04月11日 09:34
  • 6245

oracle入门学习笔记

oracle学习笔记
  • conanswp
  • conanswp
  • 2014年07月15日 22:36
  • 8607

8.Oracle深度学习笔记——BUFFER CACHE深入一

8.Oracle深度学习笔记——BUFFER CACHE深入一 欢迎转载,转载请标明出处:          最近项目一直和ORACLE死磕,感觉总是找不到出口,只能多看书少说话了。         ...
  • notbaron
  • notbaron
  • 2016年01月27日 23:46
  • 32142

oracle 学习笔记

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

Oracle学习笔记

  • 2014年11月03日 14:19
  • 74KB
  • 下载

Oracle学习笔记

  • 2010年01月12日 21:09
  • 62KB
  • 下载

ORACLE学习笔记

  • 2008年09月18日 09:48
  • 55KB
  • 下载

非常适用的Oracle学习笔记

  • 2008年10月22日 14:46
  • 784KB
  • 下载

Oracle学习笔记

  • 2008年07月15日 07:50
  • 51KB
  • 下载

oracle学习笔记

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

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