tft每日頭條

 > 科技

 > mysql數據表的創建與管理

mysql數據表的創建與管理

科技 更新时间:2024-09-27 20:18:28

1.創建表的語法形式

create table 表名 (屬性名 數據類型 [完整性約束條件]);

create table example0(id int,name varchar(20),sex boolean);

2.設置表的主鍵

Create table 表名(屬性名 數據類型 primary key)

create table example1(stu_id int primary key,stu_name varchar(20),stu_sex boolean);

3.多字段主鍵

create table 表名(屬性名 數據類型 primary key(屬性名1,屬性名2,…))

create table example2(stu_id int,course_id int,grade float,primary_key(stu_id,course_id));

4.設置表的外鍵

create table 表名(屬性名 數據類型 primary key (屬性1.1,屬性1.2) reference 表名(屬性名2.1,屬性2.2) )

mysql> create table example3(

-> stu_id int,

-> course_id int,

-> constraint c_fk foreign key(stu_id,course_id)references example2(stu_id,course_id)

-> );

5.設置表的非空約束

create table 表名(屬性名 數據類型 not null)

mysql> create table example4(

-> id int not null primary key,

-> name varchar(20) not null,

-> stu_id int,

mysql> alter table example0 rename to user;

修改後

mysql數據表的創建與管理(Mysql數據庫中表的創建)1

2.修改字段的數據類型

alter table 表名 modify 屬性名 數據類型;

我們修改name字段的數據類型

alter table user modify name varchar(30);

修改前:

mysql數據表的創建與管理(Mysql數據庫中表的創建)2

修改後:

mysql數據表的創建與管理(Mysql數據庫中表的創建)3

3.修改字段名

alter table 表名 change 舊屬性名 新屬性名 新數據類型;

1. 隻修改字段名,不修改數據類型

mysql數據表的創建與管理(Mysql數據庫中表的創建)4

修改example1中stu_named的字段名為name

alter table example1 change stu_name name varchar(20);

mysql數據表的創建與管理(Mysql數據庫中表的創建)5

2. 修改字段名且修改數據類型

修改example1中stu_sex的字段為sex,且數據類型修改為int(2)

alter teble example1 change stu_sex sex int(2);

mysql數據表的創建與管理(Mysql數據庫中表的創建)6

3. 增加字段

alter table 表名 add 屬性名1 數據類型[完整性約束條件] [first |after 屬性名2];

屬性1:指需要增加的字段的名稱;

數據類型:新增字段的數據類型;

(1) 增加無完整性約束條件的字段

我們在user表中增加一個無完整性約束條件的字段phone字段。

未執行語句之前

執行語句後

alter table user add phone varchar(20);

(2) 增加有完整性約束條件的字段

我們在user表中增加一個有非空約束的age字段

語句執行前

mysql數據表的創建與管理(Mysql數據庫中表的創建)7

語句執行後

alter table user add age int(4) not null;

mysql數據表的創建與管理(Mysql數據庫中表的創建)8

(3) 表的第一個位置增加字段

我們将在user表中第一個位置增加一個num字段,并設置為主鍵

語句執行前

mysql數據表的創建與管理(Mysql數據庫中表的創建)9

語句執行後

alter table user add num int(8) primary key first;

mysql數據表的創建與管理(Mysql數據庫中表的創建)10

(4) 表的指定位置增加字段

我們将user表中phone的後面增加address字段

語句執行前

mysql數據表的創建與管理(Mysql數據庫中表的創建)11

語句執行後

alter table user add address varchar(30) after phone;

mysql數據表的創建與管理(Mysql數據庫中表的創建)12

4.删除字段

alter table 表名 drop 字段名;

我們從user表中删除id字段

語句執行前

mysql數據表的創建與管理(Mysql數據庫中表的創建)13

語句執行後

alter table user drop id;

mysql數據表的創建與管理(Mysql數據庫中表的創建)14

5.修改字段的排列位置

語法:alter table 表名 modify 屬性名1 數據類型 first|after 屬性名2;

屬性名1:指需要修改位置的字段名稱;

數據類型:指屬性名1的數據類型;

first:指指定位置為表的第一個位置;

after 屬性名2:指指定屬性名1插入在屬性名2之後。

(1)字段修改到第一個位置

我們user表中name字段修改為該表的第一個字段

修改前

mysql數據表的創建與管理(Mysql數據庫中表的創建)15

修改後

alter table user modify name varchar(30) first;

mysql數據表的創建與管理(Mysql數據庫中表的創建)16

(2)字段修改到指定位置

我們将user表中sex字段排到age字段之後

語句執行前

mysql數據表的創建與管理(Mysql數據庫中表的創建)17

語句執行後

alter table user modify sex tinyint(1) after age;

mysql數據表的創建與管理(Mysql數據庫中表的創建)18

6.更改表的存儲引擎

語法:alter table表名 engine=myisam;

我們先查看一下user表的存儲引擎,結果為:InnoDB

mysql數據表的創建與管理(Mysql數據庫中表的創建)19

執行後

alter table user engine=myisam;

mysql數據表的創建與管理(Mysql數據庫中表的創建)20

7.删除表的外鍵約束

語法:alter table 表名 drop foreign key 外鍵别名;

外鍵别名:指創建表時設置的外鍵的代号

我們将example3的外鍵約束删除

語句執行前

mysql數據表的創建與管理(Mysql數據庫中表的創建)21

語句執行後

alter table example3 drop foreign key c_fk;

mysql數據表的創建與管理(Mysql數據庫中表的創建)22

删除表

(1)删除沒有被關聯的普通表

語法:drop table 表名

我們接下來将example5表删除

語句執行前

mysql數據表的創建與管理(Mysql數據庫中表的創建)23

語句執行後

drop table example5;

mysql數據表的創建與管理(Mysql數據庫中表的創建)24

(2)删除被其他表關聯的父表

接下來我們删除example1表

drop table example1;

mysql數據表的創建與管理(Mysql數據庫中表的創建)25

删除失敗,有外鍵依賴于該表

example4表依賴于example1表。example4表的外鍵時stu_id 依賴于example1表的主鍵。example1表是example4表的父表。方法一:如果要删除example4表,必須先去掉這種依賴關系。最簡單直接的辦法是,先删除example4,然後再删除父表example1。方法二:先删除子表的外鍵約束,然後删除父表。

執行語句前

mysql數據表的創建與管理(Mysql數據庫中表的創建)26

語句執行後

mysql數據表的創建與管理(Mysql數據庫中表的創建)27

結果顯示成功

mysql數據表的創建與管理(Mysql數據庫中表的創建)28

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved