表的创建
1、表建立的简单的语法
CREATE TABLE 表名称(
字段名称1 字段类型 [default],
字段名称2 字段类型 [default],
......
字段名称3 字段类型 [default]
)
其中【default】是可选条目,default后面可以指定默认的值,意思是当你使用insert插入数据的时候,如果没有指定这一列的值,就会插入default后面的默认值。
2、表复制的简单语法
CREATE TABLE 表名称 AS (子查询)
如果现在子查询些的是:select * from emp,表示将表结构和表内容一起复制
如果现在子查询些的是:select * from emp where 1=2,加入了一个永远不可能成立的条件,则此时表示的是只复制表结构,但是不复制表里边的数据
表的删除
DROP TABLE 表名称;
二、
1、创建学生表
CREATE TABLE STUDENT(
sid NUMBER,
sname VARCHAR2(20) ,
sage NUMBER DEFAULT 20,
sbirthday DATE,
saddress VARCHAR2(200)
);
2、插入数据
begin
--指定所有列以及所有列的值
insert into student (sid, sname, sage, sbirthday, saddress) values (1, '张三', 10, to_date('1994-01-20', 'yyyy-mm-dd'), '北京');
--指定部分列以及部分列的值(sage没有指定,,但是创建表的时候指定了DEFAULT 20,所以数据插入完成后,李四的年龄应该为20.)
insert into student (sid, sname, sbirthday, saddress) values (2, '李四', to_date('1994-05-01', 'yyyy-mm-dd'), '上海');
--不指定列的时候values需要指定所有的列值,否则报错
insert into student values (3, '王五',30,to_date('1994-05-01', 'yyyy-mm-dd'), '广州');
--将emp表中的empno,ename列的数据查询出来插入到student表的sid,sname列,注意如果不加条件的话,插入的是所有数据
insert into student (sid,sname) select empno,ename from emp;
--上例中的emp表也可以变成一个子查询
insert into student (sid,sname) select empno,ename from (select * from emp);
commit;
end;
3、更新数据
注意:更新数据一定要指定条件,否则就会更新此表里边的所有数据
--更新张三的年龄为20
update student set sage=20 where sname='张三';
--设置saddress字段的内容为sid和sname的拼接
update student set saddress=sid||sname
--设置saddress字段的内容为sid和sname的拼接,并以+分割
update student set saddress=sid||'+'||sname
4、删除数据
注意:删除数据也要指定条件,否则会删除掉所有的数据
delete from student where sname='张三';
版权声明:本文为matchbox1234原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。