编程学习记录12:Oracle数据库的一些基本操作2,表相关操作,添加约束
數據庫中表的創建一般需要考慮三部分:表名、列名及類型、列的約束
表名:沒什么要求,只要不重名就行。
常用數據類型:
1、字符類型
1)CHAR(長度):定長字符串,位數不足時用空格填充
2)VARCHAR2(長度):變長字符串,不會自動填充空格,比較常用
2、數字類型
1)NUMBER(p,s):p表示精度(總長度),s表示小數位
2)INT:普通整型
3、日期類型
1)DATE:精確到秒
2)TIMESTAMP:精度小于秒
4、大文件
1)BLOB:一般用來存儲二進制數據,圖像等,最大4GB
2)CLOB:一般用來存儲文本信息,最大4GB
?
約束:用來防止無效的數據進入數據庫,保持數據的完整性。
約束分類:
1、NOT NULL:非空
2、UNIQUE:唯一,能有一個空
3、PRIMARY KEY:主鍵,非空和唯一
4、FOREIGN KEY:外鍵,表中的某個屬性值在另外表中有出現
5、CHECK:檢查約束,縮小數據值域,如年齡必須非負
6、DEFAULT:默認約束,如果沒有指定插入的值則使用默認值
?
具體語句:
1、創建表(沒有約束)
CREATE TABLE <表名> (
<列名> <列類型>
[,<列名> <列類型>...]
);
?
2、行級約束(直接寫在列類型后面)
CREATE TABLE <表名> (
id INT PRIMARY KEY, --主鍵
sex VARCHAR2(2) DEFAULT '男', -- 默認
name VARCHAR(10) NOT NULL, -- 非空
tel VARCHAR2(11)? UNIQUE, -- 唯一
deptno INT?CONSTRAINT <約束名> REFERENCES? <引用表名>(<引用列名>), -- 外鍵
age INT CONSTARINT <約束名> CHACK(<條件>) -- 檢查約束
);
?
3、表級約束(寫在最后一個列申明后面)
CREATE TABLE <表名> (
id INT ,
sex VARCHAR2(2) ,
name VARCHAR2(10),
tel VARCHAR2(11) ,
deptno INT ,
age INT ,
PRIMARY KEY(<列名>), -- 主鍵
UNIQUE(<列名>), -- 唯一
CHECK(<條件>), -- 檢查約束
CONSTRAINT <約束名> PRIMARY KEY(<列名>), -- 主鍵
CONSTRAINT <約束名> UNIQUE(<列名>), -- 唯一
CONSTRAINT <約束名> FOREIGN KEY(<列名>) REFERENCES?<引用表名>(<引用列名>), -- 外鍵
CONSTRAINT <約束民> CHECK(條件) -- 檢查約束,
);
?
4、修改約束
1)添加約束
ALTER TABLE <表名> ADD PRIMARY KEY(<列名>) -- 主鍵
ALTER TABLE <表名> ADD UNIQUE(<列名>) -- 唯一
ALTER TABLE <表名> ADD FOREIGN KEY(<表名>) REFERENCES?<引用表名>(<引用列名>) -- 外鍵
ALTER TABLE <表名> ADD CHECK(<條件>) -- 檢查約束
2)刪除約束
ALTER TABLE <表名> DROP PRIMARY KEY -- 刪除主鍵
ALTER TABLE <表名> DROP UNIQUE(<列名>) -- 刪除唯一
ALTER TABLE <表名> DROP CONSTRAINT <約束名> -- 根據約束名刪除約束
5、添加數據
INSERT INTO? <表名> VALUES(<列的值>[,<列的值>]) -- 這種方式必須給全部列賦值,且必須按順序賦值
INSERT INTO? <表名>(<列1名字>[,<列2名字>]) VALUES(<列1的值>[,<列2的值>]) -- 根據指定列的順序給列賦值,其他列若沒有默認值則會賦空
?
6、查詢數據
SELECT * FROM <列名> [WHERE <條件>] -- 會輸出滿足條件的數據的所有列
SELECT <列名1> [重命名1], <列名2>[重命名2] FROM <列名> [WHERE <條件>] -- 會輸出滿足條件的數據指定列,若有重命名則列名為重命名的值?
7、刪除數據
DELETE <表明> [WHERE <條件>] -- 會刪除滿足條件的所有數據,不加條件則刪除所有數據
?
8、更新數據
UPDATE <表明> SET <列名> = <值>[,<列名> = <值>] [WHERE <條件>] -- 更新指定列的值,不加條件則前部修改
轉載于:https://www.cnblogs.com/HMTT-RIN/p/11234727.html
總結
以上是生活随笔為你收集整理的编程学习记录12:Oracle数据库的一些基本操作2,表相关操作,添加约束的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云云监控agent插件 - Linu
- 下一篇: 2019.7.25作业