在建表之前最好新建一个用户,因为在sys用户下的表格不允许删除列,
所以最好不要在sys用户下建表。
一、在Oracle SQLplus下建用户:
1、以dba身份登陆SQLplus:
[oracle@localhost etc]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 28 16:19:47 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> startup
2、新建一个名为‘username'的用户并设置密码为’password‘:
SQL>create user username identified by password;
3、将dba的权限赋予username:
SQL> grant dba to username;
4、连接username用户:
SQL> conn username/password
5、查看当前用户:
SQL> select * from user_sys_privs;
二、新建表
1、建表
新建一个名为’ivy‘的表,里面包含‘id’,‘name’,‘tel’,‘wechat’:
SQL>create table ivy(id number(2),name char(10),tel char(20),wechat char(20));
Table created.
这里的number和char都是Oracle常用字段类型:
number(x,y) 是数字型,
x是刻度,即位数总长度, y是精度,即小数的长度, 可存负数,
最长38位. 不够位时会四舍五入;
char(size)是固定长度的字符串, 不规定长度默认值为1,修改size来修改长度,
如果将结构设置成char,在表示该结构内的数据时要在前后加单引号。
Oracle还有其他常用字段类型,在这里先不细说,我会另开随笔。
2、查看表结构
查看表‘ivy’的结构:
SQL> desc ivy;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(2)
NAME CHAR(10)
TEL CHAR(20)
WECHAT CHAR(20)
3、添加列
在表‘ivy’里添加一列‘qq’:
SQL>alter table ivy add(qq number(20));
4、删除列
删除’wechat‘列
SQL>alter table ivy drop column wechat;
5、提交数据
当我们执行完上述操作(DML操作)时,数据库并不会立刻修改表中数据,
这时我们需要commit,然后数据库里的数据才会修改。具体操作:
SQL> commit;
Commit complete.
6、插入数据
往ivy中的‘id','name','tel','qq'列中分别插入数据:1,'ivy','1234',12345:
SQL>insert into ivy(id,name,tel,qq) values(1,'ivy','1234',12345);
1 row created.
当然别忘了这也要commit一下,不过你也可以等到最后再commit。
7、查看表
查看ivy表数据:
SQL>select * from ivy;
ID NAME TEL QQ
---------- ---------- -------------------- ----------
1 ivy 1234 12345
8、更改表数据
将'name=ivy'那一行的qq:12345改成qq:56789:
SQL>update ivy set qq = '56789' where name = 'ivy';
我们再来查看一下:
ID NAME TEL QQ
---------- ---------- -------------------- ----------
1 ivy 1234 56789
我们可以看见qq已经被修改成'56789'了。
9、删除行
首先我们先在ivy表中添加一行数据,
往ivy中的‘id','name','tel','qq'列中分别插入数据:2,'lily','111111',2222222:
SQL>insert into ivy(id,name,tel,qq) values(2,'lily','111111',2222222);
1 row created.
此时ivy表就新添了一行数据:
SQL> select * from ivy;
ID NAME TEL QQ
---------- ---------- -------------------- ----------
1 ivy 1234 56789
2 lily 111111 2222222
现在删除id=1的那一行:
SQL>delete ivy where id = 1;
我们再查看一下表,发现id=1的那行删除了:
SQL> select * from ivy;
ID NAME TEL QQ
---------- ---------- -------------------- ----------
2 lily 111111 2222222