溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

操作mysql數(shù)據(jù)庫表的基本方法

發(fā)布時(shí)間:2020-05-14 17:20:01 來源:億速云 閱讀:234 作者:三月 欄目:數(shù)據(jù)庫

下面一起來了解下操作mysql數(shù)據(jù)庫表的基本方法,相信大家看完肯定會(huì)受益匪淺,文字在精不在多,希望操作mysql數(shù)據(jù)庫表的基本方法這篇短內(nèi)容是你想要的。

表的操作

表示數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)的基本單位,由若干個(gè)字段組成,主要用來存儲(chǔ)數(shù)據(jù)記錄,表的操作是增刪改查,這是最基本的操作,也是最重要的操作

創(chuàng)建表

語法create table 表名

(字段1 類型[(寬度) 約束條件],

 字段n 類型[(寬度) 約束條件]

);

在同一張表中字段名不能相同

寬度和約束條件是可選的

字段名和類型是必須的

 操作mysql數(shù)據(jù)庫表的基本方法

實(shí)例:

Use school

Create table student

(name char(10),

Sex char(8),

Age int(3),

Password varchar(50)

);

查看表結(jié)構(gòu)

Describe 表名;

Desc 表名;

Show create table 表名;  //查看表詳細(xì)結(jié)構(gòu)

表完整性約束為了保障數(shù)據(jù)的完整性一致性和準(zhǔn)確性

關(guān)鍵字primkary key 主鍵, 唯一標(biāo)識(shí)的一個(gè)記錄

Foreign key 外鍵 ,做關(guān)聯(lián)

No null 非空

Unique key 唯一約束,這本身就是一個(gè)索引

Default 默認(rèn)值

Auto_increment 自增長(zhǎng) 

實(shí)例:

Use school

Create table student

(name char(10) not null,

Sex enum (‘male’,’female’), default ‘male’ not null

Age int unsigned not null default 18,                    //unsigned修飾值必須為正值

Hobby set (‘music’,’book’,’disc’) default ‘book,disc’

); 

設(shè)置唯一約束實(shí)例:unique

Create table departtment(

Dept_id int,

Dept_name varchar(30) unique,

Comment varchar(50) 

); 

設(shè)置主鍵約束實(shí)例:primary key非常重要,唯一標(biāo)識(shí)符,這本身就是一條索引

使用單列做主鍵

Create table departtment(

Dept_id int primary key,

Dept_name varchar(30) ,

Comment varchar(50)

); 

使用多列做主鍵,也就是復(fù)合主鍵,也就是說這兩個(gè)共同一起是不能有相同的數(shù)據(jù)的

Create table departtment(

Dept_id int ,

Dept_name varchar(30),

Comment varchar(50),

Constraint pk_id_name primary key (dept_id,dept_name)

); 

設(shè)置自增長(zhǎng)auto_increment  自增長(zhǎng)通常都是配合主鍵共同使用的,而且這個(gè)字段必須是整數(shù)類型才行

Create table student(

Dept_id int  primary auto_increment,

Dept_name varchar(30),

Comment varchar(50)

); 

設(shè)置外鍵約束foreign key主要做表的關(guān)聯(lián),這里就涉及到父子表的概念,外鍵必須要存儲(chǔ)引擎來支撐的,所以必須要確保存儲(chǔ)引擎是innodb才行

實(shí)例

父表

Create table empolyees(

Name varchar(20) not null,

Mail varchar (20),

Primary key (name)

)engine=innodb; 

子表

Create table pryroll(

Id int(5) not null,

Name varchar(20) not null,

Payroll float (10,2) no null,

Primary key (id),

Constraint fk_name foreign key (name) references employees (name)

on udate cascade

on delete cascade           //字表中的name跟employees 表的name字段關(guān)聯(lián),并且同步刪除更新,父表中有那個(gè)人,子表中才能夠插入,不然是不行的 

)engine=innodb;

修改表

修改表名

Alter table 舊表名  rename 新表名

實(shí)例:

Alter table stu rename student;  //將stu表改名為student

Alter table student engine=myisam;  //修改student表的存儲(chǔ)引擎為myisam 

增加字段

Alter table 表名

 Add字段名 數(shù)據(jù)類型 [完整性約束條件.....],

Add字段名 數(shù)據(jù)類型 [完整性約束條件.....];

默認(rèn)情況下新增加的字段是放在所有字段后面的

實(shí)例:

Alter table student

Add name varchar(30) not null,

Add age int not null; 

Alter table 表名

Add字段名 數(shù)據(jù)類型 [完整性約束條件.....] first;

實(shí)例:

Add stu_num varchar(30) not null first;

Alter table 表名

Add字段名 數(shù)據(jù)類型 [完整性約束條件.....] after 字段名;

實(shí)例:

Add passord  varchar(30) not null after name; 

刪除字段

Alter table 表名 drop 字段名;

實(shí)例:

Alter table student drop stu_num; 

修改字段

Alter table 表名 modify 字段名 數(shù)據(jù)類型 [完整性約束條件......]; //只能針對(duì)舊有的字段操作只能改名 

Alter table 表名 change 舊字段名 新字段名 舊數(shù)據(jù)類型 [完整性約束條件......];

一般用這個(gè)

實(shí)例:

Alter table student change name stu_name varchar(30);

Alter table 表名 change 舊字段名 新字段名 新數(shù)據(jù)類型 [完整性約束條件......];

實(shí)例:

Alter table student change stu_name name varchar(50) not null;

刪除表

Drop table 表名;

實(shí)例:

Drop table student

 看完操作mysql數(shù)據(jù)庫表的基本方法這篇文章后,很多讀者朋友肯定會(huì)想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI