第二章 建立 刪除和修改表

2021-07-13 02:07:52 字數 3139 閱讀 9307

建立表

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

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

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

注:建表前先選擇資料庫

約束條件 說明

primary key

設為主鍵

foreign key

設為外來鍵,是與之聯絡的某錶的主鍵

not null

設該屬性不能為空

unique

標識該屬性的值是唯一的

auto_increment

標識該屬性的值自動增加

default

設定該屬性的預設值

describe 表名;

mysql> describe user;

mysql> create table user(id int primary key,

name varchar(23));

primary key(屬性名1,屬性名2)

mysql> create table user(id int,course_id int,grade float,primary

key(id,course_id));

user_id(主鍵)

name

age

course_id(主鍵)

course_name

user_id(外來鍵)

當父表刪除某條資訊時,子表對應得資訊也會被刪除。

constraint 外來鍵別名 foreign key(屬性1.1,屬性1.2,……)

references 表名(屬性2.1,屬性2.1,……)

mysql> create table user(u_id int primary key,name varchar(20));

mysql> create table course(id int primary key,u_id int,constraint c_fk foreign key(u_id) references user(u_id));

c_fk為外來鍵的別名,而且外來鍵必須是父表的主鍵

父表 子表

alter table 舊表名 rename 新錶名;

alter table 表名 modify 屬性名 資料型別;

mysql>alter table user modify name varchar(30);

alter table 表名 change 就屬性名 新屬性名 新資料型別

mysql>alter table user change u_id user_id int;

更改後的字段與原來字段約束一致,如不更改資料型別,則與原來一致

alter table 表名 add 屬性名1 資料型別 [約束條件] [first| after 屬性名2]

first引數指定新增欄位為表的第乙個字段,after指定在原有某個字段之後。預設在表的最後乙個字段

alter table 表名 drop 屬性名;

mysql> alter table user drop user_age;

alter table 表名 modify 屬性名1 資料型別 first|after 屬性名2;

alter table 表名 engine=儲存引擎名;

alter table 表名 charset=utf8;

alter table 表名 drop foreign key 外來鍵別名;

a.刪除未被關聯的普通表

drop table 表名;

b.刪除被關聯的父表

(1)先刪除子表的外來鍵約束,再刪除父表

(2)先刪除子表,再刪除父表

第二章 順序表

線性表是具有相同特性的資料元素的乙個有限序列。靜態順序表。define list init size 100 線性儲存空間的初始分配量。typedef structsqlist 動態線性表。typedef structsqlist 線性表宣告 sqlist l l.data elemtype mal...

第二章 資料庫表的建立

昨天在做專案是,用到了資料庫,前面學習不紮實,咋建立表不是很會,資料讀取也不會,今天就將我自己總結的東西分享 一 讀取資料庫 string sqlcom select from dataname sqlcommand mycommand new sqlcommand sqlcom,sqlconnec...

第二章 線性表

定義 線性表簡稱表,是n n 0 個具有相同型別的資料元素的有限序列,線性表中資料元素的個數稱為線性表的長度。長度等於0時稱空表,乙個非空表通常記作 l a1,a2,an 線性表的性質 1.有限性 元素個數有限 2.相同性 元素型別相同 3.順序性 除首位元素外,相鄰元素都有前驅和後繼 2.1.2線...