Mysql學習2 建立資料表

2021-06-07 03:27:57 字數 2838 閱讀 6460

建立資料表

在mysql中,建立資料表通過sql語句create table實現:

create table 表名( 屬性名  資料型別 [完整性約束條件],

屬性名  資料型別 [完整性約束條件],

、、、、、

屬性名  資料型別 [完整性約束條件],

);「表名」為要建立資料表的名字,「屬性名」引數表示表中字段的名稱,「資料型別」引數指定欄位的資料型別。

注意:在建立資料表之前必須先用use語句選擇資料庫,格式為;use 資料庫名

例項1:

create table example(id    int,   

name varchar(20),

*** boolean

);

設定表的主鍵

1、單字段主鍵

主鍵是由乙個字段構成時,可以直接在該字段的後面加上 primary key 來設定主鍵:

屬性名  資料型別 primary key

例項2:

create table example1(stu_id    int primary key,

stu_name varchar(20),

stu_*** boolean

);

2、多欄位主鍵

主鍵是由多個屬性組合而成的,在屬性定義完之後統一設定主鍵,如下:

例項3:

create table example2(stu_id int,

course_id int,

grade float,

primary key(stu_id, course_id)

);

3、設定表的外來鍵

設定外來鍵的原則就是必須依賴資料庫中已經存在的父表主鍵,外來鍵可以為空值。外來鍵的作用是建立該錶與其父表之間的關聯關係。父表中刪除某條資訊時,子表中與之對應的資訊也必須發生相應的改變。

設定外來鍵的基本語法為:

constraint  外來鍵別名 foreign key (屬性1.1,屬性1.2,、、、、、、屬性1.n)

references 表名(屬性2.1,屬性2.2,、、、、、、屬性2.n)

其中,「外來鍵別名」引數是為外來鍵的代號,「屬性1」 引數列表是子表中設定的外來鍵,「表名」引數是指父表的名稱,「屬性2」引數列表是父表的主鍵。

例項4:

create table example3(id int primary key,

stu_id int,

course_id int,

constraint c_fk foreign key(stu_id, course_id)

references example2(stu_id, course_id)

);

解釋:id欄位為主鍵,stu_id和course_id欄位為外來鍵,c_fk為外來鍵別名,example2表成為example3表的父表,example3中的stu_id和course_id欄位依賴example2表中的相應字段。

4、設定表的非空約束

設定表的的非空約束是指在建立表的時候為表中的某些特殊字段加上not null 約束條件,基本語法為:

屬性名 資料型別 not null

例項5:

create table example4(id int not null primary key,

name varchar(20) not null,

stu_id int,

constraint d_fk foreign key(stu_id)

references example1(stu_id)

);

5、設定表的唯一性約束

唯一性是指所有記錄中該字段的值不能重複出現。設定表的唯一行約束是指在建立表的時候,為表的某些特殊字段加上unique約束條件。基本語法為:

屬性名 資料型別 unique

例項6:

create table example5(id int primary key,

stu_id int unique,

name varchar(20) not null

);

6、設定表的的屬性值自動增加

auto_increment是mysql資料庫中乙個特殊的約束條件。其主要用於為表中插入的新記錄自動生成唯一的id。乙個表只能只能有乙個字段使用auto_increment約束,且該字段必須為主鍵的一部分。預設情況下,該字段的值是從1開始自增。基本語法為:

屬性名 資料型別 auto_increment

例項7:

create table example6(id int primary key auto_increment,

stu_id int unique,

name varchar(20) not null

);

7、設定表的屬性的預設值

預設值是通過default關鍵字來設定的。基本語法為:

屬性名 資料型別 default 預設值

例項8:

create table example7(id int primary key auto_increment,

stu_id int unique,

name varchar(20) not null ,

english varchar(20) default 'zero',

math float default 0,

computer float default 0

);

建立mysql資料表

mysql建表語句 create table if not exists db name.table name colunum1 date not null comment 列欄位說明 colunum2 int 11 not null comment 列欄位說明 colunum3 int 11 no...

MYSQL 建立資料表

rdbms即關聯式資料庫管理系統 relational database management system 的特點 rdbms術語 資料庫 一些關聯的表的集合 資料表 資料的矩陣。等同於簡單的電子 列 同一類資料 行 一組相關資料,稱為乙個記錄 冗餘 儲存量被資料,使系統速度更快。主鍵 唯一。外來...

MySQL 建立資料表

建立mysql資料表需要以下資訊 以下為建立mysql資料表的sql通用語法 create table table name column name column type 以下例子將在 runoob 資料庫中建立資料表runoob tbl runoob tbl runoob id int not ...