最近在學oracle,博文只算是學習筆記草稿。oracle的操作全部在命令行下完成。
一.表名和列的命名規則
1.必須以字母開頭
2.長度不能超過30個字符
3.不能使用oracle的保留字
4.只能使用如下字符A—Z,a—z,0---9,$,#等
二.oracle的數據類型
1.char定長最大2000字符
例子:char(10) ‘小韓’前四個字符放‘小韓’後面六個用空格補全
2.clob(characterlargeobjiect)字符型大對象,最大4GB
3.數字類型
Number範圍10的-38次方到10的38次方,可以表示整數,也可以表示小數
Number(5,2)表示一個小數有5位有效數,2位小數,範圍-999.99----999.99
Number(5)表示一個五位整數,範圍-99999------99999
4.日期類型
Date 包含年月日和時分秒
Timestamp這是oracle9i對date數據類型的擴展
5.圖片類型
Blob二進制數據可以存放圖片/聲音大小4GB
應用舉例:
建表
學生表
Create table student(
xh number(4),
Xm varchar2(20),
Sex char(2),
Birthday date,
Sal number(7,2)
);
表中添加字段的命令:
Altertable student add(classid number(2));
修改字段的長度:
Alter table student modify (xm varchar2(30));
修改字段的類型/或是名字(不能有數據):
Alter table student modify (xm chr(30);
刪除一個字段:
Alter table student drop column sal;
修改表的名字:
Rename student to stu;
刪除表:
Drop table student;
三.給表中插入數據:
Insert into student values(‘a001’,’張三’,’男’,’01-5月-05’,10);
Oracle中默認的日期格式爲’DD-MON-YY’,
改日期的默認格式:
Alter session setnls_date_format=’yyyy-mm-dd’;
修改後可以用我們熟悉的格式添加日期類型:
Insert into studentvalues(‘a002’,’李四’,’男’,’1991-02-01’,10);
插入部分字段和插入空值:
Insertintostudent(xh,m,sex,birthday) values(3,’aa’,’女’,null);
查詢一列值爲空的命令:
Select * from student where birthday is null;
修改一個字段:
Update student set sex=’女’ where xh=’a001’;
修改多個字段:
Update student set sex=’男’,birthday=’1989-09-09’ where xh=’a001’;
修改含有null值的數據:
Is null
刪除表內的數據:
Delete from student;
刪除的數據可以通過rollback回滾返回來。先通過savepoint aa;建立一個回滾點。
然後通過rollback to aa;就會回滾到aa這個點。
刪除的有記錄,表結構還在,寫日誌,可以恢復的,速度慢。
Drop table student;刪除表的結構和所有數據
Deletefrom student where xh=’a001’;刪除一條記錄
Trimcatetable student;刪除表中的所有記錄,表結構還在,不寫日誌,無法找回刪除的記錄,速度快