資料庫約束和連線的種類

2021-06-06 14:05:26 字數 2236 閱讀 9965

--建立資料庫

create database 學生練習on(

name = srcsharedb,

filename = 'e:\stuexcise.mdf',

size = 10,

maxsize = unlimited,

filegrowth = 10%

)--日誌檔案

log on

(name = srcsharelg,

filename = 'e:\stuexcise.ldf',

size = 3,

maxsize = unlimited,

filegrowth = 10%

)--學生表

create table 學生

(stuno varchar(10) primary key,

stuage int check (stuage>0 and stuage<150),

stu*** char(2) check (stu*** in('男','女')),

stumajorno varchar(10) not null

)--課程表

create table 課程

(lsnno varchar(10) primary key,

lsnname varchar(10) not null,

lsnmark int check (lsnmark>=0 and lsnmark<=100),--注意約束要用括號括起來

lsnhour int check (lsnhour>0 and lsnhour<=200)

)--選課表

create table 選課

(stuno varchar(10) foreign key (stuno) references 學生(stuno),--注意外來鍵約束的語法格式

lsnno varchar(10) foreign key (lsnno) references 課程(lsnno),

stumark int check (stumark>=0 and stumark<=100)

)--新增資料

insert into 學生

values(2,20,'男','軟體')

--更新資料

update 學生

set stuage=stuage-5

where stuage=19

--刪除資料

delete from 學生

where stuno='2'

--查詢資料

select stumark from 學生,選課 where 學生.stuno=選課.stuno and 學生.stuno='1'

約束規則:

1、實體完整性規則

主要是針對主鍵(列級和表級)的,主鍵約束用於唯一性表示表的記錄,並且主鍵約束要求

該列不為空,切記是不為null而不是不為"",並且要求該列不能有相同項,否則不能執行sql

語句2、參照完整性約束,即為外來鍵約束,主要是表示表中列和表中列的關係

語法是:foreign key(列名) references 表名(列名),

其中(列名)需加括號,表名(列名)中列名需為所引用表的主鍵

3、使用者自定義完整性約束

包括列值非空(not null),列值唯一(unique),檢查列值是否滿足乙個布林表示式

(check)

需要注意的是check約束需要括號,即check(布林值)

連線的種類:

內聯接:分為等值連線和自然連線,通過比較運算子來連線

語法:select * from table1 join table2 on table1.id=table2.id

交叉連線:即產生笛卡兒積的連線

語法:select * from table1 cross join table2

外連線:

左外連線:返回左表的所有行,右表不匹配的用null表示

語法:select * from table1 left join table2 on table1.id=table2.id

右外連線:返回右表的所有行,左表不匹配的用null表示

語法:select * from table1 right join table2 on table1.id=table2.id

全連線:返回連線表的所有行

語法:select * from table1 full join table2 on table1.id=table2.id

MySql資料庫連線種類

查詢分析器中執行 建表table1,table2 create table table1 id int,name varchar 10 create table table2 id int,score int insert into table1 select 1,lli insert into t...

資料庫的種類

1.關係型資料庫 mysql oracle sqlserver都是關係型 關係型資料庫的特點是存在資料關聯 用平面的表去記錄立體的業務資訊 即使使用關係型資料庫,很多網際網路專案也是弱化關聯 在資料庫方面設定關聯關係存在弊病 如級聯刪除等等,可以使用應用程式來控制關聯 2.非關係型資料庫 nosql...

資料庫種類

資料庫種類大體分為 關係型資料庫和非關係型資料庫 關係型資料庫模型是把複雜的 歸結為簡單的二元關係 即二維 形式 在關係型資料庫中,對資料的操作幾乎全部建立在乙個或多個關係 上,通過對這些關聯的 分類 合併 連線或選取等運算來實現資料庫的管理。典型產品 m ysql oracle db2 sqlse...