1. 程式人生 > >資料庫建表的一些操作,包括主鍵外來鍵約束等等

資料庫建表的一些操作,包括主鍵外來鍵約束等等

create table 成績
(
學號 char(11) references 學員資訊(學號) not null,
課程 int references 課程(編號) not null,
考次 int constraint PK_成績 primary key(學號,課程,考次) not null,
成績 decimal(5,2)default(0) not null 
)
這是一個建表的SQL語句
題目寫得不完整,麻煩解釋一下
constraint PK_成績 primary key(學號,課程,考次)這句的意義
decimal的意思,括號裡的(5,2)又是什麼?
這條語句的意思是: 
建立表,表名為“成績”,表中包含4個欄位,其中 
“學號”欄位為char(字元)型別,寬度為11,同時,對該欄位建立foreign key(外部鍵)約束,參照“學員資訊”表的“學號”欄位,並且不允許空值; 

“課程”欄位為int(整數)型別,同時,對該欄位建立foreign key(外部鍵)約束,參照“課程”表的“編號”欄位,並且不允許空值; 

“考次”欄位為int(整數)型別,同時,對該欄位建立約束名為“
PK
_成績”的primary key(主鍵)約束,該主鍵是複合主鍵,同時作用在學號、課程和考次3個欄位上,並且不允許空值; “成績”欄位為decimal(帶固定精度和小數位數的數值資料)型別,總寬度為5位,小數位數為2,同時,對該欄位建立default(預設)約束,預設值為0,並且不允許空值

相關推薦

資料庫一些操作包括外來約束等等

create table 成績 ( 學號 char(11) references 學員資訊(學號) not null, 課程 int references 課程(編號) not null, 考次 int constraint PK_成績 primary key(學號,課程,

資料庫基本操作

資料庫的基本操作練習: /*要求在本地磁碟D建立一個學生-課程資料庫(名稱為student), 只有一個數據檔案和日誌檔案,檔名稱分別為stu和stu_log, 物理名稱為stu_data.mdf 和stu_log.ldf,初始大小分別為5MB和3MB, 增長方

HQL語句多聯合查詢Mysql不設定外來關係

如有表A,表B,表C A表包含B表的key,A表包含C表的key。如果我們想用HQL語句查詢A表時帶出A表所有屬性和B表的所有屬性和C表的所有屬性,HQL語句可按一下方法寫。 @NamedQuery(name="getOrderByUserid",query="From A

SQL資料庫中列的常見型別與一些常用約束操作

硬是一拖再拖,直到了今天才更。 --表中列的型別  -- int  整型  -- char(10)字串  固定長度查詢速度快,浪費空間如身份證號 手機號碼 學號  --varchar(10) 字串可變長度姓名       地址  -- 不帶n的:字元或者數字佔一個位元組

建立、修改、刪除的方法 建立約束外來約束、使用者自定義約束的方法 建立查詢表的方法及使用截斷的方法理解約束資料庫中的作用

撰寫人——軟工二班——陳喜平 – 實驗內容: – 一、建立表 – 建立圖書館管理系統所涉及的表 – 建立產品銷售系統所涉及的表 – 圖書表book(bid,bname,price,qty) – 書庫表lib(lid,lname,address) – 讀者表reader

Oracle資料庫先判斷是否存在存在不不存在則

------建立TABNAME ---------- DECLARE   TOTAL INT := 0; BEGIN   SELECT COUNT(1)     INTO TOTAL     FROM USER_TABLES A

Navicat 連線mysql資料庫操作

在後臺開發中,經常會用到關係型資料庫,Navicat是一款資料庫視覺化管理軟體,可以很方便的設計、修改資料表、查詢資料庫。接下來看看如何使用Navicat快速構建資料庫。 1.power design設計資料表;      並使用工具匯出sql語句。    選擇sql檔

關於鏈所有操作面試必考C++

val 插入 isl tail truct ise delete 彈出 添加 1 #include <iostream> 2 #include <stack> 3 using namespace std; 4 //鏈表的結構

mysql數據的基本操作:結構操作字段操作

pmp lbs 表結構 基本操作 時也 dax i2c tpc -- 本節介紹: 表結構操作 創建數據表、 查看數據表和查看字段、 修改數據表結構 刪除數據表 字段操作 新增字段、 修改字段數據類型、位置或屬性、 重命名字段 刪除字段 首發時間:

資料庫同步資料利器oracle+mybatis 一個sql控制所有增刪改 ${xxx} 和 #{xxx}的區別

資料庫同步表資料利器,mybatis 一個sql控制所有表增刪改 在專案開發過程中,尤其是多系統專案叢集中,經常會遇到需要從一個數據庫同步n張表到另一個數據庫中的需求,還需要對這些表做監聽,在發現有修改的時候進行增量資料同步。 通常的方法是在接受資料庫對應的專案中寫介面供資料來源專案

Hive Shell命令之一(資料庫操作

//資料庫的有關操作 1、如果資料庫不存在的話建立資料庫,預設資料庫default: create database if not exists test; 2、檢視hive中所包含的資料庫: show databases; 3、如果資料庫非常多,可以用正則表示式匹配篩選出需要的資料庫名。 sh

第五篇:zTree節點的一些操作權當備份

專案場景:將zTree的一個節點挪到某個已知的根節點下,因為樹上的節點都是資料庫查詢出來的,所以不能直接用addNodes()這個方法(否則一重新整理又恢復原樣了),而是要把這個節點及其某些屬性資料儲存到資料庫中,進一步的需求是:如果層級很多,挪過去的時候,要連帶他的所有父節點,子孫節點一起挪過去,加上他們的

HIVE簡明教程學習筆記(一)——資料庫操作HIVE DDL

1.建立資料庫 create database if not exists aa_db; 2.檢視資料庫定義 describe database aa_db; 3.檢視資料庫列表 show databases; 4.刪除資料庫 drop database if exists testdb casca

hive中執行hql或語句時丟擲Display all 459 possibilities? (y or n)錯誤的解決方法

  我昨天在hive上建表,一直報Display all 459 possibilities? (y or n) ,之前我以為是建表語句有問題,一直在改語句,後來在網上搜這個錯誤,原來語句裡混雜了Tab縮排,這可能是我使用notepad++的時候打出來的;       解決

【java小程式實戰】小程式短視訊專案之資料庫

 最近自己在練習一個java小程式短視訊的專案,希望每天通過文章的形式把開發內容和學習到的東西記錄下來。  一個專案的開始就是資料庫建表,首先我們要有一個使用者表,記錄使用者的一些資訊   使用者表-user 欄位

C#+AE地圖文件的相關操作包括新建開啟儲存等

public static bool NewMxdFile(string filePath)//新建工作空間 { try { string tmp_fileName = fileP

oracle的insert操作忽略衝突問題

merge into table_a a using table_b b on(a.id=b.id) when not matched then insert(a.id,a.col,a.col2.....) values(b.id,b.col,b.col2.

MYSQL多操作

需求: 分類表和商品表之間是不是有關係? 如果有關係,在資料庫中如何表示這種關係 ​ 技術分析:多表之間的關係如何來維護 外來鍵約束: foreign key 給product中的這個cno 新增一個外來鍵約束:alter table product add foreign k

ubuntu常用命令及操作包括安裝CUDA 記錄一次Python下Tensorflow安裝過程1.7帶GPU加速版本

chmo 777 Document 這裡Document是一個資料夾,資料夾中還有好多子檔案,可以發現執行了這條指令以後,其子資料夾的許可權並沒有改變。 要想改變其子資料夾的許可權,應該執行 chmod -R 777 Document/ ubuntu desktop的英偉達CUD

檢視和修改Mysql資料庫的時候預設的儲存引擎

建表的時候,不指定type或engine,則使用預設的儲存引擎。預設的儲存引擎,可以在配置檔案my.ini中檢視和修改,預設是InnoDB: # The default storage engine that will be used when create new tab