唯一約束和主鍵約束都是設(shè)置表中的列不能取重復(fù)值,不同的是,一個(gè)表的唯一約束可以有多個(gè),且唯一約束的列允許存在多個(gè)空值。
2018-03-20
對(duì)約束的定義既可以在創(chuàng)建表的同時(shí)指定(分為列級(jí)約束和表級(jí)約束),也可以通過修改表的結(jié)構(gòu)來添加約束。
1. 非空約束和默認(rèn)值約束沒有約束名。
2. 非空約束和默認(rèn)值約束只能在列級(jí)設(shè)置,不能在表級(jí)設(shè)置。
3. 在修改表的結(jié)構(gòu)的時(shí)候修改非空約束和默認(rèn)值約束,用的是修改字段的語句(MODIFY)。
4. 在 Oracle 中定義約束時(shí),可以通過 CONSTRAINT 關(guān)鍵字為約束命名,如果用戶沒有為約束指定名稱,Oracle 將自動(dòng)為約束建立默認(rèn)的名稱。
1. 非空約束和默認(rèn)值約束沒有約束名。
2. 非空約束和默認(rèn)值約束只能在列級(jí)設(shè)置,不能在表級(jí)設(shè)置。
3. 在修改表的結(jié)構(gòu)的時(shí)候修改非空約束和默認(rèn)值約束,用的是修改字段的語句(MODIFY)。
4. 在 Oracle 中定義約束時(shí),可以通過 CONSTRAINT 關(guān)鍵字為約束命名,如果用戶沒有為約束指定名稱,Oracle 將自動(dòng)為約束建立默認(rèn)的名稱。
2018-03-20
主鍵約束(PRIMARY KEY):主鍵約束可以保證主鍵列的數(shù)據(jù)沒有重復(fù)值且不為空,即唯一標(biāo)識(shí)表中的每條記錄。
外鍵約束(FOREIGN KEY):把一個(gè)表中的數(shù)據(jù)和另一個(gè)表中的數(shù)據(jù)進(jìn)行關(guān)聯(lián)
非空約束(NOT NULL):約束表中的列不允許取空值(NULL)。
唯一約束(UNIQUE):唯一約束和主鍵約束都是設(shè)置表中的列不能去重復(fù)值,不同的是,一個(gè)表的唯一約束可以有多個(gè),且唯一約束的列允許存在多個(gè)空值。
檢查約束(CHECK):只有符合輸入條件的數(shù)據(jù)才能存儲(chǔ)到表中。
外鍵約束(FOREIGN KEY):把一個(gè)表中的數(shù)據(jù)和另一個(gè)表中的數(shù)據(jù)進(jìn)行關(guān)聯(lián)
非空約束(NOT NULL):約束表中的列不允許取空值(NULL)。
唯一約束(UNIQUE):唯一約束和主鍵約束都是設(shè)置表中的列不能去重復(fù)值,不同的是,一個(gè)表的唯一約束可以有多個(gè),且唯一約束的列允許存在多個(gè)空值。
檢查約束(CHECK):只有符合輸入條件的數(shù)據(jù)才能存儲(chǔ)到表中。
2018-03-20
(2)、
-- 刪除約束
ALTER TABLE tb_name DROP CONSTRAINT 約束名;
-- 刪除主鍵約束
ALTER TABLE tb_name DROP PRIMARY KEY;
-- 刪除約束
ALTER TABLE tb_name DROP CONSTRAINT 約束名;
-- 刪除主鍵約束
ALTER TABLE tb_name DROP PRIMARY KEY;
2018-03-19
(1)、
-- 查看全部約束(可自行增加 where 字句)
SELECT * FROM USER_CONSTRAINTS;
-- 創(chuàng)建約束
ALTER TABLE tb_name ADD CONSTRAINT 約束名 約束內(nèi)容;
-- 更改約束名字
ALTER TABLE tb_name RENAME CONSTRAINT old_name TO new_name;
-- 禁用約束
ALTER TABLE tb_name DISABLE|ENABLE CONSTRAINT 約束名;
-- 查看全部約束(可自行增加 where 字句)
SELECT * FROM USER_CONSTRAINTS;
-- 創(chuàng)建約束
ALTER TABLE tb_name ADD CONSTRAINT 約束名 約束內(nèi)容;
-- 更改約束名字
ALTER TABLE tb_name RENAME CONSTRAINT old_name TO new_name;
-- 禁用約束
ALTER TABLE tb_name DISABLE|ENABLE CONSTRAINT 約束名;
2018-03-19
-- 查看全部約束(可自行增加 where 字句)
SELECT * FROM USER_CONSTRAINTS;
-- 創(chuàng)建約束
ALTER TABLE tb_name ADD CONSTRAINT 約束名 約束內(nèi)容;
-- 刪除約束
ALTER TABLE tb_name DROP CONSTRAINT 約束名;
SELECT * FROM USER_CONSTRAINTS;
-- 創(chuàng)建約束
ALTER TABLE tb_name ADD CONSTRAINT 約束名 約束內(nèi)容;
-- 刪除約束
ALTER TABLE tb_name DROP CONSTRAINT 約束名;
2018-03-19
INSERT INTO tb_name[(column_name1, column_name2 ...)] VALUES(value1, value2 ...);
UPDATE tb_name SET column_name1 = new_value1[, column_name2 = new_value2...] [WHERE condition];
DELETE FROM tb_name [WHERE condition];
UPDATE tb_name SET column_name1 = new_value1[, column_name2 = new_value2...] [WHERE condition];
DELETE FROM tb_name [WHERE condition];
2018-03-19
drop table tb_name、truncate table tb_name、delete from tb_name間的區(qū)別:
drop table tb_name:不僅刪除表中全部記錄,而且把表也一并刪除
truncate table tb_name:刪除表中全部記錄,但表結(jié)構(gòu)還在,是一個(gè)空表,速度快效率高
delete from tb_name:刪除表中的記錄,能選擇刪除
drop table tb_name:不僅刪除表中全部記錄,而且把表也一并刪除
truncate table tb_name:刪除表中全部記錄,但表結(jié)構(gòu)還在,是一個(gè)空表,速度快效率高
delete from tb_name:刪除表中的記錄,能選擇刪除
2018-03-19
ALTER TABLE tb_name
[ADD column_name]
[MODIFY column_name]
[DROP COLUMN column_name]
[SET UNUSED(column_name)]
[RENAME COLUMN old_column_name TO new_column_name]
[old_tb_name RENAME TO new_tb_name]
[ADD CONSTRAINT constraint_def]
[DROP CONSTRAINT constraint_def];
[ADD column_name]
[MODIFY column_name]
[DROP COLUMN column_name]
[SET UNUSED(column_name)]
[RENAME COLUMN old_column_name TO new_column_name]
[old_tb_name RENAME TO new_tb_name]
[ADD CONSTRAINT constraint_def]
[DROP CONSTRAINT constraint_def];
2018-03-19
-- 創(chuàng)建用戶信息表
CREATE TABLE users(
userId NUMBER(10) NOT NULL PRIMARY KEY,
userName VARCHAR2(20) NOT NULL,
userPwd VARCHAR2(40) DEFAULT('111111'),
userType NUMBER(1) CHECK(userType>0 AND userType<3),
userBirthday DATE,
userSalary NUMBER(10, 2),
remark VARCHAR2(200)
);
CREATE TABLE users(
userId NUMBER(10) NOT NULL PRIMARY KEY,
userName VARCHAR2(20) NOT NULL,
userPwd VARCHAR2(40) DEFAULT('111111'),
userType NUMBER(1) CHECK(userType>0 AND userType<3),
userBirthday DATE,
userSalary NUMBER(10, 2),
remark VARCHAR2(200)
);
2018-03-19
控制文件的擴(kuò)展名:.ctl,位于oradata\ORCL\CONTROLFILE
日志文件的擴(kuò)展名:.log,位于oradata\ORCL\ONLINELOG
數(shù)據(jù)文件的擴(kuò)展名:.dbf,位于oradata\ORCL\DATAFILE
日志文件的擴(kuò)展名:.log,位于oradata\ORCL\ONLINELOG
數(shù)據(jù)文件的擴(kuò)展名:.dbf,位于oradata\ORCL\DATAFILE
2018-03-19
鎖定用戶:alter user 用戶名 account lock
解鎖用戶:alter user 用戶名 account unlock
創(chuàng)建用戶:create user 用戶名 identified by 密碼
刪除用戶:drop user 用戶名 [cascade]
授予權(quán)限:grant 權(quán)限名 to 用戶名
授予 dba 權(quán)限:grant dba to 用戶名
授予登錄權(quán)限:grant create session to 用戶名
授予建表權(quán)限:grant create table to 用戶名
撤銷權(quán)限:revoke 權(quán)限名 from 用戶名
解鎖用戶:alter user 用戶名 account unlock
創(chuàng)建用戶:create user 用戶名 identified by 密碼
刪除用戶:drop user 用戶名 [cascade]
授予權(quán)限:grant 權(quán)限名 to 用戶名
授予 dba 權(quán)限:grant dba to 用戶名
授予登錄權(quán)限:grant create session to 用戶名
授予建表權(quán)限:grant create table to 用戶名
撤銷權(quán)限:revoke 權(quán)限名 from 用戶名
2018-03-19
已采納回答 / 尋找人生的價(jià)值
可以使用mybatis操作數(shù)據(jù)庫,mybatis其實(shí)就是對(duì)jdbc的封裝,你可以先看看jdbc如何操作db,理解一下再去使用mybatis
2018-03-14