java學習筆記 第4天

2021-07-01 19:25:58 字數 4326 閱讀 7184

停止oracle的服務,只在使用它的時候才去啟動會加快電腦執行速度

oracle的服務:

oracleserviceorcl   使用sql plus時需要啟用它

oracleoradb11g_home 1tnslistener 使用第三方工具時,像pl/sqldeveloper時需要啟用

約束資料型別是用來控制輸入的格式,約束是用來控制輸入的值滿足要求

約束的作用

用來定義規則,確保資料的完整性

非空約束

在建立表時設定非空約束

create table tablename

(column_name datatype  not null,…..);

在修改表的時候新增非空約束

alter table userinfo

modify id number(6,0) not null;  

為id欄位新增非空約束,前提是id欄位下沒有空值

在修改表的時候去除非空約束

alter table userinfo

modify pwd varchar(15) null;

去除了pwd欄位的非空約束

主鍵約束

作用:確保表當中每一行資料的唯一性

設定了主見約束的字段,要求非空,唯一

一張表只能有乙個主鍵,乙個主鍵可以由多個字段構成(聯合主鍵或者復合主鍵)

建立表的時候新增主鍵約束

create table userinfo_2

(id number(6,0) primary key,

name varchar(10));

create table userinfo_3

(id number(6,0),

name varchar(10),

constraint id_name primary key(id,name));

在建立的時候新增聯合主鍵

查詢主鍵約束名稱

在資料字典user_constraints

修改表的時候新增主鍵約束

alter table userinfo

add constraint id_name_2 primarykey(id,name));

修改主鍵約束的名字

alter table userinfo

rename constraint id_name_2 to new_id_name;

禁用主鍵約束

alter table userinfo

disable constraint new_id_name;

刪除主鍵約束

alter table userinfo

drop constraint new_id_name;

外來鍵約束

主從表關係,設定外來鍵約束時,主表當中的字段必須為主鍵欄位,主從表中相應的字段必須為同一種資料型別,從表中的值必須為主表當中欄位的值,或者為空值

在建立表時新增外來鍵約束

create table userinfo_5

(email varchar(15) primary key,

userid number(6,0) referencesuserinfo_4(id));

在表級新增外來鍵約束

constraint constraint_name

foreign key(column_name) references

table_name(column_name)[on delete cascade]

on delete cascade級聯刪除,主表中刪除資料,從表中資料也會跟著被刪除

在修改表時新增外來鍵約束

alter tableuserinfo_7

addconstraint fk_id_phone foreign key (userid) references userinfo_4(id) on deletecascade;

禁用外來鍵約束

alter tableuserinfo_7

disable constraintfk_id_phone;

刪除外來鍵約束

alter tableuserinfo_7

dropconstraint fk_id_phone;

唯一約束

作用:保證資料的唯一性

主鍵約束約束與唯一約束的區別:唯一約束可以允許有乙個值為空,主鍵約束要求非空;一張表只能有乙個主鍵約束,但是可以有很多個唯一約束

在建立表時新增唯一約束

create table userinfo_8

(id number(6,0) primary key,

name varchar(10) unique);

在表級新增唯一約束

create table userinfo_9

(id number(6,0) primary key,

name varchar(10),

constraint un_name unique(name));

在修改表時新增唯一約束

alter table user_10

add constraint un_name_new unique(name);

禁用唯一約束

alter table user_10

disable constraint un_name_new;

刪除唯一約束

alter table use_10

drop constraint un_name_new;

檢查約束

作用:讓表中的值更具有實際意義

在建立表時新增檢查約束

create table userinfo_11

(id number(6,0),

salary number(5,0) check(salary>0));

在表級新增檢查約束

create table userinfo_12

(id number(6,0),

salary number(5,0),

constraint ck_sal check(salary>0));

在修改表的時候新增檢查約束

alter table userinfo_12

add constraint ck_id check(id>0));

禁用檢查約束

alter table userinfo_12

disable constraint ck_id;

刪除檢查約束

alter table userinfo_12

drop constraint ck_id;

總結非空約束

主鍵約束

外來鍵約束

唯一約束

檢查約束

主鍵約束在每一張表只能有乙個,但是可以由多個字段構成

外來鍵約束涉及兩張表之間關係

在建立表時新增約束,只有非空約束只能在列級設定,不能在表級設定,並且非空約束沒有名字

在修改表時新增約束,非空約束用的是修改欄位的語句

更改約束名稱,非空約束沒有名稱

資料字典user_constraints

刪除約束,非空約束用的是修改欄位的語句

索引是一種讓資料提供給使用者的形式與它在資料庫中的儲存形式不同的方法

作用:排序;提高查詢速度。

建立索引

crate index ind_userinfo_13 on userinfo_13(agedesc);

刪除索引

drop index ind_userinfo_13;

order by

select * from userinfo_13 order by salary;

索引與orderby的區別

當使用orderby時,每次執行都要重新排序,當使用索引時資料庫會建立乙個物理索引物件,每次執行查詢時都會訪問同乙個索引

當表被刪除時,所有相關索引都被刪除

笛卡爾積

設a,b為集合,用a中元素為第一元素,b中元素為第二元素構成有序對,所有這樣的有序對組成的集合叫做笛卡爾積,記作axb

pl/sql

服務啟動有順序,先啟動listener,再啟動orcl

從excel匯入oracle

準備excel資料

excel檔案另存為(文字檔案(指標分隔符)(*.txt))

匯入plsql,tools——text importer——opendatafile

設定匯入資料表結構

從oracle匯出excel

寫出要匯出的資料,new——report window——f8

匯出?desc 查詢結果依然公升序排列

word中取消拼寫檢查

檔案——選項——校對

word中隱藏換行符

檔案——選項——顯示

java學習筆記 第3天

sys as sysdba sys使用者可以建立其他的使用者 create user user01 identified by u01 建立乙個使用者,口令為u01 alter user user01 identified by us01 更改使用者的口令為us01 password 只有擁有dba...

java學習筆記 第11天

建立視窗之後無法關閉 ctrl alt delete 直接殺程序 xml extensible markuplanguage xml 描述事物本身 xsl 事物的表現形式 dtd schema 定義xml的語法 與html的區別 更有利於資料的描述,交換 html不具有擴充套件性,xml可以定義新的...

JAVA學習第4天 安裝MySQL

一 工作環境 1 作業系統 macos sierra 10.12 如圖1 1 要有2g空間用於mysql軟體安裝。圖 1 1 二 主要任務 1 完成mysql的安裝 2 連線資料庫,並建立表。三 實施步驟 直接瀏覽器開啟 找到對應版本,大約300多mb,如圖3 1所示。2 安裝mysql 圖 3 2...