天天看點

mysql 表的增删改查_MySQL資料表的增删改查

資料庫中的資料是存儲在基本表中的,是以需要先建立資料表再插入資料。

建立表

建立表的同時須指定表名、字段名和資料類型。

文法:

create table (

[,

,

...

]);:表名不可與SQL關鍵字相同,同一個資料庫中的表名不可重複。

:字段名不可與SQL關鍵字相同,同一個表中的字段名不可重複。

示例:建立employee員工資訊表

mysql> create table employee(

-> e_id varchar(5),

-> e_name varchar(5),

-> e_age int,

-> d_id varchar(5));

檢視表

在目前資料庫中可以檢視建立好的資料表。

文法:

show tables [like '表名'];like 子句是可選項,用于比對指定的表名,可以模糊比對,也可以精确比對。

示例1:檢視目前資料庫内的所有表

mysql> show tables;

+----------------+

| Tables_in_test |

+----------------+

| employee |

| emp7 |

+----------------+

示例2:使用like子句檢視以’emp’開頭的表

mysql> show tables like 'emp%';

+------------------------+

| Tables_in_test (emp%) |

+------------------------+

| employee |

| emp7 |

+------------------------+

示例3:檢視employee表的定義聲明

mysql> show create table employee\G;

*************************** 1. row ***************************

Table: employee

Create Table: CREATE TABLE `employee` (

`e_id` varchar(5) DEFAULT NULL,

`e_name` varchar(5) DEFAULT NULL,

`e_age` int(11) DEFAULT NULL,

`d_id` varchar(5) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

使用 SHOW CREATE TABLE 語句不僅可以檢視建立表時的詳細語句,而且可以檢視存儲引擎和字元編碼。如果不加“\G”參數,顯示的結果可能非常混亂,加上“\G”參數之後,可使顯示的結果更加直覺,易于檢視。

建立好資料表之後,可以檢視表結構。

文法:

describe ; 或 desc ;

示例:檢視employee表的結構定義

mysql> desc dep;

+--------+------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+--------+------------+------+-----+---------+-------+

| e_id | varchar(5) | YES | | NULL | |

| e_name | char(5) | YES | | NULL | |

| e_age | int(11) | YES | | NULL | |

| d_id | varchar(5) | YES | | NULL | |

+--------+------------+------+-----+---------+-------+Null:表示該字段是否可以存儲 NULL 值。

Key:表示該字段是否已編制索引。PRI 表示主鍵,UNI 表示 UNIQUE 唯一索引,MUL 表示某個給定值允許出現多次。

Default:表示該字段是否有預設值,如果有,值是什麼。

Extra:表示可以擷取的附加資訊,如 AUTO_INCREMENT 等。

修改表

為實作資料庫中表規範化設計,有時候需要對已經建立的表進行結構修改或調整。

文法:修改表名

alter table rename ;

示例:将employee表名改為emp

mysql> alter table employee rename emp;

文法:添加新字段

alter table add [限制條件] [first|after 參照字段名];限制條件和字段位置可以不指定,預設無限制,在表中最後一列顯示。

示例:在emp表中添加新字段location

mysql> alter table emp add location varchar(5);

文法:修改字段名

alter table change ;

示例:修改字段名location為loc

mysql> alter table emp change location loc varchar(5);

文法:修改字段類型

alter table modify ;

示例:修改loc的字段類型為varchar(10)

mysql> alter table emp modify loc varchar(10);

文法:修改字段的排列位置

alter table modify first|after 參照字段名;

示例:修改字段loc的排列位置

mysql> alter table emp modify loc varchar(10) after d_id;

文法:删除字段

alter table drop ;

示例:删除字段loc

mysql> alter table emp drop loc;

删除表

删除表指删除表結構的同時删除表中資料,是以需謹慎使用。

文法:

drop table [if exists] [,,,...];可删除多張表,if exists避免表不存在時報錯。

示例1:删除emp表

mysql> drop table emp;

示例2:避免表不存在時報錯

mysql> drop table if exists emp;