关闭

Oracle笔记(一)

129人阅读 评论(0) 收藏 举报


创建表
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’


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2432次
    • 积分:124
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:0篇
    • 译文:0篇
    • 评论:5条
    文章分类
    最新评论