创建表
CREATE TABLE person(
);
eg:向表中添加数据
INSERT INTO person(pid,name,birthday,sex) VALUES
('111111111111111111','张三',30,TO_DATE('1976-02-13','yyyy-mm-dd'),'女') ;
INSERT INTO person(pid,name,birthday) VALUES
('222222222222222222','李四',31,TO_DATE('1986-02-13','yyyy-mm-dd')) ;
select * from person;
set linesize 100;
select * from person;
删除表
修改表结构
表的修改
ALTER 指令,可增加新的列。
ALTER语法:
ALTER TABLE 表名称 ADD(列的名称 列的类型
ALTER TABLE person ADD(address VARCHAR(200) DEFAULT '暂无地址');
修改表结构的语法:
ALTER TABLE person MODIFY(列的名称 列的类型 DEFAULT 默认值)
eg:修改person表中的name列,加入默认值,修改大小。
ALTER TABLE person MODIFY(name VARCHAR2(20) DEFAULT '无名氏')
eg:在向表中插入数据,但是不插入姓名的内容
INSERT INTO person(pid,age,birthday) VALUES
('333333333333333333',32,TO_DATE('1986-02-13','yyyy-mm-dd'));
以上插入内容的时候没有插入姓名
SET LINESIZE 300 ;
select * from person ;
以上的操作结果中也可以发现,身份证编号重复了,这是表中没有约束的原因。
在一般的数据库程序开发中,很少去修改表结构,这一点在IBM DB2数据库中就没有
提供ALTER TABLE 职工员,所以在建表的时候一定要考虑到位。
为表重命名
在Oracle中提供了rename命令,可以为表重新命名,但是此语句只能在Oracle中使用。
语法格式
RENAME 旧的表名称 TO 新的表名称 ;
eg : 将person表重新命名为tperson
RENAME person TO tperson ;
截断表
如果现在将person表中的一条数据使用DELETE语句删除了,则可以通过rollback进行回滚,
如果现在假设要想清空一张表的数据,但是同时又不需要回滚,
可以立刻释放资源就需要使用截断表语法:
TRUNCATE TABLE 表名称 ;
eg:截断tperson表
SELECT * FROM person ;
TRUNCATE TABLE tperson ;
select * from tperson ;
rollback ;
select * from tperson ;//未选定行