Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0
Connected as scott
SQL> show user;
User is "scott"
SQL> create table student(
2 xh number(4),
3 xm varchar2(20),
4 sex char(2),
5 birthday date,
6 sal number(7,2)
7 );
Table created
SQL> drop table strdent;
Table dropped
SQL>
SQL> create table student(
2 xh number(4),
3 xm varchar2(20),
4 sex char(2),
5 birthday date,
6 sal number(7,2)
7 );
Table created
SQL>
SQL> create table class(
2 clsaaId number(2),
3 cname varchar2(40)
4 )
5 ;
Table created
SQL> --添加一个字段
SQL> alter table student add (classid number(2));
Table altered
SQL> desc student;
Name Type Nullable Default Comments
-------- ------------ -------- ------- --------
XH NUMBER(4) Y
XM VARCHAR2(20) Y
SEX CHAR(2) Y
BIRTHDAY DATE Y
SAL NUMBER(7,2) Y
CLASSID NUMBER(2) Y
SQL> --修改字段的长度
SQL> alter table student modify (xm varchar2(30));
Table altered
SQL> --修改字段的类型
SQL> --alter table student modify (xm char(30));
SQL>
SQL>
SQL> --删除一个字段
SQL> alter table student drop column sal;
Table altered
SQL> alter table student add (sal number(7,2));
Table altered
SQL> desc student;
Name Type Nullable Default Comments
-------- ------------ -------- ------- --------
XH NUMBER(4) Y
XM VARCHAR2(30) Y
SEX CHAR(2) Y
BIRTHDAY DATE Y
CLASSID NUMBER(2) Y
SAL NUMBER(7,2) Y
SQL> --修改表的名字
SQL> rename student to stu;
Table renamed
SQL> rename stu to student;
Table renamed
SQL> --删除表
SQL> --drop table student;
SQL>
SQL> --添加数据
SQL> insert into student values(1,'小明','男','11-12月-1997',12,3456.6);
1 row inserted
SQL> --修改日期的格式
SQL> alter session set nls_date_format='yyyy-mm-dd';
Session altered
SQL> insert into student values(2,'小明2','男','1998-01-01',13,4143.8);
1 row inserted
SQL> --插入部分字段
SQL> insert into student(xh,xm,sex) values(3,'JOHN','女');
1 row inserted
SQL> --插入空值
SQL> insert into student(xh,xm,sex,birthday) values(3,'aa','女',null);
1 row inserted
SQL> select * from student;
XH XM SEX BIRTHDAY CLASSID SAL
----- ------------------------------ --- ----------- ------- ---------
1 小明 男 1997-12-11 12 3456.60
1 小明 男 1997-12-11 12 3456.60
2 小明2 男 1998-1-1 13 4143.80
3 JOHN 女
3 aa 女
SQL> --查询空值
SQL> select * from student where birthday is null;
XH XM SEX BIRTHDAY CLASSID SAL
----- ------------------------------ --- ----------- ------- ---------
3 JOHN 女
3 aa 女
SQL> select * from student where birthday is not null;
XH XM SEX BIRTHDAY CLASSID SAL
----- ------------------------------ --- ----------- ------- ---------
1 小明 男 1997-12-11 12 3456.60
1 小明 男 1997-12-11 12 3456.60
2 小明2 男 1998-1-1 13 4143.80
SQL> --将所有男生的工资减一倍
SQL> update student set sal=sal/2 where sex='男';
3 rows updated
SQL> select * from student;
XH XM SEX BIRTHDAY CLASSID SAL
----- ------------------------------ --- ----------- ------- ---------
1 小明 男 1997-12-11 12 1728.30
1 小明 男 1997-12-11 12 1728.30
2 小明2 男 1998-1-1 13 2071.90
3 JOHN 女
3 aa 女
SQL> --修改多个字段
SQL> update student set sal=sal/2 ,classId=3 where sex='男';
3 rows updated
SQL> select * from student;
XH XM SEX BIRTHDAY CLASSID SAL
----- ------------------------------ --- ----------- ------- ---------
1 小明 男 1997-12-11 3 864.15
1 小明 男 1997-12-11 3 864.15
2 小明2 男 1998-1-1 3 1035.95
3 JOHN 女
3 aa 女
SQL> --修改有空值的字段
SQL> update student set classid=8 where classid is null;
2 rows updated
SQL> --删除数据
SQL> delete from student;
5 rows deleted
SQL> select * from student;
XH XM SEX BIRTHDAY CLASSID SAL
----- ------------------------------ --- ----------- ------- ---------
SQL> --恢复数据,回滚
SQL> rollback;
Rollback complete
SQL> select * from student;
XH XM SEX BIRTHDAY CLASSID SAL
----- ------------------------------ --- ----------- ------- ---------
SQL> insert into student(xh,xm,sex,birthday) values(3,'aa','女',null);
1 row inserted
SQL> select * from student;
XH XM SEX BIRTHDAY CLASSID SAL
----- ------------------------------ --- ----------- ------- ---------
3 aa 女
SQL> savepoint aa; --设置保存点
Savepoint created
SQL> delete from student;
1 row deleted
SQL> rollback to aa;
Rollback complete
SQL> select * from student;
XH XM SEX BIRTHDAY CLASSID SAL
----- ------------------------------ --- ----------- ------- ---------
3 aa 女
SQL> --设置保存点,可以回滚到指定的位置
SQL>
SQL>
SQL> --删除一个表的结构和数据
SQL> --drop table student;
SQL>
SQL>
SQL> --删除表中的数据,表结构还在,不写日志,无法找回删除的记录,速度快
SQL> --truncate table student;
SQL>
SQL>
SQL>
SQL>