Oracle建表和SQL语句的增删改

创建表

--建表语法结构:
/*
CREATE TABLE 表名(
  字段名1 数据类型,
  字段名2 数据类型
  ....
);
*/
--建一张老师表,里面包含老师编号,老师姓名,老师联系方式,老师入职日期
CREATE TABLE TEACHER(
   TNO NUMBER,
   TNAME VARCHAR2(30),
   TPHONE CHAR(11),
   THIREDATE DATE
);

 

复制表

--复制表结构,但是不复制数据
--语法结构:CREATE TABLE 表名 AS SELECT查询语句 WHERE 1 = 2;
CREATE TABLE DEPT_BAK AS SELECT * FROM DEPT WHERE 1 = 2;


--复制表结构,同时复制数据
--语法结构:CREATE TABLE 表名 AS SELECT查询语句 [WHERE 1 = 1];
CREATE TABLE DEPT_BAK_ALL AS SELECT * FROM DEPT WHERE 1 = 1;

 

删除表

--删除表
--语法结构:DROP TABLE 表名;
DROP TABLE STUDENT;

 

新增/插入数据

--单行数据插入的语法结构:
--语法结构:INSERT INTO 表名(字段名1,字段名2,字段名3...) VALUES(插入值1,插入值2,插入值3...);
INSERT INTO TEACHER (TNO, TNAME, TPHONE, THIREDATE) VALUES(1,'zhangsan','13300000000',SYSDATE);
INSERT INTO TEACHER (TNO, TNAME, THIREDATE) VALUES(2,'lisi',SYSDATE - 1);
INSERT INTO TEACHER (TNO, TNAME, TPHONE) VALUES(3,'wangwu','133');



--多行数据插入
--语法结构:INSERT INTO 表名 SELECT 查询语句;
INSERT INTO TEACHER 
SELECT * FROM TEACHER;

INSERT INTO TEACHER
  (TNO, TNAME, TPHONE, THIREDATE)
  SELECT T.TNO, T.TNAME, T.TPHONE, T.THIREDATE FROM TEACHER T;

 

给表新增字段

--语法结构:ALTER TABLE 表名 ADD 字段名 数据类型;
ALTER TABLE TEACHER ADD TLOC VARCHAR2(100);

 

删除表中数据

--删除表中的所有数据
/*
注意:TRUNCATE和DELETE都能把表中的数据全部删除,他们的区别是在于
1.  TRUNCATE是DDL命令,删除的数据不能恢复;
   DELETE命令是DML命令,删除后的数据可以通过日志文件恢复。
2.  如果一个表中数据记录很多,TRUNCATE相对DELETE速度快。
*/
--语法结构:TRUNCATE TABLE 表名; TRUNCATE TABLE TEACHER; --语法结构:DELETE FROM 表名; DELETE FROM TEACHER; --删除表中符合条件的数据行 --删除TEACHER表中姓名叫WANGWU的老师信息 --DELETE FROM 表名 WHERE 筛选条件; DELETE FROM TEACHER WHERE TNAME = 'wangwu';

 

删除表中字段

--删除表中的某一列(字段)
--语法结构:ALTER TABLE 表名 DROP COLUMN 字段名;
ALTER TABLE TEACHER DROP COLUMN TLOC;

 

修改表名

--语法结构:ALTER TABLE 旧表名 RENAME TO 新表名;
ALTER TABLE TEACHER RENAME TO T_TEACHER;

 

修改列名

--语法结构:ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名;
ALTER TABLE T_TEACHER RENAME COLUMN TPHONE TO T_PHONE;

 

修改字段的数据类型

--语法结构:ALTER TABLE 表名 MODIFY 字段名 新的数据类型;
--注意点:如果表中已经有数据,那么修改数据类型时传入的范围精度必须大于数据中的最大长度
ALTER TABLE T_TEACHER MODIFY T_PHONE VARCHAR2(11);

--注意点:如果表中已有数据,那么修改数据类型时,不能由一种数据类型改成另外一种数据类型
ALTER TABLE T_TEACHER MODIFY THIREDATE VARCHAR2(100);

 

数据行的修改(更新数据)

--整列数据都更新
--语法结构:UPDATE 表名 SET 字段名 = 值;
UPDATE T_TEACHER SET T_LOC = 'zhongguo';

--只更新部分符合要求的数据行
--语法结构:UPDATE 表名 SET 字段名 = 值 WHERE 筛选条件;
UPDATE T_TEACHER SET T_PHONE = '186xxxxxxx' WHERE T_PHONE IS NULL;

 

posted @ 2020-10-02 22:11  小碗吃不胖的  阅读(372)  评论(0编辑  收藏  举报