1、表的命名规则,
a.必须以字母开始;
b.必须是1~30个字符长度;
c.只能包含字母、数字、下划线_、美元符号$、和井号#;
d.不能使用Oracle的关键字;
e.同一个用户所拥有的对象之间不能重名;
创建表:create table 表名 (列 数据类型 约束);
SQL> create table stu (sid number primary key,sname varchar2(15) not null);
重命名表:rename 源表名 to 新表名;
删除表:drop table 表名;
克隆表:
1.只要表结构,不要表数据;
create table 表名 as select * from 源表 where 1=2(这里只要是不成立的条件都可以);
2.要表结构和数据
create table 表名 as select * from 源表 ;
2.insert 语句
使用insert时,字段名列表的顺序可以随意指定,不需要按照表中字段的顺序列出,但是对应值列表一定要和字段名列表对应。1、insert into 表名 (列1,列2....) values ('值',‘值’);也可选择性的插入一些列,其他列就为空了,或者显性的写为null;
2、insert into 表名 values('values');这种写法在values里面要把表中所有的列对应的值都写上;不建议使用
插入多行:就是通过insert子句后面接select子查询,将select子查询获取的结果一次性的插入表中。
insert into 表名 select 字段名 from 表名;
SQL> create table a as select * from empbak;
表已创建。
SQL> select * from a;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
已选择14行。
SQL> delete from a where deptno between 20 and 30;
已删除11行。
SQL> select * from a;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7839 KING PRESIDENT 17-11月-81 5000 10
7934 MILLER CLERK 7782 23-1月 -82 1300 10
SQL> insert into a select * from empbak where deptno = 20;
已创建5行。
SQL> select * from a;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7839 KING PRESIDENT 17-11月-81 5000 10
7934 MILLER CLERK 7782 23-1月 -82 1300 10
7369 SMITH CLERK 7902 17-12月-80 800 20
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7902 FORD ANALYST 7566 03-12月-81 3000 20
已选择8行。
3.update语句
update 表名 set 字段名=‘新的字段名’where ‘条件’;如果不加where条件,那就会更改表中所有的数据,
SQL> update a set ename = '你好' where empno = 7902;
已更新 1 行。
SQL> select * from a;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7839 KING PRESIDENT 17-11月-81 5000 10
7934 MILLER CLERK 7782 23-1月 -82 1300 10
7369 SMITH CLERK 7902 17-12月-80 800 20
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7902 你好 ANALYST 7566 03-12月-81 3000 20
已选择8行。
4.delete语句
delete from 表名 where 条件;
SQL> delete from a where empno = 7902;
已删除 1 行。
SQL> select * from a;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7782 你好 MANAGER 7839 09-6月 -81 2450 10
7839 你好 PRESIDENT 17-11月-81 5000 10
7934 你好 CLERK 7782 23-1月 -82 1300 10
7369 你好 CLERK 7902 17-12月-80 800 20
7566 你好 MANAGER 7839 02-4月 -81 2975 20
7788 你好 ANALYST 7566 19-4月 -87 3000 20
7876 你好 CLERK 7788 23-5月 -87 1100 20
已选择7行。
以上的语句操作后并没有真正的提交到服务器,只有使用commit提交事务,才会永久性的写入数据库,所以当发现有错的时候,可以使用回滚(rollback)事务,一旦使用了commit,那就不可以回滚了
SQL> rollback;
回退已完成。
SQL> select * from a;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
已选择14行。