感覺自己數據庫壓根不懂,所以開始學習數據庫有關的知識
一、表的創建:
表的創建有兩種方式,一種是直接創建表,另外一種是在一個已存在的表的情況下創建一個表
第一種:
create table 方案名.表名(
列名 數據類型 約束條件,
列名 數據類型,
表極約束條件);
這就是一個表的創建
這就創建了一個表。
創建表不是所有功能都要實現
比如方案名,列約束條件,和表約束調節這些都是可以不需要的。當然在學習時是不重要但是當你做項目時就需要了
編號 | 字段名 | 數據結構 | 說明 |
1 | Sno | number | 學號 |
2 | Sname | Char(20) | 姓名 |
3 | Sesx | char(2) | 性別 |
4 | Sage | number | 年齡 |
5 | Sdept | Char(20) | 系別 |
創建一個如上圖的表
第二種:
它的格式是:
create table 方案名.表名(
列名 ,列名
表極約束條件)
as 子查詢;
我接下來創建根據學生表來創建一個新的表
編號 | 字段名 | 數據結構 | 說明 |
1 | Sno | number | 學號 |
2 | Sname | Char(20) | 姓名 |
創建一個如上的表
其sno和sname就來自上邊的學生表
創建表的同時也會把其中的數據也一併帶入表中
建表規範:
a. 必須以字母開頭
b. 只能包含:大小寫字母、數字、_、$、#
c. 長度1-30個字符
d. 不能與用於定義的其他對象重名
數據庫對象:表、視圖、序列、索引、同義詞
e. 不能與保留字重名
表建好了,如何查詢你建的表呢?
使用desc關鍵字
desc 表名;
這就可以你所創建的表
二、修改表
這個時候應用到了alter table關鍵字
a.向表中添加新列
alter table 表名 add 新列名 數據類型 約束條件(可以不寫);
向上邊新建的newstudent表中添加
Sesx | varchar(2) | 性別 |
語句:alter table newstudent add sex varchar2(4)
添加前:
添加列 :
添加後:
b.刪除指定列
alter table 表名 trop column 列名;
刪除上邊新添加列
語句:alter table newstudent trop column sex;
刪除前:
刪除:
刪除後:
c、 重新定義某一個列
alter table 表名 modify 名字 新的數據類型;
修改上邊的列:name 的char(20) 改爲 varchar(30);
語句:alter table newstudent modify name varchar(30);
更改前:
更改:
更改後:
注意: blob/clob類型不能修改
d、修改列的名字
alter table 表名 rename 列名 to 新列名
將上邊的name改名爲sname
更改前:
更改:
更改後:
e、更新表名
alter table 表名 rename to 新表名;
將上邊newstudent改爲mystudent
語句:alter table newstudent rename to mystudent;
更改前:
更改:
更改後:
三、刪除表
drop table 表名;
刪除上邊創建的mystudent表:
語句 drop table mystudent;
刪除前:
刪除:
刪除後:
四、數據的插入與刪除
a、插入數據
插入數據有兩種方式
1、insert into 表名 (列名1,列名2,....)values(值1,值2,....);
查入數據時列名輸入對應的值
向student表中插入數據,只插入id,name,sex3個值
插入前:
插入:
插入後:
此時插入的數據爲只插入三個,其它兩個爲null
2、insert into 表名 values(值1,值2,...)
插入一條該表中一條數據,這條數據應該插入所有對應的列的數據,並按照列的順序插入數據
向一開始建的student表中插入一條數據
插入前:
表中無任何數據
插入:
插入後:
b、刪除數據
delete 表名 where (表達式);
刪除上邊一條數據
delete student where sno=1;
刪除前:
刪除:
刪除後:
沒有了數據
select * from 表名
爲查詢該表中的數據。