在本教程中,將學習如何使用sqlcreate table
語句來建立新錶。
1. sql create table語句簡介
到目前為止,我們已經了解了資料庫中的表是什麼。現在,是時候學習如何建立表了。
表是儲存在資料庫中的資料集合。 表由列和行組成。 要建立新錶,請使用具有以下語法的create table
語句:
create table table_name(
column_name_1 data_type default value column_constraint,
column_name_2 data_type default value column_constraint,
...,
table_constraint
);
建立新錶所需的最低資訊是表名和列名。
由table_name
指定的表名在資料庫中必須是唯一的。 如果建立的表的名稱與已存在的表相同,則資料庫系統將發出錯誤。
在create table
語句中,指定以逗號分隔的列定義列表。每個列定義由列名,列的資料型別,預設值和乙個或多個列約束組成。
列的資料型別指定列可以儲存的資料型別。 列的資料型別可以是數字,字元,日期等。
列約束控制可以儲存在列中的值的型別。 例如,not null
約束確保列不包含null
值。
列可能有多個列約束。 例如,users
表的username
列可以同時具有not null
和unique
約束。
如果約束包含多個列,則使用表約束。 例如,如果表的主鍵包含兩列,則在這種情況下,必須使用primary key
表約束。
sql create table示例
假設需要將員工的培訓資料儲存在資料庫中,並要求每個員工可以接受零或多個培訓課程,並且每個培訓課程可以由零個或多個員工進行。
在檢視了當前資料庫後,發現沒有地方儲存此資訊,因此建立乙個新的表。
以下語句建立課程表:
create table courses (
course_id int auto_increment primary key,
course_name varchar(50) not null
);
courses
表有兩列:course_id
和course_name
。
course_id
是課程表的主鍵列。 每個表都有乙個且只有乙個主鍵,用於唯一標識表中的每一行。
注:為每個表定義主鍵是乙個好習慣。
course_id
的資料型別是整數,由int
關鍵字表示。 此外,course_id
列的值為auto_increment
。表示當在courses
表中插入新行而不提供course_id
列的值時,資料庫系統將為該列生成乙個整數值。
course_name
儲存課程名稱。 其資料型別是最大長度為50
的字串(varchar
)。not null
約束確保course_name
列中不儲存null
值。
現在有了儲存課程資料的表。 要儲存訓練資料,請按如下方式建立名為training
的新錶。
create table trainings (
employee_id int,
course_id int,
taken_date date,
primary key (employee_id , course_id)
);
trainings
表包含三列:
因為trainings
表的主鍵由兩列組成:employee_id
和course_id
,所以必須使用primary key
表約束。
在本教程中,您學習了如何使用sqlcreate table
語句在資料庫中建立新錶。
實變函式 實分析總結
一 概述。實變函式,又叫實分析,整本書滿滿的證明就講了乙個勒貝格積分。最為大家所熟知的是用牛頓 萊布尼茨公式算的黎曼積分。但是黎曼積分本身依賴於函式的連續性,像不連續的狄利克雷函式就無法積分了。為了解決這一問題,勒貝格利用分割值域的方法,使得函式可積。但是分割出來的值域,只能放在一起,形式集合。如果...
NestedScrollWebview實現與優化
nestedscrollwebview實現與優化 原文如下 好久沒寫了,好像也沒什麼人關注我,呵呵,但我還是堅持寫一下,希望能幫到有需要的人!今天我來說一下nestedscrollwebview。最近在弄乙個需求,我需要用到coordinatorlayout webview 實現滾動互動效果,但要實...
saltstack keepalived實現高可用
本篇部落格承接saltstack安裝部署和saltstack grains,pillar,jinja模組的使用 建立目錄。root server1 keepalived vim files keepalived.conf configuration file for keepalived globa...