在建表之前最好新建一個用戶,因為在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