sqlplus課堂筆記

2021-05-25 22:08:30 字數 2920 閱讀 7986

desc user_tables;

select * from user_tables where table_name='emp';

update 表名 set 列名='修改後資料' where 行名='aaa';

create table student

(id number(5,2) primary key,

sname varchar2(20) not null,

sage number(3) check(sage between 1 and 120),

sidcardno varchar2(18) unique,

remark varchar2(100) default '無'

);number(5):5位整數

number(5,2):有效數字總位數為5位,整數3位,小數2位

域完整性:確定某個欄位在指定的取值範圍內取值,分為以下幾類:

檢查約束:字段取值符合指定的區間

非空約束:保證字段必須插入確定的值

唯一約束:保證欄位的取值是不重複的

預設值約束:保證欄位在麼有明確插入值得情況下,有預設值

參照完整性:主要用來描述表和表之間的數量的關聯關係

一對多(1:n):如商品類別和商品(保證乙個商品類別下可以有多個商品,但是乙個商品只能對應乙個類別)

商品類別表

create table itemcategory1

(id number(10) primary key,

cname varchar2(30) not null,

remark varchar2(100) default '無'

);商品

create table item1

(id number(10) primary key,

iname varchar2(80) not null,

remark varchar2(100) default '無',

cid number(10) not null,

constraint fk_item1_itcategory foreign key(cid) references itemcategory1(id)

);--利用constraint關鍵字給表加約束

語法格式:constraint 約束名稱 約束型別

一對一:

實現方式1:在多方的表上建乙個外來鍵列,此列加乙個unique約束

實現方式2:在多方的表或一方的表上的主鍵列上建立另一方的外來鍵

多對多:

實現方式1:兩個外來鍵列+主鍵列

實現方式2:兩個外來鍵列,同時由這兩個外來鍵列組合成乙個符合主鍵來唯一標識一條記錄

create table student

(id varchar2(20) primary key,

sname varchar2(10) not null,

remarks varchar2(100) null

);create table course

(id varchar2(20) primary key,

sname varchar2(10) not null,

remarks varchar2(100) null

);create table student_course

(sid varchar2(20),

cid varchar2(20),

constraint pk_sid_cid primary key(sid,cid),

constraint fk_sid foreign key(sid) references student(id),

constraint fk_cid foreign key(cid) references course(id)

);create table student_course

(id  varchar2(20) primary key,

sid varchar2(20),

cid varchar2(20),

constraint fk_sid foreign key(sid) references student(id),

constraint fk_cid foreign key(cid) references course(id)

);高階查詢

連線查詢:

外連線(join)

左外連線(left join)*

右外連線(right join)*

內連線 (inner join):以主表連線為主*看on後面的

全連線(full join)

示例1:查詢所購買的商品的名稱及型別名稱

select iname,cname from item inner join itemcategory on item.cid=itemcategory.id;

insert into itemcategory(id,cname) values(10004,'兒童用品');

select id,iname from item;

edit 2010072201.sql

start 2010072201.sql

家庭作業:

1.預習外連線,搞懂外連線

2.有如下關係:

教學部(部門名稱,部門編號)

教職員(姓名,薪水,工齡,職位,類別)

職位(名稱)

公積金賬號(賬號名稱)

入職類別(名稱)

業務規則:

1)乙個部門以下可以有多個員工,但乙個員工只能屬於乙個部門。

2)乙個員工可以擔任多個職位,乙個職位可以有多個員工來擔當。

3)乙個入職類別可以包括多個員工,但乙個員工只能屬於乙個入職類別

如:張明要麼屬於社會招聘,要麼屬於校園招聘

4)乙個公積金賬號只能歸乙個員工使用。

根據以上關係及業務規則設計表的結構及關係

cascade刪除

linux課堂筆記

rw r r 第一位有 d,l 表示普通檔案,d表示目錄,l表示連線檔案 快捷方式 接下來三位為一組,分別表示u所有者,g所屬組,o其他人。r讀,w寫,x執行 代表acl許可權 數字代表引用計數 開頭的檔案代表隱藏檔案 系統檔案 ls l簡稱ll就是ls的詳細資訊 建立目錄 mkdir make d...

課堂筆記六

偵錯程式 gdb 程式除錯工具 使用 gcc g test.c o test gdb test gdb run 執行程式 gdb list 檢視 gdb quit 退出 gdb break 21 執行到21行 gdb next 單步執行 gdb print 變數名 檢視變數數 gdb continu...

課堂筆記2

一 makefile make命令執行時,需要乙個makefile檔案,以告訴make命令需要怎樣去編譯和鏈結程式。格式 target 目標 dependency 依賴 tab字元 command 命令 例 hello hello.c gcc hello.c o hello 通過hello.o和pr...